Avatar for the pydantic user
pydantic
pydantic-core
BlogDocsChangelog

Flatten schemas and replace macros with plain code

#450Merged
Comparing
flatten-val-build
(
5c0d11b
) with
main
(
cc79b05
)
CodSpeed Performance Gauge
0%
Improvements
0
Regressions
0
Untouched
93
New
0
Dropped
0
Ignored
0

Benchmarks

Passed

test_positional_tuple
tests/benchmarks/test_micro_benchmarks.py::test_positional_tuple
CodSpeed Performance Gauge
+3%
23.9 µs
23.3 µs
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_json_fs
CodSpeed Performance Gauge
+2%
189.1 µs
185.4 µs
test_strict_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_core
CodSpeed Performance Gauge
+2%
15.2 µs
15 µs
test_core_raw
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_raw
CodSpeed Performance Gauge
+2%
11.6 µs
11.4 µs
test_date_from_date
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_date
CodSpeed Performance Gauge
+2%
11.6 µs
11.5 µs
test_bool_core
tests/benchmarks/test_micro_benchmarks.py::test_bool_core
CodSpeed Performance Gauge
+1%
23.1 µs
22.8 µs
test_date_format
tests/benchmarks/test_serialization_micro.py::test_date_format
CodSpeed Performance Gauge
+1%
49.2 µs
48.6 µs
test_many_models_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_dict
CodSpeed Performance Gauge
+1%
1.2 ms
1.2 ms
test_list_of_any_core_py
tests/benchmarks/test_micro_benchmarks.py::test_list_of_any_core_py
CodSpeed Performance Gauge
+1%
16.4 µs
16.2 µs
test_smart_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_core
CodSpeed Performance Gauge
+1%
14.1 µs
14 µs
test_core_string_strict
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict
CodSpeed Performance Gauge
+1%
11.3 µs
11.2 µs
test_isinstance_string_lax_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_true
CodSpeed Performance Gauge
+1%
11.4 µs
11.3 µs
test_isinstance_string_strict_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_true
CodSpeed Performance Gauge
+1%
11.4 µs
11.3 µs
test_date_from_datetime
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime
CodSpeed Performance Gauge
+1%
20.4 µs
20.2 µs
test_chain_nested_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_nested_functions
CodSpeed Performance Gauge
+1%
26.3 µs
26.1 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future
CodSpeed Performance Gauge
+1%
25 µs
24.8 µs
test_isinstance_string_strict_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_false
CodSpeed Performance Gauge
+1%
12 µs
11.9 µs
test_complete_core_lax
tests/benchmarks/test_complete_benchmark.py::test_complete_core_lax
CodSpeed Performance Gauge
+1%
352.9 µs
350.4 µs
test_smart_union_coerce_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_coerce_core
CodSpeed Performance Gauge
+1%
14.8 µs
14.7 µs
test_bytes_core
tests/benchmarks/test_micro_benchmarks.py::test_bytes_core
CodSpeed Performance Gauge
+1%
11.3 µs
11.2 µs
test_core_python_not_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_python_not_fs
CodSpeed Performance Gauge
0%
100.2 µs
99.8 µs
test_date_from_datetime_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime_str
CodSpeed Performance Gauge
0%
16.4 µs
16.3 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_python
CodSpeed Performance Gauge
0%
24.4 µs
24.3 µs
test_dont_raise_error
tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error
CodSpeed Performance Gauge
0%
17.4 µs
17.4 µs
test_chain_two_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_two_functions
CodSpeed Performance Gauge
0%
27.7 µs
27.6 µs
test_with_default
tests/benchmarks/test_micro_benchmarks.py::test_with_default
CodSpeed Performance Gauge
0%
21.1 µs
21.1 µs
test_model_list_core_json
tests/benchmarks/test_serialization_micro.py::test_model_list_core_json
CodSpeed Performance Gauge
0%
206.2 µs
205.7 µs
test_core_string_lax
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax
CodSpeed Performance Gauge
0%
11.3 µs
11.2 µs
test_chain_function
tests/benchmarks/test_micro_benchmarks.py::test_chain_function
CodSpeed Performance Gauge
0%
22.8 µs
22.7 µs
test_strict_union_error_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_error_core
CodSpeed Performance Gauge
0%
35.7 µs
35.7 µs
test_isinstance_string_lax_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_false
CodSpeed Performance Gauge
0%
12.2 µs
12.1 µs
test_list_of_dict_models_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_dict_models_core
CodSpeed Performance Gauge
0%
126 µs
125.8 µs
test_python_json_list_str
tests/benchmarks/test_serialization_micro.py::test_python_json_list_str
CodSpeed Performance Gauge
0%
169.4 µs
169.1 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_python
CodSpeed Performance Gauge
0%
142.6 µs
142.4 µs
test_tuple_many_positional
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_positional
CodSpeed Performance Gauge
0%
18.4 µs
18.4 µs
test_date_format_function
tests/benchmarks/test_serialization_micro.py::test_date_format_function
CodSpeed Performance Gauge
0%
50.2 µs
50.1 µs
test_chain_list
tests/benchmarks/test_micro_benchmarks.py::test_chain_list
CodSpeed Performance Gauge
0%
24.4 µs
24.3 µs
test_core_json_not_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_json_not_fs
CodSpeed Performance Gauge
0%
221.2 µs
221 µs
test_generator_python
tests/benchmarks/test_micro_benchmarks.py::test_generator_python
CodSpeed Performance Gauge
0%
26.8 µs
26.7 µs
test_list_of_ints_core_py
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_py
CodSpeed Performance Gauge
0%
1.6 ms
1.6 ms
test_small_class_core_model
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_model
CodSpeed Performance Gauge
0%
26.7 µs
26.7 µs
test_json_direct_list_int
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_int
CodSpeed Performance Gauge
0%
191.2 µs
191.1 µs
test_core_dict
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict
CodSpeed Performance Gauge
0%
80 µs
79.9 µs
test_dict_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core
CodSpeed Performance Gauge
0%
2.3 ms
2.3 ms
test_generator_rust
tests/benchmarks/test_micro_benchmarks.py::test_generator_rust
CodSpeed Performance Gauge
0%
17.7 µs
17.7 µs
test_json_any_list_int
tests/benchmarks/test_serialization_micro.py::test_json_any_list_int
CodSpeed Performance Gauge
0%
313.1 µs
313 µs
test_dict_of_any_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_any_core
CodSpeed Performance Gauge
0%
843.6 µs
843.4 µs
test_definition_in_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_in_tree
CodSpeed Performance Gauge
0%
5.1 ms
5.1 ms
test_date_from_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_str
CodSpeed Performance Gauge
0%
14.7 µs
14.7 µs
test_definition_out_of_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_out_of_tree
CodSpeed Performance Gauge
0%
5.1 ms
5.1 ms
test_core_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_str
CodSpeed Performance Gauge
0%
17.4 µs
17.4 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future
CodSpeed Performance Gauge
0%
16.5 µs
16.5 µs
test_list_of_nullable_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_nullable_core
CodSpeed Performance Gauge
0%
200.8 µs
200.8 µs
test_python_json_list_none
tests/benchmarks/test_serialization_micro.py::test_python_json_list_none
CodSpeed Performance Gauge
0%
137.8 µs
137.8 µs
test_many_models_core_model
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_model
CodSpeed Performance Gauge
0%
2.5 ms
2.5 ms
test_core_string_strict_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong
CodSpeed Performance Gauge
0%
31.5 µs
31.5 µs
test_core_python_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_python_fs
CodSpeed Performance Gauge
0%
104.4 µs
104.5 µs
test_json_any_list_str
tests/benchmarks/test_serialization_micro.py::test_json_any_list_str
CodSpeed Performance Gauge
0%
336.2 µs
336.6 µs
test_json_direct_list_str
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_str
CodSpeed Performance Gauge
0%
210.8 µs
211.1 µs
test_raise_error_custom
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_custom
CodSpeed Performance Gauge
0%
40.2 µs
40.3 µs
test_small_class_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_dict
CodSpeed Performance Gauge
0%
17.6 µs
17.6 µs
test_tuple_many_variable
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_variable
CodSpeed Performance Gauge
0%
18.2 µs
18.2 µs
test_complete_core_error
tests/benchmarks/test_complete_benchmark.py::test_complete_core_error
CodSpeed Performance Gauge
0%
2.3 ms
2.3 ms
test_frozenset_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_core
CodSpeed Performance Gauge
0%
408.3 µs
409.3 µs
test_dict_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core_json
CodSpeed Performance Gauge
0%
3.2 ms
3.2 ms
test_definition_model_core
tests/benchmarks/test_micro_benchmarks.py::test_definition_model_core
CodSpeed Performance Gauge
0%
377.9 µs
378.9 µs
test_python_json_list_int
tests/benchmarks/test_serialization_micro.py::test_python_json_list_int
CodSpeed Performance Gauge
0%
163.7 µs
164.2 µs
test_set_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core
CodSpeed Performance Gauge
0%
1.9 ms
1.9 ms
test_variable_tuple
tests/benchmarks/test_micro_benchmarks.py::test_variable_tuple
CodSpeed Performance Gauge
0%
23.6 µs
23.7 µs
test_core_dict_filter
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict_filter
CodSpeed Performance Gauge
0%
85.4 µs
85.7 µs
test_complete_core_isinstance
tests/benchmarks/test_complete_benchmark.py::test_complete_core_isinstance
CodSpeed Performance Gauge
0%
1.7 ms
1.7 ms
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_json_fs
CodSpeed Performance Gauge
0%
223.3 µs
224.2 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future_str
CodSpeed Performance Gauge
0%
17.8 µs
17.9 µs
test_raise_error_value_error
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_value_error
CodSpeed Performance Gauge
-1%
39.5 µs
39.7 µs
test_list_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_json
CodSpeed Performance Gauge
-1%
1 ms
1 ms
test_model_exclude_unset_false
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_false
CodSpeed Performance Gauge
-1%
27.8 µs
27.9 µs
test_set_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json
CodSpeed Performance Gauge
-1%
1.2 ms
1.2 ms
test_int_error
tests/benchmarks/test_micro_benchmarks.py::test_int_error
CodSpeed Performance Gauge
-1%
47.2 µs
47.5 µs
test_arguments
tests/benchmarks/test_micro_benchmarks.py::test_arguments
CodSpeed Performance Gauge
-1%
23.8 µs
23.9 µs
test_core_string_lax_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax_wrong
CodSpeed Performance Gauge
-1%
31.6 µs
31.8 µs
test_isinstance_json
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_json
CodSpeed Performance Gauge
-1%
20 µs
20.2 µs
test_to_string_format
tests/benchmarks/test_serialization_micro.py::test_to_string_format
CodSpeed Performance Gauge
-1%
22.4 µs
22.6 µs
test_datetime
tests/benchmarks/test_serialization_micro.py::test_datetime
CodSpeed Performance Gauge
-1%
26.9 µs
27.1 µs
test_model_exclude_unset_true
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_true
CodSpeed Performance Gauge
-1%
34.6 µs
34.9 µs
test_core_model_py
tests/benchmarks/test_serialization_micro.py::test_core_model_py
CodSpeed Performance Gauge
-1%
25.1 µs
25.3 µs
test_complete_core_strict
tests/benchmarks/test_complete_benchmark.py::test_complete_core_strict
CodSpeed Performance Gauge
-1%
384.2 µs
387.8 µs
test_core_model_json
tests/benchmarks/test_serialization_micro.py::test_core_model_json
CodSpeed Performance Gauge
-1%
24.2 µs
24.4 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future_str
CodSpeed Performance Gauge
-1%
15 µs
15.1 µs
test_core_json
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_json
CodSpeed Performance Gauge
-1%
101.3 µs
102.3 µs
test_to_string_direct
tests/benchmarks/test_serialization_micro.py::test_to_string_direct
CodSpeed Performance Gauge
-1%
17.8 µs
18 µs
test_model_core_json
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_model_core_json
CodSpeed Performance Gauge
-1%
31.7 µs
32 µs
test_complete_core_json
tests/benchmarks/test_complete_benchmark.py::test_complete_core_json
CodSpeed Performance Gauge
-1%
699.3 µs
707.7 µs
test_build_schema
tests/benchmarks/test_complete_benchmark.py::test_build_schema
CodSpeed Performance Gauge
-11%
820.7 µs
925.7 µs

Commits

Click on a commit to change the comparison range
Base
main
cc79b05
0%
fix merge
afc4bad
2 years ago
by adriangb
0%
rename Extra.field to Extra.field_we_are_currently_assigning_to
1b2c0c5
2 years ago
by adriangb
0%
Add expl comments
20837c2
2 years ago
by adriangb
0%
Revert change to Cargo.lock
7a6b375
2 years ago
by adriangb
0%
Update src/validators/mod.rs Co-authored-by: Samuel Colvin <s@muelcolvin.com>
ae7db1b
2 years ago
by adriangb
0%
Flatten CoreSchema types to get a single discriminant key
362d62d
2 years ago
by adriangb
0%
Flatten CoreSchema types to get a single discriminant key
894e90c
2 years ago
by adriangb
0%
Flatten CoreSchema types to get a single discriminant key
5c0d11b
2 years ago
by adriangb
© 2025 CodSpeed Technology
Home Terms Privacy Docs