guix/gnu/packages/patches/python-typeguard-python3.10.patch
Lars-Dominik Braun a7c96167ae
gnu: python-typeguard: Python 3.10 compatibility.
* gnu/packages/patches/python-typeguard-python3.10.patch: New file.
* gnu/local.mk: Register it.
* gnu/packages/python-xyz.scm (python-typeguard): Use it.
2023-03-18 10:41:35 +01:00

48 lines
1.5 KiB
Diff

Taken from Gentoo, which adapted
https://github.com/agronholm/typeguard/commit/e0db07a777d5a481eaba6162354adf32286ce21b
diff --git a/src/typeguard/__init__.py b/src/typeguard/__init__.py
index 5684d63..27fa30b 100644
--- a/src/typeguard/__init__.py
+++ b/src/typeguard/__init__.py
@@ -61,22 +61,25 @@ except ImportError:
from typing import _ForwardRef as ForwardRef
evaluate_forwardref = ForwardRef._eval_type
-if sys.version_info >= (3, 10):
- from typing import is_typeddict
-else:
- _typed_dict_meta_types = ()
- if sys.version_info >= (3, 8):
- from typing import _TypedDictMeta
- _typed_dict_meta_types += (_TypedDictMeta,)
+try:
+ from typing_extensions import is_typeddict
+except ImportError:
+ if sys.version_info >= (3, 10):
+ from typing import is_typeddict
+ else:
+ _typed_dict_meta_types = ()
+ if sys.version_info >= (3, 8):
+ from typing import _TypedDictMeta
+ _typed_dict_meta_types += (_TypedDictMeta,)
- try:
- from typing_extensions import _TypedDictMeta
- _typed_dict_meta_types += (_TypedDictMeta,)
- except ImportError:
- pass
+ try:
+ from typing_extensions import _TypedDictMeta
+ _typed_dict_meta_types += (_TypedDictMeta,)
+ except ImportError:
+ pass
- def is_typeddict(tp) -> bool:
- return isinstance(tp, _typed_dict_meta_types)
+ def is_typeddict(tp) -> bool:
+ return isinstance(tp, _typed_dict_meta_types)
if TYPE_CHECKING: