Fix a regression introduced in v4.6.0 in the implementation of
runtime-checkable protocols. The regression meant
that doing class Foo(X, typing_extensions.Protocol), where X was a class that
had abc.ABCMeta as its metaclass, would then cause subsequent
isinstance(1, X) calls to erroneously raise TypeError. Patch by
Alex Waygood (backporting the CPython PR
python/cpython#105152).
Sync the repository's LICENSE file with that of CPython.
typing_extensions is distributed under the same license as
CPython itself.
Skip a problematic test on Python 3.12.0b1. The test fails on 3.12.0b1 due to
a bug in CPython, which will be fixed in 3.12.0b2. The
typing_extensions test suite now passes on 3.12.0b1.
Release 4.6.2 (May 25, 2023)
Fix use of @deprecated on classes with __new__ but no __init__.
Patch by Jelle Zijlstra.
Fix regression in version 4.6.1 where comparing a generic class against a
runtime-checkable protocol using isinstance() would cause AttributeError
to be raised if using Python 3.7.
Release 4.6.1 (May 23, 2023)
Change deprecated @runtime to formal API @runtime_checkable in the error
message. Patch by Xuehai Pan.
Fix regression in 4.6.0 where attempting to define a Protocol that was
generic over a ParamSpec or a TypeVarTuple would cause TypeError to be
raised. Patch by Alex Waygood.
Add typing_extensions.Buffer, a marker class for buffer types, as proposed
by PEP 688. Equivalent to collections.abc.Buffer in Python 3.12. Patch by
Jelle Zijlstra.
Backport two CPython PRs fixing various issues with typing.Literal:
python/cpython#23294 and
python/cpython#23383. Both CPython PRs were
originally by Yurii Karabas, and both were backported to Python >=3.9.1, but
no earlier. Patch by Alex Waygood.
A side effect of one of the changes is that equality comparisons of Literal
objects will now raise a TypeError if one of the Literal objects being
compared has a mutable parameter. (Using mutable parameters with Literal is
not supported by PEP 586 or by any major static type checkers.)
Literal is now reimplemented on all Python versions <= 3.10.0. The
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
A newer version of typing-extensions exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.
Bumps typing-extensions from 4.5.0 to 4.6.3.
Changelog
Sourced from typing-extensions's changelog.
... (truncated)
Commits
c57333b
Update version to 4.6.322c0e70
Backport CPython PR 105152 (#208)b8a2ece
Third-party tests: cattrs has switched to pdm (#209)b0be88c
Add a cron job for testing third-party users of typing_extensions (#206)32887d3
Sync LICENSE with CPython (#205)252a4a4
Add more detailed versioning policy (#197)3c630b9
Backport some new protocol tests from CPython (#202)06f7360
Minor improvements to CI workflows (#201)5d51455
Skip a problematic test on CPython 3.12.0b1 (#200)e84f909
Prepare release 4.6.2 (#195)You can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)