BlogDocs

Make validating assignment work properly with allowed extra(#766)

Merged
Comparing
validate-assignment-extra
(
d39c591
) with
main
(
f5b804b
)
0%
IMPROVEMENTS
0
REGRESSIONS
0
UNTOUCHED
126
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Passed

test_date_from_datetime
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime
+7%
22.4 µs
21 µs
test_core_model_json
tests/benchmarks/test_serialization_micro.py::test_core_model_json
+3%
24.8 µs
24.1 µs
test_validate_literal[python-few_mixed]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_mixed]
+3%
15.9 µs
15.4 µs
test_strict_union_error_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_error_core
+3%
28 µs
27.2 µs
test_validate_literal[json-few_str_enum]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_str_enum]
+3%
19.5 µs
19 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future_str
+2%
16.1 µs
15.7 µs
test_json_direct_list_str
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_str
+2%
187.6 µs
183.5 µs
test_model_exclude_unset_false
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_false
+2%
28.8 µs
28.1 µs
test_core_model_json_extra
tests/benchmarks/test_serialization_micro.py::test_core_model_json_extra
+2%
29.3 µs
28.7 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future
+2%
17.7 µs
17.3 µs
test_validate_literal[json-few_mixed]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_mixed]
+2%
17.6 µs
17.3 µs
test_positional_tuple
tests/benchmarks/test_micro_benchmarks.py::test_positional_tuple
+2%
18.4 µs
18.1 µs
test_isinstance_json
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_json
+2%
19.3 µs
19 µs
test_json_any_list_str
tests/benchmarks/test_serialization_micro.py::test_json_any_list_str
+2%
281 µs
276.7 µs
test_variable_tuple
tests/benchmarks/test_micro_benchmarks.py::test_variable_tuple
+1%
18.1 µs
17.9 µs
test_date_from_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_str
+1%
16.1 µs
15.9 µs
test_datetime
tests/benchmarks/test_serialization_micro.py::test_datetime
+1%
28.3 µs
27.9 µs
test_tuple_many_positional
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_positional
+1%
19.7 µs
19.4 µs
test_int_range_json
tests/benchmarks/test_micro_benchmarks.py::test_int_range_json
+1%
13.6 µs
13.4 µs
test_tuple_many_variable
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_variable
+1%
18.2 µs
18 µs
test_to_string_format
tests/benchmarks/test_serialization_micro.py::test_to_string_format
+1%
23.1 µs
22.8 µs
test_chain_nested_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_nested_functions
+1%
29.5 µs
29.1 µs
test_int_error
tests/benchmarks/test_micro_benchmarks.py::test_int_error
+1%
41.4 µs
40.9 µs
test_generator_python
tests/benchmarks/test_micro_benchmarks.py::test_generator_python
+1%
28.9 µs
28.6 µs
test_generator_rust
tests/benchmarks/test_micro_benchmarks.py::test_generator_rust
+1%
19.5 µs
19.3 µs
test_validate_literal[json-few_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_large_strings]
+1%
14.1 µs
13.9 µs
test_validate_literal[json-many_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_large_strings]
+1%
14.1 µs
13.9 µs
test_model_instance_abc
tests/benchmarks/test_micro_benchmarks.py::test_model_instance_abc
+1%
33.6 µs
33.3 µs
test_validate_literal[python-few_str_enum]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_str_enum]
+1%
15.2 µs
15.1 µs
test_with_default
tests/benchmarks/test_micro_benchmarks.py::test_with_default
+1%
22.3 µs
22.2 µs
test_chain_two_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_two_functions
+1%
29.5 µs
29.2 µs
test_core_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_str
+1%
18.3 µs
18.2 µs
test_core_raw
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_raw
+1%
11.1 µs
11 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_python
+1%
133.5 µs
132.6 µs
test_python_json_list_int
tests/benchmarks/test_serialization_micro.py::test_python_json_list_int
+1%
146.9 µs
145.9 µs
test_list_of_dict_models_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_dict_models_core
+1%
123.5 µs
122.7 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future
+1%
25.9 µs
25.8 µs
test_chain_list
tests/benchmarks/test_micro_benchmarks.py::test_chain_list
+1%
25.7 µs
25.5 µs
test_validate_literal[json-many_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_small_strings]
+1%
13.7 µs
13.6 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future_str
+1%
18.6 µs
18.5 µs
test_tagged_union_int_keys_json
tests/benchmarks/test_micro_benchmarks.py::test_tagged_union_int_keys_json
+1%
27.9 µs
27.7 µs
test_arguments
tests/benchmarks/test_micro_benchmarks.py::test_arguments
+1%
23.4 µs
23.3 µs
test_core_root_model
tests/benchmarks/test_micro_benchmarks.py::test_core_root_model
+1%
41.3 µs
41.1 µs
test_date_format_function
tests/benchmarks/test_serialization_micro.py::test_date_format_function
+1%
50.9 µs
50.6 µs
test_core_model_py
tests/benchmarks/test_serialization_micro.py::test_core_model_py
0%
26.1 µs
26 µs
test_core_json
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_json
0%
93.6 µs
93.2 µs
test_chain_function
tests/benchmarks/test_micro_benchmarks.py::test_chain_function
0%
25.1 µs
25 µs
test_complete_core_json
tests/benchmarks/test_complete_benchmark.py::test_complete_core_json
0%
826.3 µs
823.1 µs
test_complete_core_error
tests/benchmarks/test_complete_benchmark.py::test_complete_core_error
0%
1.7 ms
1.7 ms
test_filter
tests/benchmarks/test_serialization_micro.py::test_filter
0%
43.3 µs
43.1 µs
test_complete_core_isinstance
tests/benchmarks/test_complete_benchmark.py::test_complete_core_isinstance
0%
1.7 ms
1.7 ms
test_set_of_ints_core_json_duplicates
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json_duplicates
0%
1.2 ms
1.1 ms
test_bytes_core
tests/benchmarks/test_micro_benchmarks.py::test_bytes_core
0%
10.7 µs
10.7 µs
test_model_instance
tests/benchmarks/test_micro_benchmarks.py::test_model_instance
0%
29.9 µs
29.8 µs
test_raise_error_value_error
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_value_error
0%
34 µs
33.9 µs
test_validate_literal[json-few_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_small_strings]
0%
13.7 µs
13.7 µs
test_model_core_json
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_model_core_json
0%
33.9 µs
33.9 µs
test_python_json_list_str
tests/benchmarks/test_serialization_micro.py::test_python_json_list_str
0%
151.1 µs
150.8 µs
test_frozenset_of_ints_duplicates_core
tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_duplicates_core
0%
158.3 µs
158.1 µs
test_list_of_nullable_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_nullable_core
0%
124.3 µs
124.2 µs
test_python_json_list_none
tests/benchmarks/test_serialization_micro.py::test_python_json_list_none
0%
119.6 µs
119.4 µs
test_set_of_ints_core_duplicates
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_duplicates
0%
327.7 µs
327.6 µs
test_frozenset_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_core
0%
257.5 µs
257.4 µs
test_complete_core_strict
tests/benchmarks/test_complete_benchmark.py::test_complete_core_strict
0%
345.9 µs
345.9 µs
test_date_from_date
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_date
0%
11.1 µs
11.1 µs
test_definition_in_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_in_tree
0%
831.3 µs
831.4 µs
test_definition_out_of_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_out_of_tree
0%
1.3 ms
1.3 ms
test_list_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_json
0%
1.4 ms
1.4 ms
test_to_string_direct
tests/benchmarks/test_serialization_micro.py::test_to_string_direct
0%
18.2 µs
18.3 µs
test_core_model_py_extra
tests/benchmarks/test_serialization_micro.py::test_core_model_py_extra
0%
30.3 µs
30.3 µs
test_set_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json
0%
1.5 ms
1.5 ms
test_build_schema
tests/benchmarks/test_complete_benchmark.py::test_build_schema
0%
797.2 µs
797.7 µs
test_many_models_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_dict
0%
1.1 ms
1.1 ms
test_field_function_validator
tests/benchmarks/test_micro_benchmarks.py::test_field_function_validator
0%
473.8 µs
474.3 µs
test_json_any_list_int
tests/benchmarks/test_serialization_micro.py::test_json_any_list_int
0%
264.4 µs
264.7 µs
test_dict_of_any_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_any_core
0%
731.7 µs
732.7 µs
test_date_from_datetime_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime_str
0%
18.3 µs
18.3 µs
test_date_format_function_no_info
tests/benchmarks/test_serialization_micro.py::test_date_format_function_no_info
0%
49.4 µs
49.5 µs
test_model_list_core_json
tests/benchmarks/test_serialization_micro.py::test_model_list_core_json
0%
182.9 µs
183.3 µs
test_validate_literal[json-many_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_ints]
0%
13.4 µs
13.5 µs
test_dict_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core
0%
992.5 µs
994.7 µs
test_set_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core
0%
685.4 µs
686.9 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_python
0%
26.5 µs
26.6 µs
test_core_string_lax
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax
0%
10.7 µs
10.7 µs
test_core_dict
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict
0%
72.3 µs
72.5 µs
test_core_python_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_python_fs
0%
90.1 µs
90.3 µs
test_dict_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core_json
0%
3 ms
3 ms
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_json_fs
0%
261 µs
261.9 µs
test_set_of_ints_core_length
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_length
0%
697.5 µs
699.9 µs
test_many_models_core_model
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_model
0%
2.5 ms
2.5 ms
test_raise_error_custom
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_custom
0%
34.7 µs
34.9 µs
test_complete_core_lax
tests/benchmarks/test_complete_benchmark.py::test_complete_core_lax
0%
337.4 µs
338.8 µs
test_core_dict_filter
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict_filter
0%
77.4 µs
77.8 µs
test_validate_literal[json-few_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_ints]
0%
13.4 µs
13.5 µs
test_definition_model_core
tests/benchmarks/test_micro_benchmarks.py::test_definition_model_core
0%
1.3 ms
1.3 ms
test_int_range
tests/benchmarks/test_micro_benchmarks.py::test_int_range
0%
11.8 µs
11.9 µs
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_json_fs
-1%
229.6 µs
230.8 µs
test_strict_int
tests/benchmarks/test_micro_benchmarks.py::test_strict_int
-1%
10.9 µs
11 µs
test_isinstance_string_lax_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_true
-1%
10.9 µs
10.9 µs
test_isinstance_string_strict_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_true
-1%
10.8 µs
10.9 µs
test_bool_core
tests/benchmarks/test_micro_benchmarks.py::test_bool_core
-1%
20.8 µs
20.9 µs
test_json_direct_list_int
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_int
-1%
169.8 µs
170.8 µs
test_dont_raise_error
tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error
-1%
17.1 µs
17.2 µs
test_tagged_union_int_keys_python
tests/benchmarks/test_micro_benchmarks.py::test_tagged_union_int_keys_python
-1%
20 µs
20.1 µs
test_isinstance_string_lax_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_false
-1%
12.1 µs
12.2 µs
test_dont_raise_error_no_info
tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error_no_info
-1%
15.7 µs
15.8 µs
test_core_string_strict
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict
-1%
10.7 µs
10.8 µs
test_strict_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_core
-1%
14.1 µs
14.2 µs
test_date_format
tests/benchmarks/test_serialization_micro.py::test_date_format
-1%
47.7 µs
48.1 µs
test_validate_literal[python-many_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_large_strings]
-1%
11.7 µs
11.9 µs
test_core_string_strict_wrong_str_e
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong_str_e
-1%
41.8 µs
42.2 µs
test_isinstance_string_strict_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_false
-1%
11.7 µs
11.8 µs
test_validate_literal[python-many_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_ints]
-1%
11.6 µs
11.8 µs
test_list_of_ints_core_py
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_py
-1%
476.6 µs
482.3 µs
test_model_exclude_unset_true
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_true
-1%
34.8 µs
35.3 µs
test_validate_literal[python-few_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_large_strings]
-1%
11.7 µs
11.9 µs
test_validate_literal[python-many_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_small_strings]
-1%
11.6 µs
11.7 µs
test_validate_literal[python-few_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_ints]
-1%
11.6 µs
11.7 µs
test_smart_union_coerce_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_coerce_core
-1%
13.8 µs
14.1 µs
test_validate_literal[python-few_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_small_strings]
-2%
11.5 µs
11.7 µs
test_smart_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_core
-2%
12.4 µs
12.6 µs
test_small_class_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_dict
-2%
18.1 µs
18.5 µs
test_core_string_lax_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax_wrong
-3%
25.1 µs
26 µs
test_core_string_strict_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong
-3%
25.1 µs
25.9 µs
test_list_of_any_core_py
tests/benchmarks/test_micro_benchmarks.py::test_list_of_any_core_py
-4%
95.8 µs
99.6 µs
test_small_class_core_model
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_model
-5%
29.4 µs
30.9 µs

Commits

Click on a commit to change the comparison range
base
main
f5b804b
0%
Make validating assignment work properly with allowed extra
85589a4
1 year ago
by dmontagu
0%
Merge main
d39c591
1 year ago
by dmontagu
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.