summaryrefslogtreecommitdiffstats
path: root/Lib/typing.py
Commit message (Collapse)AuthorAgeFilesLines
* [3.12] gh-105974: Revert unintentional behaviour change for protocols with ↵Miss Islington (bot)2023-06-231-32/+33
| | | | | | | | non-callable members and custom `__subclasshook__` methods (GH-105976) (#106032) gh-105974: Revert unintentional behaviour change for protocols with non-callable members and custom `__subclasshook__` methods (GH-105976) (cherry picked from commit 9499b0f138cc53b9a2590350d0b545d2f69ee126) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* [3.12] Miscellaneous improvements to the typing docs (GH-105529) (#105567)Miss Islington (bot)2023-06-091-6/+6
| | | | | | | | Miscellaneous improvements to the typing docs (GH-105529) Mostly, these are changes so that we use shorter sentences and shorter paragraphs. In particular, I've tried to make the first sentence introducing each object in the typing API short and declarative. (cherry picked from commit 8e755923c97d689ba7c7fe8deb50c1b169263264) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* [3.12] Further improve docs for `typing.Annotated` (GH-105498) (#105503)Miss Islington (bot)2023-06-081-6/+8
| | | | | | Further improve docs for `typing.Annotated` (GH-105498) (cherry picked from commit d213c2990f0db62ed39fc5468977f989c2658675) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* [3.12] typing: Improve documentation of generic classes and aliases ↵Miss Islington (bot)2023-06-071-3/+5
| | | | | | | | (GH-105369) (#105453) typing: Improve documentation of generic classes and aliases (GH-105369) (cherry picked from commit d63a7c3694d5c4484fcaa01c33590b1d4bc2559e) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* [3.12] gh-105430: Remove `typing._Immutable` unused internal helper ↵Miss Islington (bot)2023-06-071-11/+0
| | | | | | | | (GH-105434) (#105451) gh-105430: Remove `typing._Immutable` unused internal helper (GH-105434) (cherry picked from commit 18309ad94bb1ae0b092f34dc3fd54199876a6ebd) Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
* [3.12] gh-105286: Further improvements to `typing.py` docstrings (GH-105363) ↵Miss Islington (bot)2023-06-071-25/+43
| | | | | | | | (#105416) gh-105286: Further improvements to `typing.py` docstrings (GH-105363) (cherry picked from commit 9a89f1bf1e7bb819fe7240be779c99a84f47ea46) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* [3.12] gh-105286: Improve `typing.py` docstrings (#105287) (#105319)Alex Waygood2023-06-051-220/+253
| | | | | | gh-105286: Improve `typing.py` docstrings (#105287) Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com> Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
* [3.12] gh-105280: Ensure `isinstance([], collections.abc.Mapping)` always ↵Miss Islington (bot)2023-06-051-8/+20
| | | | | | | | evaluates to `False` (GH-105281) (#105318) gh-105280: Ensure `isinstance([], collections.abc.Mapping)` always evaluates to `False` (GH-105281) (cherry picked from commit 08756dbba647440803d2ba4545ba0ab2f0cdfe1c) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* [3.12] gh-105237: Allow calling `issubclass(X, typing.Protocol)` again ↵Miss Islington (bot)2023-06-051-0/+4
| | | | | | | | (GH-105239) (#105316) gh-105237: Allow calling `issubclass(X, typing.Protocol)` again (GH-105239) (cherry picked from commit cdfb201bfa35b7c50de5099c6d9078c806851d98) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* [3.12] gh-105144: Runtime-checkable protocols: move all 'sanity checks' to ↵Miss Islington (bot)2023-05-311-19/+15
| | | | | | | `_ProtocolMeta.__subclasscheck__` (GH-105152) (#105160) (cherry picked from commit c05c31db8c9dfd708b9857bb57f8e5f3ce40266d) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* [3.12] gh-104943: Remove mentions of old Python versions (GH-104945) (#104963)Miss Islington (bot)2023-05-261-4/+1
| | | | | (cherry picked from commit 46857d0b2a2ac6aeb6dcce2bf2c92ddf4abe7496) Co-authored-by: Tomas R <tomas.roun8@gmail.com>
* [3.12] gh-104935: typing: Fix interactions between `@runtime_checkable` and ↵Miss Islington (bot)2023-05-251-3/+3
| | | | | | | | | | | | `Generic` (GH-104939) (#104941) gh-104935: typing: Fix interactions between `@runtime_checkable` and `Generic` (GH-104939) --------- (cherry picked from commit 2b7027d0b2ee2e102a24a0da27d01b8221f9351c) Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* [3.12] gh-104797: Allow Protocols to inherit from collections.abc.Buffer ↵Miss Islington (bot)2023-05-241-1/+1
| | | | | | | | (GH-104827) (#104841) gh-104797: Allow Protocols to inherit from collections.abc.Buffer (GH-104827) (cherry picked from commit c0ab7d401c736c37bf4462eef7c7d69fef8fab93) Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* Improve readability of `typing._ProtocolMeta.__instancecheck__` (#104649)Alex Waygood2023-05-191-13/+14
|
* gh-74690: Don't set special protocol attributes on non-protocol subclasses ↵Alex Waygood2023-05-181-6/+7
| | | | | of protocols (#104622) Don't set special protocol attributes on non-protocol subclasses of protocols
* gh-104555: Runtime-checkable protocols: Don't let previous calls to ↵Alex Waygood2023-05-171-7/+13
| | | | | `isinstance()` influence whether `issubclass()` raises an exception (#104559) Co-authored-by: Carl Meyer <carl@oddbird.net>
* typing: Use PEP 695 syntax in typing.py (#104553)Jelle Zijlstra2023-05-171-11/+17
| | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-104555: Fix isinstance() and issubclass() for runtime-checkable protocols ↵Alex Waygood2023-05-161-1/+1
| | | | | that use PEP 695 (#104556) Fixes #104555
* gh-103763: Implement PEP 695 (#103764)Jelle Zijlstra2023-05-161-421/+170
| | | | | | | | | | | | | | This implements PEP 695, Type Parameter Syntax. It adds support for: - Generic functions (def func[T](): ...) - Generic classes (class X[T](): ...) - Type aliases (type X = ...) - New scoping when the new syntax is used within a class body - Compiler and interpreter changes to support the new syntax and scoping rules Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com> Co-authored-by: Eric Traut <eric@traut.com> Co-authored-by: Larry Hastings <larry@hastings.org> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-91896: Revert some very noisy DeprecationWarnings for `ByteString` (#104424)Alex Waygood2023-05-131-24/+3
|
* gh-104415: Fix refleak tests for `typing.ByteString` deprecation (#104416)Nikita Sobolev2023-05-121-0/+9
|
* gh-91896: Improve visibility of `ByteString` deprecation warnings (#104294)Alex Waygood2023-05-121-1/+31
|
* gh-104392: Remove _paramspec_tvars from typing (#104393)Jelle Zijlstra2023-05-111-13/+6
| | | | This does nothing.
* gh-104328: Fix typo in ``typing.Generic`` multiple inheritance error message ↵Kirill Podoprigora2023-05-091-1/+1
| | | | (#104335)
* Improve assert_type phrasing (#104081)Shantanu2023-05-021-3/+4
| | | | | | | | | I'd like to make the fact that this does nothing at runtime really obvious, since I suspect this is unintuitive for users who are unfamiliar with static type checking. I thought of this because of https://discuss.python.org/t/add-arg-check-type-to-types/26384 wherein I'm skeptical that the user really did want `assert_type`.
* GH-103629: Update Unpack's repr in compliance with PEP 692 (#104048)Franek Magiera2023-05-011-1/+12
|
* GH-103699: Add `__orig_bases__` to various typing classes (#103698)Adrian Garcia Badaracco2023-04-231-2/+9
| | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* gh-97797: Mention `__metadata__` in docstrings of `typing.{_AnnotatedAlias, ↵Nikita Sobolev2023-04-101-0/+6
| | | | | | Annotated}` (#103405) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Kirill <80244920+Eclips4@users.noreply.github.com>
* gh-74690: Further optimise `typing._ProtocolMeta.__instancecheck__` (#103280)Alex Waygood2023-04-051-1/+1
|
* gh-74690: typing: Call `_get_protocol_attrs` and `_callable_members_only` at ↵Alex Waygood2023-04-051-11/+14
| | | | protocol class creation time, not during `isinstance()` checks (#103160)
* gh-74690: typing: Simplify and optimise `_ProtocolMeta.__instancecheck__` ↵Alex Waygood2023-04-051-11/+3
| | | | (#103159)
* gh-102433: Use `inspect.getattr_static` in ↵Alex Waygood2023-04-021-5/+21
| | | | `typing._ProtocolMeta.__instancecheck__` (#103034)
* gh-74690: Micro-optimise `typing._get_protocol_attrs` (#103152)Alex Waygood2023-03-311-8/+12
| | | Improve performance of `isinstance()` checks against runtime-checkable protocols
* gh-74690: typing: Don't unnecessarily call `_get_protocol_attrs` twice in ↵Alex Waygood2023-03-311-10/+21
| | | | | `_ProtocolMeta.__instancecheck__` (#103141) Speed up `isinstance()` calls against runtime-checkable protocols
* gh-88965: typing: fix type substitution of a list of types after initial ↵Nikita Sobolev2023-03-231-7/+26
| | | | | | | | | | | | | | | | | | | `ParamSpec` substitution (#102808) Previously, this used to fail: ```py from typing import * T = TypeVar("T") P = ParamSpec("P") class X(Generic[P]): f: Callable[P, int] Y = X[[int, T]] Z = Y[str] ``` Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* Add comments to `{typing,_collections_abc}._type_repr` about each other ↵Nikita Sobolev2023-03-161-0/+3
| | | | | (#102752) Remove `if` condition in `_collections_abc._type_repr` that's no longer needed, bringing it in sync with `typing._type_repr`.
* gh-102615: Use `list` instead of `tuple` in `repr` of paramspec (#102637)Nikita Sobolev2023-03-151-3/+4
| | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-101561: Add typing.override decorator (#101564)Steven Troxler2023-02-271-0/+41
| | | | Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-101015: Fix `typing.get_type_hints` with unpacked `*tuple` (PEP 646) ↵Nikita Sobolev2023-01-231-1/+4
| | | | (#101031)
* gh-86682: Adds sys._getframemodulename as an alternative to using _getframe ↵Steve Dower2023-01-131-2/+6
| | | | | (GH-99520) Also updates calls in collections, doctest, enum, and typing modules to use _getframemodulename first when available.
* Correct typo in typing.py (#100423)david-why2022-12-221-1/+1
| | | | In the docstring of `ParamSpec`, the name of `P = ParamSpec('P')` was mistakenly written as `'T'`.
* gh-99957: Add `frozen_default` parameter on `dataclass_transform` (#99958)Erik De Bonte2022-12-061-0/+4
|
* gh-98253: Break potential reference cycles in external code worsened by ↵Wenzel Jakob2022-11-301-3/+11
| | | | typing.py lru_cache (#98591)
* gh-99344, gh-99379, gh-99382: Fix issues in substitution of ParamSpec and ↵Serhiy Storchaka2022-11-291-41/+30
| | | | | | | | | | | TypeVarTuple (GH-99412) * Fix substitution of TypeVarTuple and ParamSpec together in user generics. * Fix substitution of ParamSpec followed by TypeVarTuple in generic aliases. * Check the number of arguments in substitution in user generics containing a TypeVarTuple and one or more TypeVar.
* gh-98852: Fix subscription of type aliases (GH-98920)Serhiy Storchaka2022-11-011-0/+4
| | | | | Fix subscription of type aliases containing bare generic types or types like TypeVar: for example tuple[A, T][int] and tuple[TypeVar, T][int], where A is a generic type, and T is a type variable.
* GH-96079 Fix missing field name for _AnnotatedAlias (#96080)Anh71me2022-08-311-1/+4
|
* gh-95987: Fix `repr` of `Any` type subclasses (#96412)Nikita Sobolev2022-08-301-1/+3
|
* gh-96385: Correctly raise error on `[*T, *V]` substitution (GH-96386)Nikita Sobolev2022-08-301-1/+1
|
* docs: typing.Self, fix typo (GH-94771)Max Zhenzhera2022-07-121-1/+1
| | | | | * fix typo - double spelled word 'use' * change methods names to the infinitive form
* gh-94607: Fix subclassing generics (GH-94610)Ken Jin2022-07-091-0/+3
| | | Co-authored-by: Serhiy Storchaka <3659035+serhiy-storchaka@users.noreply.github.com>