summaryrefslogtreecommitdiffstats
path: root/Lib/typing.py
Commit message (Collapse)AuthorAgeFilesLines
* bpo-40257: Tweak docstrings for special generic aliases. (GH-20022)Serhiy Storchaka2020-05-101-1/+4
| | | | * Add the terminating period. * Omit module name for builtin types.
* bpo-40397: Fix subscription of nested generic alias without parameters. ↵Serhiy Storchaka2020-05-101-2/+4
| | | | (GH-20021)
* bpo-40397: Remove __args__ and __parameters__ from _SpecialGenericAlias ↵Serhiy Storchaka2020-05-101-80/+87
| | | | (GH-19984)
* bpo-40397: Refactor typing._GenericAlias (GH-19719)Serhiy Storchaka2020-05-071-191/+198
| | | | | | Make the design more object-oriented. Split _GenericAlias on two almost independent classes: for special generic aliases like List and for parametrized generic aliases like List[int]. Add specialized subclasses for Callable, Callable[...], Tuple and Union[...].
* bpo-40389: Improve repr of typing.Optional (#19714)Vlad Serebrennikov2020-04-301-0/+7
|
* bpo-40398: Fix typing.get_args() for special generic aliases. (GH-19720)Serhiy Storchaka2020-04-271-1/+3
|
* bpo-40396: Support GenericAlias in the typing functions. (GH-19718)Serhiy Storchaka2020-04-261-5/+18
|
* Fix typo in Lib/typing.py (GH-19717)Nickolena Fisher2020-04-261-1/+1
|
* bpo-40336: Refactor typing._SpecialForm (GH-19620)Serhiy Storchaka2020-04-231-77/+61
|
* bpo-39942:Fix failure in `TypeVar` when missing `__name__` (GH-19616)HongWeipeng2020-04-201-1/+4
| | | https://bugs.python.org/issue39942
* bpo-40257: Improve help for the typing module (GH-19546)Serhiy Storchaka2020-04-181-0/+6
| | | | | | * Show docstring for special forms. * Show docstring for special generic aliases. * Show documentation for __origin__ for generic aliases.
* bpo-40187: Refactor typing.TypedDict. (GH-19372)Serhiy Storchaka2020-04-081-34/+33
|
* bpo-40185: Refactor typing.NamedTuple (GH-19371)Serhiy Storchaka2020-04-081-42/+43
|
* bpo-39481: Implementation for PEP 585 (#18239)Guido van Rossum2020-04-071-3/+4
| | | | | | | | | | | | This implements things like `list[int]`, which returns an object of type `types.GenericAlias`. This object mostly acts as a proxy for `list`, but has attributes `__origin__` and `__args__` that allow recovering the parts (with values `list` and `(int,)`. There is also an approximate notion of type variables; e.g. `list[T]` has a `__parameters__` attribute equal to `(T,)`. Type variables are objects of type `typing.TypeVar`.
* bpo-40182: Remove the _field_types attribute of the NamedTuple class (GH-19368)Serhiy Storchaka2020-04-041-4/+2
|
* bpo-36517: Raise error on multiple inheritance with NamedTuple (GH-19363)Serhiy Storchaka2020-04-041-0/+3
|
* Convert tuples to sets for faster searches (GH-19365)Raymond Hettinger2020-04-041-3/+3
|
* bpo-39572: Document ’total’ flag of TypedDict (GH-18554)ananthan-1232020-02-191-1/+14
|
* bpo-39627: Fix TypedDict totality check for inherited keys (#18503)Vlad Emelianov2020-02-131-13/+20
| | | (Adapted from https://github.com/python/typing/pull/700)
* bpo-39491: Mention Annotated in get_origin() docstring (GH-18379)Jakub Stasiak2020-02-071-2/+2
| | | I forgot to do it in https://github.com/python/cpython/pull/18260.
* bpo-39491: Merge PEP 593 (typing.Annotated) support (#18260)Jakub Stasiak2020-02-051-5/+121
| | | | | | | | | | | | | | | | | | | | | | | | | * bpo-39491: Merge PEP 593 (typing.Annotated) support PEP 593 has been accepted some time ago. I got a green light for merging this from Till, so I went ahead and combined the code contributed to typing_extensions[1] and the documentation from the PEP 593 text[2]. My changes were limited to: * removing code designed for typing_extensions to run on older Python versions * removing some irrelevant parts of the PEP text when copying it over as documentation and otherwise changing few small bits to better serve the purpose * changing the get_type_hints signature to match reality (parameter names) I wasn't entirely sure how to go about crediting the authors but I used my best judgment, let me know if something needs changing in this regard. [1] https://github.com/python/typing/blob/8280de241fd8c8afe727c7860254b753e383b360/typing_extensions/src_py3/typing_extensions.py [2] https://github.com/python/peps/blob/17710b879882454d55f82c2d44596e8e9f8e4bff/pep-0593.rst
* bpo-39493: Fix definition of IO.closed in typing.py (#18265)Shantanu2020-01-301-0/+1
|
* Better runtime TypedDict (GH-17214)Zac Hatfield-Dodds2019-11-241-3/+15
| | | | | This patch enables downstream projects inspecting a TypedDict subclass at runtime to tell which keys are optional. This is essential for generating test data with Hypothesis or validating inputs with typeguard or pydantic.
* bpo-37838: get_type_hints for wrapped functions with forward reference ↵benedwards142019-11-211-1/+5
| | | | | | (GH-17126) https://bugs.python.org/issue37838
* bpo-38407: Add docstrings for typing.SupportsXXX classes. (GH-16644)Serhiy Storchaka2019-10-081-0/+7
|
* bpo-38405: Make nested subclasses of typing.NamedTuple pickleable. (GH-16641)Serhiy Storchaka2019-10-081-1/+1
|
* cleanup ababstractproperty in typing.py (GH-16432)HongWeipeng2019-09-271-8/+15
|
* bpo-38191: Turn warnings into errors in NamedTuple() and TypedDict(). (GH-16238)Serhiy Storchaka2019-09-171-66/+4
|
* bpo-38191: Accept arbitrary keyword names in NamedTuple() and TypedDict(). ↵Serhiy Storchaka2019-09-171-10/+71
| | | | | | | | (GH-16222) This includes such names as "cls", "self", "typename", "_typename", "fields" and "_fields". Passing positional arguments by keyword is deprecated.
* bpo-37953: Fix ForwardRef hash and equality checks (GH-15400)plokmijnuhby2019-09-131-3/+5
| | | | | Ideally if we stick a ForwardRef in a dictionary we would like to reliably be able to get it out again. https://bugs.python.org/issue37953
* bpo-38008: Move builtin protocol whitelist to mapping instead of list (GH-15647)Divij Rajkumar2019-09-121-5/+9
| | | | Fixes https://bugs.python.org/issue38008
* bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-13700)Serhiy Storchaka2019-06-011-1/+1
|
* bpo-29262: Add get_origin() and get_args() introspection helpers to typing ↵Ivan Levkivskyi2019-05-301-0/+42
| | | | | | | | | | (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.
* bpo-36983: Fix typing.__all__ and add test for exported names (GH-13456)Anthony Sottile2019-05-291-0/+3
| | | https://bugs.python.org/issue36983
* bpo-37058: PEP 544: Add Protocol to typing module (GH-13585)Ivan Levkivskyi2019-05-281-111/+231
| | | | | I tried to get rid of the `_ProtocolMeta`, but unfortunately it didn'y work. My idea to return a generic alias from `@runtime_checkable` made runtime protocols unpickleable. I am not sure what is worse (a custom metaclass or having some classes unpickleable), so I decided to stick with the status quo (since there were no complains so far). So essentially this is a copy of the implementation in `typing_extensions` with two modifications: * Rename `@runtime` to `@runtime_checkable` (plus corresponding updates). * Allow protocols that extend `collections.abc.Iterable` etc.
* bpo-37049: PEP 589: Add TypedDict to typing module (GH-13573)Ivan Levkivskyi2019-05-261-0/+84
| | | | The implementation is straightforward and essentially is just copied from `typing_extensions`.
* bpo-37046: PEP 586: Add Literal to typing module (#13572)Ivan Levkivskyi2019-05-261-0/+27
| | | | The implementation is straightforward and essentially is just copied from `typing_extensions`.
* bpo-37045: PEP 591: Add final qualifiers to typing module (GH-13571)Ivan Levkivskyi2019-05-261-3/+49
| | | | The implementation is straightforward, it just mimics `ClassVar` (since the latter is also a name/access qualifier, not really a type). Also it is essentially copied from `typing_extensions`.
* bpo-36972: Add SupportsIndex (GH-13448)Paul Dagnelie2019-05-221-0/+9
| | | | In order to support typing checks calling hex(), oct() and bin() on user-defined classes, a SupportIndex protocol is required. The ability to check these at runtime would be good to add for completeness sake. This is pretty much just a copy of SupportsInt with the names tweaked.
* bpo-36320: Switch typing.NamedTuple from OrderedDict to regular dict (GH-12396)Raymond Hettinger2019-03-181-9/+7
| | | | | | Also, deprecate the *_field_types* attributes which duplicated the information in *\__annotations__*. https://bugs.python.org/issue36320
* bpo-35341: Add generic version of OrderedDict to typing (GH-10850)Ismo Toijala2018-12-021-0/+1
|
* bpo-35202: Remove unused imports in Lib directory. (GH-10445)Srinivas Thatiparthy (శ్రీనివాస్ తాటిపర్తి)2018-11-101-1/+0
|
* bpo-34921: Allow escaped NoReturn in get_type_hints (GH-9750)Noah Wood2018-10-081-1/+1
|
* Fix typo in typing.py module docstring (#9014)Tim McNamara2018-09-011-1/+1
| | | "explicitelly" → "explicitly"
* Fix typo in TypeVar docstring (#8142)João D. Ferreira2018-07-071-1/+1
| | | "can be used do declare" → "can be used to declare"
* bpo-33652: Remove __getstate__ and __setstate__ methods in typing. (GH-7144)Serhiy Storchaka2018-05-281-21/+0
|
* bpo-33652: Improve pickle support in the typing module. (GH-7123)Serhiy Storchaka2018-05-261-8/+19
| | | | Pickles of type variables and subscripted generics are now future-proof and compatible with older Python versions.
* Reverse the meaning of is_argument when used for type check (GH-7039)Nina Zakharenko2018-05-231-4/+4
|
* bpo-28556: Don't simplify unions at runtime (GH-6841)Ivan Levkivskyi2018-05-181-29/+3
|
* Fix ClassVar as string fails when getting type hints (GH-6824)Nina Zakharenko2018-05-161-6/+13
|