diff options
author | Ivan Levkivskyi <levkivskyi@gmail.com> | 2019-05-30 23:10:07 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-30 23:10:07 (GMT) |
commit | 4c23aff065fb28aba789a211937a2af974842110 (patch) | |
tree | f6f2757eb59d315e2835f7dcf8b2f1b7f18506ea /Misc/NEWS.d | |
parent | 2a58b0636d1f620f8a85a2e4c030cc10551936a5 (diff) | |
download | cpython-4c23aff065fb28aba789a211937a2af974842110.zip cpython-4c23aff065fb28aba789a211937a2af974842110.tar.gz cpython-4c23aff065fb28aba789a211937a2af974842110.tar.bz2 |
bpo-29262: Add get_origin() and get_args() introspection helpers to typing (GH-13685)
This is an old feature request that appears from time to time. After a year of experimenting with various introspection capabilities in `typing_inspect` on PyPI, I propose to add these two most commonly used functions: `get_origin()` and `get_args()`. These are essentially thin public wrappers around private APIs: `__origin__` and `__args__`.
As discussed in the issue and on the typing tracker, exposing some public helpers instead of `__origin__` and `__args__` directly will give us more flexibility if we will decide to update the internal representation, while still maintaining backwards compatibility.
The implementation is very simple an is essentially a copy from `typing_inspect` with one exception: `ClassVar` was special-cased in `typing_inspect`, but I think this special-casing doesn't really help and only makes things more complicated.
Diffstat (limited to 'Misc/NEWS.d')
-rw-r--r-- | Misc/NEWS.d/next/Library/2019-05-30-21-25-14.bpo-29262.LdIzun.rst | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Misc/NEWS.d/next/Library/2019-05-30-21-25-14.bpo-29262.LdIzun.rst b/Misc/NEWS.d/next/Library/2019-05-30-21-25-14.bpo-29262.LdIzun.rst new file mode 100644 index 0000000..e1154ef --- /dev/null +++ b/Misc/NEWS.d/next/Library/2019-05-30-21-25-14.bpo-29262.LdIzun.rst @@ -0,0 +1 @@ +Add ``get_origin()`` and ``get_args()`` introspection helpers to ``typing`` module.
\ No newline at end of file |