BlogDocs

Improvements in union matching logic during validation(#1332)

Merged
Merging
union-val-fix
(
ed8ddb9
) into
main
(
46379ac
)
+1%
IMPROVEMENTS
0
REGRESSIONS
0
UNTOUCHED
155
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Passed

test_datetime
tests/benchmarks/test_serialization_micro.py::test_datetime
+5%
27.7 µs
26.5 µs
test_validate_literal[python-many_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_small_strings]
+4%
15 µs
14.5 µs
test_model_core_json
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_model_core_json
+3%
48 µs
46.5 µs
test_to_json_list_of_lists
tests/benchmarks/test_serialization_micro.py::test_to_json_list_of_lists
+3%
1.7 ms
1.6 ms
test_strict_int
tests/benchmarks/test_micro_benchmarks.py::test_strict_int
+3%
13.8 µs
13.4 µs
test_bytes_core
tests/benchmarks/test_micro_benchmarks.py::test_bytes_core
+3%
13.7 µs
13.4 µs
test_validate_literal[python-few_mixed]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_mixed]
+3%
17.1 µs
16.6 µs
test_int_range
tests/benchmarks/test_micro_benchmarks.py::test_int_range
+3%
15 µs
14.6 µs
test_validate_literal[json-many_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_large_strings]
+3%
16.2 µs
15.8 µs
test_validate_literal[json-few_mixed]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_mixed]
+3%
18.6 µs
18.1 µs
test_validate_literal[python-few_str_enum]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_str_enum]
+3%
15.5 µs
15.1 µs
test_chain_list
tests/benchmarks/test_micro_benchmarks.py::test_chain_list
+3%
25.7 µs
25.1 µs
test_arguments
tests/benchmarks/test_micro_benchmarks.py::test_arguments
+2%
26.8 µs
26.1 µs
test_positional_tuple
tests/benchmarks/test_micro_benchmarks.py::test_positional_tuple
+2%
19.5 µs
19.1 µs
test_validate_literal[python-few_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_ints]
+2%
14.7 µs
14.4 µs
test_validate_literal[python-few_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_small_strings]
+2%
14.9 µs
14.5 µs
test_core_string_strict
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict
+2%
13.8 µs
13.5 µs
test_generator_rust
tests/benchmarks/test_micro_benchmarks.py::test_generator_rust
+2%
19.8 µs
19.3 µs
test_int_range_json
tests/benchmarks/test_micro_benchmarks.py::test_int_range_json
+2%
15.7 µs
15.3 µs
test_enum_int_core
tests/benchmarks/test_micro_benchmarks.py::test_enum_int_core
+2%
15.6 µs
15.3 µs
test_validate_literal[json-few_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_large_strings]
+2%
16.2 µs
15.8 µs
test_validate_literal[python-few_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_large_strings]
+2%
15 µs
14.7 µs
test_core_string_lax
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax
+2%
13.8 µs
13.5 µs
test_small_class_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_dict
+2%
19.4 µs
19 µs
test_validate_literal[json-many_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_ints]
+2%
15.5 µs
15.2 µs
test_generator_python
tests/benchmarks/test_micro_benchmarks.py::test_generator_python
+2%
27.4 µs
26.9 µs
test_variable_tuple
tests/benchmarks/test_micro_benchmarks.py::test_variable_tuple
+2%
19.3 µs
18.9 µs
test_tagged_union_int_keys_python
tests/benchmarks/test_micro_benchmarks.py::test_tagged_union_int_keys_python
+2%
21.8 µs
21.4 µs
test_validate_literal[json-few_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_small_strings]
+2%
15.9 µs
15.6 µs
test_dataclass_serialization_json
tests/benchmarks/test_serialization_micro.py::test_dataclass_serialization_json
+2%
25.2 µs
24.7 µs
test_validate_literal[python-many_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_ints]
+2%
14.7 µs
14.4 µs
test_model_core_json
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_model_core_json
+2%
36.8 µs
36.1 µs
test_dataclass_serialization_python
tests/benchmarks/test_serialization_micro.py::test_dataclass_serialization_python
+2%
23.5 µs
23.1 µs
test_validate_literal[json-few_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_ints]
+2%
15.5 µs
15.2 µs
test_tuple_many_positional
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_positional
+2%
19 µs
18.7 µs
test_validate_literal[json-many_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_small_strings]
+2%
15.9 µs
15.7 µs
test_isinstance_string_lax_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_false
+2%
15.6 µs
15.4 µs
test_tuple_many_variable
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_variable
+2%
19.1 µs
18.8 µs
test_isinstance_string_lax_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_true
+2%
14 µs
13.7 µs
test_core_model_json
tests/benchmarks/test_serialization_micro.py::test_core_model_json
+2%
26.3 µs
25.9 µs
test_chain_function
tests/benchmarks/test_micro_benchmarks.py::test_chain_function
+2%
25.4 µs
25 µs
test_isinstance_string_strict_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_false
+2%
15.3 µs
15 µs
test_tagged_union_int_keys_json
tests/benchmarks/test_micro_benchmarks.py::test_tagged_union_int_keys_json
+2%
26.5 µs
26.1 µs
test_chain_two_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_two_functions
+1%
28.7 µs
28.3 µs
test_strict_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_core
+1%
16.5 µs
16.3 µs
test_enum_str_core
tests/benchmarks/test_micro_benchmarks.py::test_enum_str_core
+1%
15 µs
14.8 µs
test_validate_literal[json-few_str_enum]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_str_enum]
+1%
19.9 µs
19.7 µs
test_json_direct_list_int
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_int
+1%
131 µs
129.2 µs
test_dont_raise_error_no_info
tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error_no_info
+1%
18 µs
17.7 µs
test_ser_list_of_lists
tests/benchmarks/test_serialization_micro.py::test_ser_list_of_lists
+1%
1.2 ms
1.2 ms
test_uuid_from_string_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_core
+1%
34 µs
33.6 µs
test_smart_union_coerce_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_coerce_core
+1%
17.5 µs
17.2 µs
test_date_from_datetime_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime_str
+1%
18.6 µs
18.4 µs
test_core_raw
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_raw
+1%
14.2 µs
14.1 µs
test_python_json_list_int
tests/benchmarks/test_serialization_micro.py::test_python_json_list_int
+1%
146.3 µs
144.5 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_python
+1%
142.2 µs
140.4 µs
test_isinstance_string_strict_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_true
+1%
14 µs
13.8 µs
test_core_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_str
+1%
33.9 µs
33.5 µs
test_smart_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_core
+1%
16 µs
15.8 µs
test_list_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_json
+1%
768.8 µs
760 µs
test_date_format_function_no_info
tests/benchmarks/test_serialization_micro.py::test_date_format_function_no_info
+1%
50.7 µs
50.1 µs
test_small_class_core_model
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_model
+1%
31 µs
30.6 µs
test_dont_raise_error
tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error
+1%
20.2 µs
20 µs
test_set_of_ints_core_json_duplicates
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json_duplicates
+1%
466.1 µs
461.3 µs
test_model_list_core_json
tests/benchmarks/test_serialization_micro.py::test_model_list_core_json
+1%
149.8 µs
148.3 µs
test_date_format
tests/benchmarks/test_serialization_micro.py::test_date_format
+1%
51.5 µs
50.9 µs
test_core_dict
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict
+1%
76.5 µs
75.7 µs
test_python_json_list_none
tests/benchmarks/test_serialization_micro.py::test_python_json_list_none
+1%
121.6 µs
120.4 µs
test_bool_core
tests/benchmarks/test_micro_benchmarks.py::test_bool_core
+1%
23.4 µs
23.2 µs
test_core_root_model
tests/benchmarks/test_micro_benchmarks.py::test_core_root_model
+1%
37.9 µs
37.5 µs
test_core_json
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_json
+1%
80.1 µs
79.3 µs
test_python_json_list_str
tests/benchmarks/test_serialization_micro.py::test_python_json_list_str
+1%
155.3 µs
153.9 µs
test_core_string_lax_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax_wrong
+1%
26.7 µs
26.5 µs
test_date_format_function
tests/benchmarks/test_serialization_micro.py::test_date_format_function
+1%
52.1 µs
51.6 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_python
+1%
31 µs
30.7 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future_str
+1%
17.5 µs
17.4 µs
test_core_model_json_extra
tests/benchmarks/test_serialization_micro.py::test_core_model_json_extra
+1%
29.7 µs
29.5 µs
test_int_error
tests/benchmarks/test_micro_benchmarks.py::test_int_error
+1%
40.9 µs
40.6 µs
test_validate_literal[python-many_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_large_strings]
+1%
14.8 µs
14.7 µs
test_enum_str_python
tests/benchmarks/test_micro_benchmarks.py::test_enum_str_python
+1%
23.9 µs
23.7 µs
test_core_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_str
+1%
19.7 µs
19.6 µs
test_json_direct_list_str
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_str
+1%
154.8 µs
153.6 µs
test_core_string_strict_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong
+1%
26.5 µs
26.3 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future_str
+1%
20.1 µs
19.9 µs
test_to_string_direct
tests/benchmarks/test_serialization_micro.py::test_to_string_direct
+1%
19.8 µs
19.6 µs
test_to_string_format
tests/benchmarks/test_serialization_micro.py::test_to_string_format
+1%
24.4 µs
24.2 µs
test_uuid_from_string_pyd
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_pyd
+1%
50.1 µs
49.8 µs
test_strict_union_error_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_error_core
+1%
32.1 µs
31.8 µs
test_isinstance_json
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_json
+1%
17.7 µs
17.6 µs
test_frozenset_of_ints_duplicates_core
tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_duplicates_core
+1%
144.2 µs
143.3 µs
test_list_of_nullable_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_nullable_core
+1%
103.6 µs
103 µs
test_json_any_list_int
tests/benchmarks/test_serialization_micro.py::test_json_any_list_int
+1%
190 µs
188.9 µs
test_list_of_strs_py_cached
tests/benchmarks/test_micro_benchmarks.py::test_list_of_strs_py_cached
+1%
124.1 µs
123.3 µs
test_set_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json
+1%
865.1 µs
860.3 µs
test_strict_int_fails
tests/benchmarks/test_micro_benchmarks.py::test_strict_int_fails
+1%
26.5 µs
26.3 µs
test_many_models_core_model
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_model
+1%
3.2 ms
3.2 ms
test_list_of_any_core_py
tests/benchmarks/test_micro_benchmarks.py::test_list_of_any_core_py
+1%
98.6 µs
98 µs
test_decimal_from_string_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_core
+1%
23.8 µs
23.7 µs
test_complete_core_serializer_to_json
tests/benchmarks/test_complete_benchmark.py::test_complete_core_serializer_to_json
0%
289.3 µs
287.9 µs
test_nested_schema_inlined
tests/benchmarks/test_nested_benchmark.py::test_nested_schema_inlined
0%
20.8 ms
20.7 ms
test_with_default
tests/benchmarks/test_micro_benchmarks.py::test_with_default
0%
22.2 µs
22.2 µs
test_core_raw
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_raw
0%
13.9 µs
13.9 µs
test_uuid_from_uuid_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_core
0%
13.9 µs
13.9 µs
test_json_any_list_str
tests/benchmarks/test_serialization_micro.py::test_json_any_list_str
0%
219.6 µs
218.8 µs
test_list_of_strs_json_cached
tests/benchmarks/test_micro_benchmarks.py::test_list_of_strs_json_cached
0%
314.5 µs
313.4 µs
test_uuid_from_uuid_pyd
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_pyd
0%
14.7 µs
14.6 µs
test_core_dict_filter
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict_filter
0%
77.9 µs
77.6 µs
test_core_model_py
tests/benchmarks/test_serialization_micro.py::test_core_model_py
0%
27.8 µs
27.7 µs
test_list_of_ints_core_py
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_py
0%
499.7 µs
498.3 µs
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_json_fs
0%
162.1 µs
161.7 µs
test_enum_int_python
tests/benchmarks/test_micro_benchmarks.py::test_enum_int_python
0%
24.1 µs
24 µs
test_set_of_ints_core_duplicates
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_duplicates
0%
313.1 µs
312.4 µs
test_frozenset_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_core
0%
251.2 µs
250.7 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future
0%
17.9 µs
17.9 µs
test_core_model_py_extra
tests/benchmarks/test_serialization_micro.py::test_core_model_py_extra
0%
30.8 µs
30.8 µs
test_model_instance
tests/benchmarks/test_micro_benchmarks.py::test_model_instance
0%
32.9 µs
32.8 µs
test_nested_schema_using_defs
tests/benchmarks/test_nested_benchmark.py::test_nested_schema_using_defs
0%
20.2 ms
20.2 ms
test_raise_error_value_error
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_value_error
0%
36.5 µs
36.5 µs
test_dict_of_any_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_any_core
0%
725.2 µs
724.8 µs
test_dict_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core_json
0%
1.4 ms
1.4 ms
test_core_string_strict_wrong_str_e
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong_str_e
0%
40.6 µs
40.6 µs
test_list_of_dict_models_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_dict_models_core
0%
134.7 µs
134.7 µs
test_definition_in_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_in_tree
0%
740.9 µs
740.7 µs
test_definition_out_of_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_out_of_tree
0%
983 µs
982.9 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future
0%
26 µs
26 µs
test_many_models_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_dict
0%
1.2 ms
1.2 ms
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_python
0%
30 µs
30 µs
test_model_exclude_unset_false
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_false
0%
29.4 µs
29.4 µs
test_set_of_ints_core_length
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_length
0%
688.8 µs
689.2 µs
test_dict_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core
0%
1 ms
1 ms
test_core_python_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_python_fs
0%
73.8 µs
73.9 µs
test_set_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core
0%
675.6 µs
676.9 µs
test_complete_core_serializer_to_python
tests/benchmarks/test_complete_benchmark.py::test_complete_core_serializer_to_python
0%
266.3 µs
266.8 µs
test_uuid
tests/benchmarks/test_serialization_micro.py::test_uuid
0%
33.7 µs
33.7 µs
test_complete_core_error
tests/benchmarks/test_complete_benchmark.py::test_complete_core_error
0%
1.8 ms
1.8 ms
test_dataclass_to_json
tests/benchmarks/test_serialization_micro.py::test_dataclass_to_json
0%
39.9 µs
40.1 µs
test_date_from_date
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_date
0%
14 µs
14.1 µs
test_complete_core_isinstance
tests/benchmarks/test_complete_benchmark.py::test_complete_core_isinstance
0%
1.8 ms
1.8 ms
test_build_schema
tests/benchmarks/test_complete_benchmark.py::test_build_schema
0%
829.8 µs
833.7 µs
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_json_fs
-1%
121.1 µs
122 µs
test_complete_core_json
tests/benchmarks/test_complete_benchmark.py::test_complete_core_json
-1%
487.7 µs
491.2 µs
test_complete_core_lax
tests/benchmarks/test_complete_benchmark.py::test_complete_core_lax
-1%
288.7 µs
290.8 µs
test_decimal_from_string_pyd
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_pyd
-1%
32.5 µs
32.8 µs
test_definition_model_core
tests/benchmarks/test_micro_benchmarks.py::test_definition_model_core
-1%
1.2 ms
1.2 ms
test_filter
tests/benchmarks/test_serialization_micro.py::test_filter
-1%
42.5 µs
42.9 µs
test_raise_error_custom
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_custom
-1%
38.3 µs
38.7 µs
test_date_from_datetime
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime
-1%
21.5 µs
21.8 µs
test_model_exclude_unset_true
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_true
-1%
35.8 µs
36.2 µs
test_complete_core_strict
tests/benchmarks/test_complete_benchmark.py::test_complete_core_strict
-2%
264.7 µs
268.9 µs
test_list_of_strs_json_uncached
tests/benchmarks/test_micro_benchmarks.py::test_list_of_strs_json_uncached
-2%
451.1 µs
458.5 µs
test_field_function_validator
tests/benchmarks/test_micro_benchmarks.py::test_field_function_validator
-2%
405.7 µs
413.2 µs
test_chain_nested_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_nested_functions
-2%
27.8 µs
28.4 µs
test_decimal_from_string_limit
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_limit
-4%
18 µs
18.8 µs
test_date_from_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_str
-5%
16.7 µs
17.6 µs
test_model_instance_abc
tests/benchmarks/test_micro_benchmarks.py::test_model_instance_abc
-5%
32.4 µs
34.2 µs

Commits

Click on a commit to change the comparison range
base
main
46379ac
0%
first pass at union match improvement
9117c6b
4 months ago
by sydney-runkle
+1%
behavior for checking model fields set
ceb5e1b
4 months ago
by sydney-runkle
-1%
working on my rust best practices
1a6b00c
4 months ago
by sydney-runkle
-47%
using method on Validator trait to streamline things
1718e8b
4 months ago
by sydney-runkle
0%
comment udpate
500a812
4 months ago
by sydney-runkle
+1%
get all tests passing
d479928
4 months ago
by sydney-runkle
0%
use Union not pipe in tests
e16103a
4 months ago
by sydney-runkle
+47%
abandon num_fields for a state based approach
9208282
4 months ago
by sydney-runkle
-13%
get typed dicts working, add tests for other model like cases
69f6ec0
4 months ago
by sydney-runkle
+13%
dataclass support + more efficient exact return
18b70d4
4 months ago
by sydney-runkle
-1%
all dataclass tests passing :)
e4f1e6b
4 months ago
by sydney-runkle
+1%
add nested counting for dataclasses, typed dicts
fc21636
4 months ago
by sydney-runkle
0%
corresponding tests
72aa7bd
4 months ago
by sydney-runkle
0%
updating fields set at the end)
d2ef400
4 months ago
by sydney-runkle
0%
abbreviated syntax
38f911f
4 months ago
by sydney-runkle
0%
adding a bubble up test + doing some minor test refactoring
c3b43e9
4 months ago
by sydney-runkle
0%
3.8 fixes
31a439a
4 months ago
by sydney-runkle
0%
oops, another list
ed920ad
4 months ago
by sydney-runkle
0%
ugh, last 3.8 fix hopefully
645f917
4 months ago
by sydney-runkle
0%
name change success -> best_match
ed8ddb9
4 months ago
by sydney-runkle
ResourcesHomePricingDocsBlogGitHubChangelog