Use eval_type_backport on Python 3.9 if it's installed to resolve int | None etc.#773
Merged
jcrist merged 4 commits intojcrist:mainfrom Dec 27, 2024
Merged
Conversation
Contributor
Author
|
@jcrist PTAL. I've put in a place for making it installed or not, but didn't do anything in this PR to run it with or without this. Let me know if you'd like the structure something else too. Or I'm more than happy for you to push changes to my fork too. |
…t | None` etc. This uses the same module that pydantic does, and it allows people to use the new pipe syntax if they have to support Python3.9 too -- very useful for libraries. (Also it works better with many type checkers which seem to mistakenly think that with `from __future__ import annotations` means `int| None` will work, but it doesn't out of the box.)
ada02f0 to
3cc6d81
Compare
Contributor
Author
|
(I thought about adding the test for this in test_common with a decoder, but this seemed to be more directly testing the code) |
Owner
|
Thanks for the PR (and your patience here), this is in! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This uses the same module that pydantic does, and it allows people to use the
new pipe syntax if they have to support Python3.9 too -- very useful for
libraries.
(Also it works better with many type checkers which seem to mistakenly think
that with
from __future__ import annotationsmeansint| Nonewill work,but it doesn't out of the box.)
Fixes #771