deps: update dependency typing-extensions to v4.8.0 #2174
Merged
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 PR contains the following updates:
==4.1.1
->==4.8.0
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
python/typing_extensions (typing-extensions)
v4.8.0
Compare Source
No changes since 4.8.0rc1.
v4.7.1
Compare Source
TypedDict
,NamedTuple
andis_protocol
on PyPy-3.7 andPyPy-3.8. Patch by Alex Waygood. Note that PyPy-3.7 and PyPy-3.8 are unsupported
by the PyPy project. The next feature release of typing-extensions will
drop support for PyPy-3.7 and may also drop support for PyPy-3.8.
v4.7.0
Compare Source
which reaches its end of life on June 27, 2023. Version 4.8.0 will support
only Python 3.8.0 and up.
typing_extensions.Protocol
class that had one or morenon-callable members would raise
TypeError
whenissubclass()
was called against it, even if it defined a custom
__subclasshook__
method. The correct behaviour -- which has now been restored -- is not to
raise
TypeError
in these situations if a custom__subclasshook__
methodis defined. Patch by Alex Waygood (backporthttps://github.com/python/cpython/pull/105976l/105976).
v4.6.3
Compare Source
runtime-checkable protocols. The regression meant
that doing
class Foo(X, typing_extensions.Protocol)
, whereX
was a class thathad
abc.ABCMeta
as its metaclass, would then cause subsequentisinstance(1, X)
calls to erroneously raiseTypeError
. Patch byAlex Waygood (backporting the CPythonhttps://github.com/python/cpython/pull/105152l/105152).
typing_extensions
is distributed under the same license asCPython itself.
a bug in CPython, which will be fixed in 3.12.0b2. The
typing_extensions
test suite now passes on 3.12.0b1.v4.6.2
Compare Source
@deprecated
on classes with__new__
but no__init__
.Patch by Jelle Zijlstra.
runtime-checkable protocol using
isinstance()
would causeAttributeError
to be raised if using Python 3.7.
v4.6.1
Compare Source
@runtime
to formal API@runtime_checkable
in the errormessage. Patch by Xuehai Pan.
Protocol
that wasgeneric over a
ParamSpec
or aTypeVarTuple
would causeTypeError
to beraised. Patch by Alex Waygood.
v4.6.0
Compare Source
typing_extensions
is now documented athttps://typing-extensions.readthedocs.io/en/latest/. Patch by Jelle Zijlstra.
Add
typing_extensions.Buffer
, a marker class for buffer types, as proposedby PEP 688. Equivalent to
collections.abc.Buffer
in Python 3.12. Patch byJelle Zijlstra.
Backport two CPython PRs fixing various issues with
typing.Literal
:https://github.com/python/cpython/pull/232943294 https://github.com/python/cpython/pull/23383ll/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 theLiteral
objects beingcompared has a mutable parameter. (Using mutable parameters with
Literal
isnot supported by PEP 586 or by any major static type checkers.)
Literal
is now reimplemented on all Python versions <= 3.10.0. Thetyping_extensions
version does not suffer from the bug that was fixed inhttps://github.com/python/cpython/pull/293349334. (The CPython bugfix was
backported to CPython 3.10.1 and 3.9.8, but no earlier.)
Backport CPython PR 26067
(originally by Yurii Karabas), ensuring that
isinstance()
calls onprotocols raise
TypeError
when the protocol is not decorated with@runtime_checkable
. Patch by Alex Waygood.Backport several significant performance improvements to runtime-checkable
protocols that have been made in Python 3.12 (https://github.com/python/cpython/issues/74690es/74690 for details). Patch by Alex
Waygood.
A side effect of one of the performance improvements is that the members of
a runtime-checkable protocol are now considered “frozen” at runtime as soon
as the class has been created. Monkey-patching attributes onto a
runtime-checkable protocol will still work, but will have no impact on
isinstance()
checks comparing objects to the protocol. See"What's New in Python 3.12"
for more details.
isinstance()
checks against runtime-checkable protocols now useinspect.getattr_static()
rather thanhasattr()
to lookup whetherattributes exist (backporthttps://github.com/python/cpython/pull/1030343034).
This means that descriptors and
__getattr__
methods are no longerunexpectedly evaluated during
isinstance()
checks against runtime-checkableprotocols. However, it may also mean that some objects which used to be
considered instances of a runtime-checkable protocol on older versions of
typing_extensions
may no longer be considered instances of that protocolusing the new release, and vice versa. Most users are unlikely to be affected
by this change. Patch by Alex Waygood.
Backport the ability to define
__init__
methods on Protocol classes, achange made in Python 3.11 (originally implementedhttps://github.com/python/cpython/pull/31628ll/31628 by Adrian Garcia Badaracco).
Patch by Alex Waygood.
Speedup
isinstance(3, typing_extensions.SupportsIndex)
by >10x on Python<3.12. Patch by Alex Waygood.
Add
typing_extensions
versions ofSupportsInt
,SupportsFloat
,SupportsComplex
,SupportsBytes
,SupportsAbs
andSupportsRound
. Thesehave the same semantics as the versions from the
typing
module, butisinstance()
checks against thetyping_extensions
versions are >10x fasterat runtime on Python <3.12. Patch by Alex Waygood.
Add
__orig_bases__
to non-generic TypedDicts, call-based TypedDicts, andcall-based NamedTuples. Other TypedDicts and NamedTuples already had the attribute.
Patch by Adrian Garcia Badaracco.
Add
typing_extensions.get_original_bases
, a backport oftypes.get_original_bases
,introduced in Python 3.12 (CPythonhttps://github.com/python/cpython/pull/101827l/101827, originally by James
Hilton-Balfe). Patch by Alex Waygood.
This function should always produce correct results when called on classes
constructed using features from
typing_extensions
. However, it mayproduce incorrect results when called on some
NamedTuple
orTypedDict
classes that use
typing.{NamedTuple,TypedDict}
on Python <=3.11.Constructing a call-based
TypedDict
using keyword arguments for the fieldsnow causes a
DeprecationWarning
to be emitted. This matches the behaviourof
typing.TypedDict
on 3.11 and 3.12.Backport the implementation of
NewType
from 3.10 (where it is implementedas a class rather than a function). This allows user-defined
NewType
s to bepickled. Patch by Alex Waygood.
Fix tests and import on Python 3.12, where
typing.TypeVar
can no longer besubclassed. Patch by Jelle Zijlstra.
Add
typing_extensions.TypeAliasType
, a backport oftyping.TypeAliasType
from PEP 695. Patch by Jelle Zijlstra.
Backport changes to the repr of
typing.Unpack
that were made in order toimplement PEP 692 (backport of
https://github.com/python/cpython/pull/1040484048). Patch by Alex Waygood.
v4.5.0
Compare Source
typing_extensions.deprecated
. Patchby Jelle Zijlstra.
default
parameter, PEP 696. Enablesruntime check if
None
was passed as default. Patch by Marc Mueller (@cdce8p).@typing_extensions.override
decorator now sets the.__override__
attribute. Patch by Steven Troxler.
get_type_hints()
on cross-module inheritedTypedDict
in 3.9 and 3.10.Patch by Carl Meyer.
frozen_default
parameter ondataclass_transform
. Patch by Erik De Bonte.v4.4.0
Compare Source
typing_extensions.Any
a backport of python 3.11's Any class which issubclassable at runtime. (backport from python/cpython#31841, by Shantanu
and Jelle Zijlstra). Patch by James Hilton-Balfe (@Gobot1234).
default
parameter, PEP 696.Patch by Marc Mueller (@cdce8p).
typing_extensions.override
. Patch byJelle Zijlstra.
infer_variance
parameter toTypeVar
, as specified in PEP 695.Patch by Jelle Zijlstra.
v4.3.0
Compare Source
typing_extensions.NamedTuple
, allowing for genericNamedTuple
s onPython <3.11 (backport from python/cpython#92027, by Serhiy Storchaka). Patch
by Alex Waygood (@AlexWaygood).
typing_extensions.TypedDict
to allow for genericTypedDict
s onPython <3.11 (backport from python/cpython#27663, by Samodya Abey). Patch by
Alex Waygood (@AlexWaygood).
v4.2.0
Compare Source
typing.Unpack
andtyping.TypeVarTuple
on Python 3.11.ParamSpecArgs
andParamSpecKwargs
to__all__
.typing_extensions.dataclass_transform
to rename thefield_descriptors
parameter tofield_specifiers
and acceptarbitrary keyword arguments.
typing_extensions.get_overloads
andtyping_extensions.clear_overloads
, and add registry support totyping_extensions.overload
. Backport from python/cpython#89263.typing_extensions.assert_type
. Backport from bpo-46480.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.