BlogDocs

Fix str subclass validation for enums(#1273)

Merging
enum_fixes
into
main
0%
IMPROVEMENTS
0
REGRESSIONS
0
UNTOUCHED
155
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

test_build_schema
tests/benchmarks/test_complete_benchmark.py::test_build_schema
0%
3.3 ms
3.3 ms
test_complete_core_error
tests/benchmarks/test_complete_benchmark.py::test_complete_core_error
-1%
8.7 ms
8.8 ms
test_complete_core_isinstance
tests/benchmarks/test_complete_benchmark.py::test_complete_core_isinstance
-1%
8.5 ms
8.5 ms
test_complete_core_json
tests/benchmarks/test_complete_benchmark.py::test_complete_core_json
0%
2 ms
2 ms
test_complete_core_lax
tests/benchmarks/test_complete_benchmark.py::test_complete_core_lax
0%
949.6 µs
950.9 µs
test_complete_core_serializer_to_json
tests/benchmarks/test_complete_benchmark.py::test_complete_core_serializer_to_json
0%
1.2 ms
1.2 ms
test_complete_core_serializer_to_python
tests/benchmarks/test_complete_benchmark.py::test_complete_core_serializer_to_python
0%
1 ms
1 ms
test_complete_core_strict
tests/benchmarks/test_complete_benchmark.py::test_complete_core_strict
0%
909.2 µs
908.5 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future
0%
42.1 µs
42 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future_str
0%
28.8 µs
28.8 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_python
-2%
47.4 µs
48.6 µs
test_core_raw
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_raw
0%
20 µs
19.9 µs
test_core_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_str
0%
28.5 µs
28.4 µs
test_model_core_json
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_model_core_json
0%
57.3 µs
57.6 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future
0%
25.8 µs
25.8 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future_str
0%
24.8 µs
24.8 µs
test_date_from_date
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_date
0%
19.9 µs
19.9 µs
test_date_from_datetime
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime
0%
34.1 µs
34 µs
test_date_from_datetime_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime_str
0%
26.8 µs
26.7 µs
test_date_from_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_str
+1%
25 µs
24.7 µs
test_decimal_from_string_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_core
0%
34.1 µs
34.3 µs
test_decimal_from_string_limit
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_limit
-1%
25.5 µs
25.7 µs
test_decimal_from_string_pyd
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_pyd
-1%
51.4 µs
52.2 µs
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_json_fs
0%
433.2 µs
432.4 µs
test_core_python_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_python_fs
0%
218.5 µs
218.9 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_python
-1%
46.8 µs
47.2 µs
test_core_raw
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_raw
0%
19.7 µs
19.7 µs
test_core_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_str
0%
52.4 µs
52.6 µs
test_model_core_json
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_model_core_json
-1%
78.9 µs
79.4 µs
test_uuid_from_string_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_core
0%
52.4 µs
52.6 µs
test_uuid_from_string_pyd
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_pyd
-2%
88.8 µs
90.3 µs
test_uuid_from_uuid_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_core
0%
19.7 µs
19.7 µs
test_uuid_from_uuid_pyd
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_pyd
0%
20.5 µs
20.5 µs
test_smart_union_coerce_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_coerce_core
+1%
24.1 µs
24 µs
test_smart_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_core
0%
22.1 µs
22.1 µs
test_strict_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_core
0%
23.1 µs
23.2 µs
test_strict_union_error_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_error_core
-1%
53.4 µs
53.8 µs
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_json_fs
0%
538.2 µs
536.7 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_python
0%
452.9 µs
452.4 µs
test_arguments
tests/benchmarks/test_micro_benchmarks.py::test_arguments
0%
41 µs
40.8 µs
test_bool_core
tests/benchmarks/test_micro_benchmarks.py::test_bool_core
0%
47.8 µs
47.7 µs
test_bytes_core
tests/benchmarks/test_micro_benchmarks.py::test_bytes_core
0%
19.3 µs
19.3 µs
test_chain_function
tests/benchmarks/test_micro_benchmarks.py::test_chain_function
0%
37.6 µs
37.5 µs
test_chain_list
tests/benchmarks/test_micro_benchmarks.py::test_chain_list
0%
37.9 µs
37.9 µs
test_chain_nested_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_nested_functions
0%
45.9 µs
46 µs
test_chain_two_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_two_functions
0%
46.2 µs
46.3 µs
test_core_root_model
tests/benchmarks/test_micro_benchmarks.py::test_core_root_model
0%
78.4 µs
78.4 µs
test_core_string_lax
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax
0%
19.4 µs
19.4 µs
test_core_string_lax_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax_wrong
-1%
40.2 µs
40.5 µs
test_core_string_strict
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict
0%
19.3 µs
19.3 µs
test_core_string_strict_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong
-1%
39.8 µs
40.1 µs
test_core_string_strict_wrong_str_e
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong_str_e
-1%
70 µs
70.6 µs
test_definition_in_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_in_tree
0%
3.8 ms
3.8 ms
test_definition_model_core
tests/benchmarks/test_micro_benchmarks.py::test_definition_model_core
0%
5.2 ms
5.1 ms
test_definition_out_of_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_out_of_tree
0%
5.2 ms
5.2 ms
test_dict_of_any_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_any_core
0%
3.4 ms
3.4 ms
test_dict_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core
0%
4.9 ms
4.9 ms
test_dict_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core_json
-4%
7 ms
7.3 ms
test_dont_raise_error
tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error
0%
30.2 µs
30.2 µs
test_dont_raise_error_no_info
tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error_no_info
0%
27.1 µs
27.2 µs
test_enum_int_core
tests/benchmarks/test_micro_benchmarks.py::test_enum_int_core
0%
21.7 µs
21.8 µs
test_enum_int_python
tests/benchmarks/test_micro_benchmarks.py::test_enum_int_python
0%
39.1 µs
39.2 µs
test_enum_str_core
tests/benchmarks/test_micro_benchmarks.py::test_enum_str_core
0%
21 µs
21 µs
test_enum_str_python
tests/benchmarks/test_micro_benchmarks.py::test_enum_str_python
-1%
38.6 µs
38.8 µs
test_field_function_validator
tests/benchmarks/test_micro_benchmarks.py::test_field_function_validator
0%
1.6 ms
1.6 ms
test_frozenset_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_core
0%
1.1 ms
1.1 ms
test_frozenset_of_ints_duplicates_core
tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_duplicates_core
0%
707.3 µs
707.4 µs
test_generator_python
tests/benchmarks/test_micro_benchmarks.py::test_generator_python
0%
41.9 µs
41.9 µs
test_generator_rust
tests/benchmarks/test_micro_benchmarks.py::test_generator_rust
0%
28.9 µs
28.9 µs
test_int_error
tests/benchmarks/test_micro_benchmarks.py::test_int_error
0%
72.7 µs
72.9 µs
test_int_range
tests/benchmarks/test_micro_benchmarks.py::test_int_range
-1%
20.6 µs
20.7 µs
test_int_range_json
tests/benchmarks/test_micro_benchmarks.py::test_int_range_json
+1%
22.3 µs
22.1 µs
test_isinstance_json
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_json
-1%
25.8 µs
26.1 µs
test_isinstance_string_lax_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_false
0%
21.6 µs
21.6 µs
test_isinstance_string_lax_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_true
-1%
19.5 µs
19.7 µs
test_isinstance_string_strict_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_false
0%
21.2 µs
21.2 µs
test_isinstance_string_strict_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_true
0%
19.6 µs
19.6 µs
test_list_of_any_core_py
tests/benchmarks/test_micro_benchmarks.py::test_list_of_any_core_py
0%
180.5 µs
180.6 µs
test_list_of_dict_models_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_dict_models_core
-1%
498 µs
503.7 µs
test_list_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_json
-1%
4 ms
4 ms
test_list_of_ints_core_py
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_py
-1%
2.2 ms
2.2 ms
test_list_of_nullable_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_nullable_core
0%
389.7 µs
389.8 µs
test_list_of_strs_json_cached
tests/benchmarks/test_micro_benchmarks.py::test_list_of_strs_json_cached
0%
1.3 ms
1.2 ms
test_list_of_strs_json_uncached
tests/benchmarks/test_micro_benchmarks.py::test_list_of_strs_json_uncached
0%
2.2 ms
2.2 ms
test_list_of_strs_py_cached
tests/benchmarks/test_micro_benchmarks.py::test_list_of_strs_py_cached
0%
415.8 µs
415.6 µs
test_many_models_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_dict
0%
5.2 ms
5.2 ms
test_many_models_core_model
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_model
0%
15.9 ms
15.9 ms
test_model_instance
tests/benchmarks/test_micro_benchmarks.py::test_model_instance
-1%
53.1 µs
53.5 µs
test_model_instance_abc
tests/benchmarks/test_micro_benchmarks.py::test_model_instance_abc
+1%
54.3 µs
53.7 µs
test_positional_tuple
tests/benchmarks/test_micro_benchmarks.py::test_positional_tuple
-1%
28.4 µs
28.7 µs
test_raise_error_custom
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_custom
0%
65 µs
65.2 µs
test_raise_error_value_error
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_value_error
-1%
61.6 µs
61.9 µs
test_set_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core
0%
3.2 ms
3.2 ms
test_set_of_ints_core_duplicates
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_duplicates
0%
1.7 ms
1.7 ms
test_set_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json
0%
4.6 ms
4.6 ms
test_set_of_ints_core_json_duplicates
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json_duplicates
0%
2.5 ms
2.5 ms
test_set_of_ints_core_length
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_length
0%
3.3 ms
3.3 ms
test_small_class_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_dict
-1%
28.4 µs
28.6 µs
test_small_class_core_model
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_model
0%
48.9 µs
48.8 µs
test_strict_int
tests/benchmarks/test_micro_benchmarks.py::test_strict_int
0%
19.3 µs
19.3 µs
test_strict_int_fails
tests/benchmarks/test_micro_benchmarks.py::test_strict_int_fails
-1%
39.7 µs
40.1 µs
test_tagged_union_int_keys_json
tests/benchmarks/test_micro_benchmarks.py::test_tagged_union_int_keys_json
0%
39.6 µs
39.6 µs
test_tagged_union_int_keys_python
tests/benchmarks/test_micro_benchmarks.py::test_tagged_union_int_keys_python
-1%
31.2 µs
31.5 µs
test_tuple_many_positional
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_positional
0%
29.7 µs
29.9 µs
test_tuple_many_variable
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_variable
0%
29.7 µs
29.8 µs
test_validate_literal[json-few_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_ints]
+1%
21.9 µs
21.8 µs
test_validate_literal[json-few_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_large_strings]
0%
23.1 µs
23.1 µs
test_validate_literal[json-few_mixed]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_mixed]
0%
26.5 µs
26.6 µs
test_validate_literal[json-few_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_small_strings]
0%
22.3 µs
22.4 µs
test_validate_literal[json-few_str_enum]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_str_enum]
0%
27.8 µs
27.8 µs
test_validate_literal[json-many_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_ints]
0%
21.8 µs
21.8 µs
test_validate_literal[json-many_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_large_strings]
0%
23.1 µs
23.1 µs
test_validate_literal[json-many_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_small_strings]
+1%
22.5 µs
22.4 µs
test_validate_literal[python-few_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_ints]
0%
20.4 µs
20.5 µs
test_validate_literal[python-few_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_large_strings]
0%
20.8 µs
20.8 µs
test_validate_literal[python-few_mixed]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_mixed]
0%
23.9 µs
24 µs
test_validate_literal[python-few_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_small_strings]
0%
20.7 µs
20.6 µs
test_validate_literal[python-few_str_enum]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_str_enum]
0%
21.4 µs
21.4 µs
test_validate_literal[python-many_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_ints]
0%
20.4 µs
20.5 µs
test_validate_literal[python-many_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_large_strings]
-1%
20.8 µs
20.9 µs
test_validate_literal[python-many_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_small_strings]
0%
20.6 µs
20.7 µs
test_variable_tuple
tests/benchmarks/test_micro_benchmarks.py::test_variable_tuple
0%
28.4 µs
28.5 µs
test_with_default
tests/benchmarks/test_micro_benchmarks.py::test_with_default
-1%
37 µs
37.3 µs
test_nested_schema_inlined
tests/benchmarks/test_nested_benchmark.py::test_nested_schema_inlined
0%
97.6 ms
97.6 ms
test_nested_schema_using_defs
tests/benchmarks/test_nested_benchmark.py::test_nested_schema_using_defs
0%
104 ms
103.9 ms
test_core_dict
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict
0%
261.5 µs
261.4 µs
test_core_dict_filter
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict_filter
0%
268 µs
268 µs
test_core_json
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_json
0%
306.4 µs
306.8 µs
test_core_model_json
tests/benchmarks/test_serialization_micro.py::test_core_model_json
-1%
45.1 µs
45.4 µs
test_core_model_json_extra
tests/benchmarks/test_serialization_micro.py::test_core_model_json_extra
0%
53.5 µs
53.7 µs
test_core_model_py
tests/benchmarks/test_serialization_micro.py::test_core_model_py
-1%
49.8 µs
50.3 µs
test_core_model_py_extra
tests/benchmarks/test_serialization_micro.py::test_core_model_py_extra
0%
56.5 µs
56.7 µs
test_dataclass_serialization_json
tests/benchmarks/test_serialization_micro.py::test_dataclass_serialization_json
0%
40.4 µs
40.4 µs
test_dataclass_serialization_python
tests/benchmarks/test_serialization_micro.py::test_dataclass_serialization_python
-1%
38.7 µs
38.9 µs
test_dataclass_to_json
tests/benchmarks/test_serialization_micro.py::test_dataclass_to_json
0%
70.9 µs
70.8 µs
test_date_format
tests/benchmarks/test_serialization_micro.py::test_date_format
0%
98.8 µs
99.3 µs
test_date_format_function
tests/benchmarks/test_serialization_micro.py::test_date_format_function
0%
99.4 µs
99.4 µs
test_date_format_function_no_info
tests/benchmarks/test_serialization_micro.py::test_date_format_function_no_info
-1%
96.9 µs
98.1 µs
test_datetime
tests/benchmarks/test_serialization_micro.py::test_datetime
+3%
45.3 µs
44.2 µs
test_filter
tests/benchmarks/test_serialization_micro.py::test_filter
-3%
107 µs
110.2 µs
test_json_any_list_int
tests/benchmarks/test_serialization_micro.py::test_json_any_list_int
0%
921.3 µs
921.5 µs
test_json_any_list_str
tests/benchmarks/test_serialization_micro.py::test_json_any_list_str
0%
1.1 ms
1.1 ms
test_json_direct_list_int
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_int
0%
564.1 µs
563.9 µs
test_json_direct_list_str
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_str
0%
654.3 µs
653.9 µs
test_model_exclude_unset_false
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_false
-1%
53 µs
53.5 µs
test_model_exclude_unset_true
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_true
-1%
63.5 µs
64.1 µs
test_model_list_core_json
tests/benchmarks/test_serialization_micro.py::test_model_list_core_json
0%
644.9 µs
645.2 µs
test_python_json_list_int
tests/benchmarks/test_serialization_micro.py::test_python_json_list_int
0%
616.8 µs
617 µs
test_python_json_list_none
tests/benchmarks/test_serialization_micro.py::test_python_json_list_none
0%
583.3 µs
583.4 µs
test_python_json_list_str
tests/benchmarks/test_serialization_micro.py::test_python_json_list_str
0%
629.5 µs
629.6 µs
test_ser_list_of_lists
tests/benchmarks/test_serialization_micro.py::test_ser_list_of_lists
0%
6.1 ms
6.1 ms
test_to_json_list_of_lists
tests/benchmarks/test_serialization_micro.py::test_to_json_list_of_lists
0%
9.1 ms
9.1 ms
test_to_string_direct
tests/benchmarks/test_serialization_micro.py::test_to_string_direct
+4%
28.7 µs
27.5 µs
test_to_string_format
tests/benchmarks/test_serialization_micro.py::test_to_string_format
0%
36.3 µs
36.2 µs
test_uuid
tests/benchmarks/test_serialization_micro.py::test_uuid
-1%
59.8 µs
60.3 µs

Commits

Click on a commit to change the comparison range
base
main
4adf47f
0%
fix for str subclass validation
bcbcf0e
a month ago by sydney-runkle
0%
adding test
3e5b2f4
a month ago by sydney-runkle
0%
Fix constructor Co-authored-by: David Hewitt <david.hewitt@pydantic.dev>
98327b2
a month ago by sydney-runkle
0%
syntax fix
0d7f714
a month ago by sydney-runkle
ResourcesHomePricingDocsBlogGitHub
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.