From 674b2c8b77604caf779a0ee27c7b0fe0da990b40 Mon Sep 17 00:00:00 2001 From: Wang Mingyu Date: Thu, 1 Jun 2023 17:03:38 +0800 Subject: python3-typing-extensions: upgrade 4.5.0 -> 4.6.2 Changelog: ============ - Fix use of @deprecated on classes with __new__ but no __init__. - 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. - Change deprecated @runtime to formal API @runtime_checkable in the error message. - 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. - typing_extensions is now documented at https://typing-extensions.readthedocs.io/en/latest/. - Add typing_extensions.Buffer, a marker class for buffer types, as proposed by PEP 688. Equivalent to collections.abc.Buffer in Python 3.12. - Backport two CPython PRs fixing various issues with typing.Literal: python/cpython#23294 and python/cpython#23383. Both CPython PRs were originally, and both were backported to Python >=3.9.1, but no earlier. - 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. - Backport CPython PR 26067, ensuring that isinstance() calls on protocols raise TypeError when the protocol is not decorated with @runtime_checkable. - Backport several significant performance improvements to runtime-checkable protocols that have been made in Python 3.12 (see python/cpython#74690 for details). - 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 use inspect.getattr_static() rather than hasattr() to lookup whether attributes exist (backporting python/cpython#103034). - Backport the ability to define __init__ methods on Protocol classes, a change made in Python 3.11 (originally implemented in python/cpython#31628 - Speedup isinstance(3, typing_extensions.SupportsIndex) by >10x on Python <3.12. - Add typing_extensions versions of SupportsInt, SupportsFloat, SupportsComplex, SupportsBytes, SupportsAbs and SupportsRound. These have the same semantics as the versions from the typing module, but isinstance() checks against the typing_extensions versions are >10x faster at runtime on Python <3.12. - Add __orig_bases__ to non-generic TypedDicts, call-based TypedDicts, and call-based NamedTuples. - Add typing_extensions.get_original_bases, a backport of types.get_original_bases, introduced in Python 3.12 (CPython PR python/cpython#101827, originally - This function should always produce correct results when called on classes constructed using features from typing_extensions. - Constructing a call-based TypedDict using keyword arguments for the fields now causes a DeprecationWarning to be emitted. This matches the behaviour of typing.TypedDict on 3.11 and 3.12. - Backport the implementation of NewType from 3.10 (where it is implemented as a class rather than a function). This allows user-defined NewTypes to be pickled. - Fix tests and import on Python 3.12, where typing.TypeVar can no longer be subclassed. - Add typing_extensions.TypeAliasType, a backport of typing.TypeAliasType from PEP 695. - Backport changes to the repr of typing.Unpack that were made in order to implement PEP 692 (backport of python/cpython#104048). (From OE-Core rev: a37154b9166323d05cca970ebb37bee0d5250893) Signed-off-by: Wang Mingyu Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- .../python/python3-typing-extensions_4.5.0.bb | 24 ---------------------- .../python/python3-typing-extensions_4.6.2.bb | 24 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 24 deletions(-) delete mode 100644 meta/recipes-devtools/python/python3-typing-extensions_4.5.0.bb create mode 100644 meta/recipes-devtools/python/python3-typing-extensions_4.6.2.bb diff --git a/meta/recipes-devtools/python/python3-typing-extensions_4.5.0.bb b/meta/recipes-devtools/python/python3-typing-extensions_4.5.0.bb deleted file mode 100644 index 80f87cae84..0000000000 --- a/meta/recipes-devtools/python/python3-typing-extensions_4.5.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Backported and Experimental Type Hints for Python 3.7+" -DESCRIPTION = "The typing_extensions module serves two related purposes:\ -\ -* Enable use of new type system features on older Python versions. For \ - example, typing.TypeGuard is new in Python 3.10, but typing_extensions \ - allows users on previous Python versions to use it too.\ -* Enable experimentation with new type system PEPs before they are accepted \ - and added to the typing module." -HOMEPAGE = "https://github.com/python/typing_extensions" -BUGTRACKER = "https://github.com/python/typing_extensions/issues" -SECTIONS = "libs" -LICENSE = "PSF-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f16b323917992e0f8a6f0071bc9913e2" - -# The name on PyPi is slightly different. -PYPI_PACKAGE = "typing_extensions" - -SRC_URI[sha256sum] = "5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb" - -inherit pypi python_flit_core - -UPSTREAM_CHECK_REGEX = "/typing-extensions/(?P(\d+[\.\-_]*)+)/" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-typing-extensions_4.6.2.bb b/meta/recipes-devtools/python/python3-typing-extensions_4.6.2.bb new file mode 100644 index 0000000000..be43fe4a64 --- /dev/null +++ b/meta/recipes-devtools/python/python3-typing-extensions_4.6.2.bb @@ -0,0 +1,24 @@ +SUMMARY = "Backported and Experimental Type Hints for Python 3.7+" +DESCRIPTION = "The typing_extensions module serves two related purposes:\ +\ +* Enable use of new type system features on older Python versions. For \ + example, typing.TypeGuard is new in Python 3.10, but typing_extensions \ + allows users on previous Python versions to use it too.\ +* Enable experimentation with new type system PEPs before they are accepted \ + and added to the typing module." +HOMEPAGE = "https://github.com/python/typing_extensions" +BUGTRACKER = "https://github.com/python/typing_extensions/issues" +SECTIONS = "libs" +LICENSE = "PSF-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f16b323917992e0f8a6f0071bc9913e2" + +# The name on PyPi is slightly different. +PYPI_PACKAGE = "typing_extensions" + +SRC_URI[sha256sum] = "06006244c70ac8ee83fa8282cb188f697b8db25bc8b4df07be1873c43897060c" + +inherit pypi python_flit_core + +UPSTREAM_CHECK_REGEX = "/typing-extensions/(?P(\d+[\.\-_]*)+)/" + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf