Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
By default, pydantic tries to validate (and coerce if it can) in the order of the Union. If smart_union is enabled. Pydantic will then check all allowed types before even trying to coerce. This is of course slower, especially if your Union is quite big which is our case.
Our Union is ordered to always coerce to the first possible option, so we don't need the smart union.
Also, this order in combination of the smart_union flag (which was trying to not coerce), was making that booleans like
'true'
and'false'
not being converted to bools