-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Move Mapping
schema gen to GenerateSchema
to complete removal of prepare_annotations_for_known_type
workaround
#11247
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Deploying pydantic-docs with
|
Latest commit: |
2b3bd7b
|
Status: | ✅ Deploy successful! |
Preview URL: | https://5ba55455.pydantic-docs.pages.dev |
Branch Preview URL: | https://final-removal-of-prep-ann.pydantic-docs.pages.dev |
CodSpeed Performance ReportMerging #11247 will not alter performanceComparing Summary
|
I feel like test_nested_model_serialization might be flaky, this PR should be unrelated... |
Mapping
schema gen to GenerateSchema
Mapping
schema gen to GenerateSchema
to complete removal of prepare_annotations_for_known_type
workaround
Coverage reportClick to see where and how coverage changed
This report was generated by python-coverage-comment-action |
res = self._get_prepare_pydantic_annotations_for_known_type(obj, ()) | ||
if res is not None: | ||
source_type, annotations = res | ||
return self._apply_annotations(source_type, annotations) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yay! This is what we've been trying to remove for a long time :)
|
||
# Assume Annotated[..., Field(...)] | ||
if _typing_extra.is_annotated(values_source_type): | ||
# Important that we use typing_extensions.get_args here in order to support 3.8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# Important that we use typing_extensions.get_args here in order to support 3.8 |
Or in the PR droping 3.8, as you wish
Following up on removing
_std_types_schema.py
and removing prepare annotations logic to increase consistency of annotation application patterns across the codebase.Specifically, the third and last in the series of #10846 and #11239.
Seeing marginal perf improvements in
GenerateSchema._prepare_annotations
, which is what we were hoping for: https://codspeed.io/pydantic/pydantic/branches/final-removal-of-prep-annI've attempted to keep the structure of the core schema gen + validators close to that of the original. I think this could be refactored, but I'd rather do that in a different PR, and have this just focus on movement of the logic.