Yurii Karabas
bf89ff96e6
bpo-44490: Improve typing module compatibility with types.Union (GH-27048)
2021-07-16 20:33:40 -07:00
will-ca
7569c0fe91
bpo-44468: Never skip base classes in typing.get_type_hints()
, even with invalid .__module__
. (GH-26862)
2021-06-26 16:31:32 -07:00
Ikko Ashimine
35b773accb
Fix typo in test_typing.py (GH-26853)
...
maximium -> maximum
2021-06-22 15:42:28 -07:00
Ken Jin
c5d700f0e2
Reset DeprecationWarning filters in test_typing io and re ( #26811 )
2021-06-21 11:17:55 -07:00
Sebastian Rittau
09eb817115
bpo-38291: DeprecationWarning when importing typing.{io,re} ( #26719 )
2021-06-19 10:31:18 -07:00
Ken Jin
b2f3f8e3d8
bpo-44098: Drop ParamSpec from most `__parameters__
` in typing generics (GH-26013)
...
Added two new attributes to ``_GenericAlias``:
* ``_typevar_types``, a single type or tuple of types indicating what types are treated as a ``TypeVar``. Used for ``isinstance`` checks.
* ``_paramspec_tvars ``, a boolean flag which guards special behavior for dealing with ``ParamSpec``. Setting it to ``True`` means this class deals with ``ParamSpec``.
Automerge-Triggered-By: GH:gvanrossum
2021-05-12 22:24:35 -07:00
Yurii Karabas
c40486a32d
bpo-38908: Fix issue when non runtime_protocol failed to raise TypeError ( #26067 )
2021-05-12 08:47:49 -07:00
Ken Jin
05ab4b60ab
bpo-43766: Implement PEP 647 (User-Defined Type Guards) in typing.py ( #25282 )
2021-04-27 07:31:04 -07:00
Ken Jin
1b1f9852bd
bpo-42904: Change search order of typing.get_type_hints eval ( #25632 )
...
While surprising (searching globals before locals in one specific case), this is needed for backwards compatibility.
2021-04-26 10:31:21 -07:00
Pablo Galindo
b0544ba77c
bpo-38605: Revert making 'from __future__ import annotations' the default (GH-25490)
...
This reverts commits 044a1048ca
and 1be456ae9d
, adapting the code to changes that happened after it.
2021-04-21 12:41:19 +01:00
Karthikeyan Singaravelan
eb77133564
bpo41515: Fix assert in test which throws SyntaxWarning. ( #25379 )
2021-04-13 06:54:23 -07:00
Karthikeyan Singaravelan
a9cf69df2e
bpo-41515: Fix KeyError raised in get_type_hints (GH-25352)
...
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Co-authored-by: efahl <36704995+efahl@users.noreply.github.com>
2021-04-12 11:17:25 -07:00
Ken Jin
852150ddfe
bpo-42904: Fix get_type_hints for class local namespaces (GH-24201)
2021-04-12 10:23:12 -07:00
Jelle Zijlstra
9045919bfa
bpo-43772: Fix TypeVar.__ror__ (GH-25339)
2021-04-10 20:00:05 -07:00
Jelle Zijlstra
522433601a
bpo-43783: Add ParamSpecArgs/Kwargs (GH-25298)
2021-04-10 19:57:05 -07:00
Ken Jin
efb1f0918f
bpo-42740: Support PEP 604, 612 for typing.py get_args and get_origin (GH-23942)
2020-12-28 18:26:19 -08:00
Ken Jin
4140f10a16
bpo-42740: Fix get_args for PEP 585 collections.abc.Callable (GH-23963)
...
PR 1/2. Needs backport to 3.9.
2020-12-28 12:06:19 -08:00
kj
73607be686
bpo-41559: Implement PEP 612 - Add ParamSpec and Concatenate to typing ( #23702 )
2020-12-23 20:33:48 -08:00
kj
463c7d3d14
bpo-42195: Ensure consistency of Callable's __args__ in collections.abc and typing (GH-23060)
2020-12-13 10:38:24 -08:00
Alex Grönholm
67b769f515
bpo-42059: Fix required/optional keys for TypedDict(..., total=False) (GH-22736)
2020-12-10 13:49:05 -08:00
Yurii Karabas
1b54077ff6
bpo-42345: Fix hash implementation of typing.Literal (GH-23383)
...
Fix hash implementation of `typing.Literal`.
Update docs regarding `typing.Litaral` caching.
Base implementation was done in PR #23294 .
2020-11-19 08:17:38 -08:00
Yurii Karabas
f03d318ca4
bpo-42345: Fix three issues with typing.Literal parameters (GH-23294)
...
Literal equality no longer depends on the order of arguments.
Fix issue related to `typing.Literal` caching by adding `typed` parameter to `typing._tp_cache` function.
Add deduplication of `typing.Literal` arguments.
2020-11-16 18:23:19 -08:00
kj
1f7dfb277e
bpo-42233: Correctly repr GenericAlias when used with typing module (GH-23081)
...
Noticed by @serhiy-storchaka in the bpo. `typing`'s types were not showing the parameterized generic.
Eg. previously:
```python
>>> typing.Union[dict[str, float], list[int]]
'typing.Union[dict, list]'
```
Now:
```python
>>> typing.Union[dict[str, float], list[int]]
'typing.Union[dict[str, float], list[int]]'
```
Automerge-Triggered-By: GH:gvanrossum
2020-11-01 10:13:38 -08:00
Mikhail Golubev
4f3c25043d
bpo-41923: PEP 613: Add TypeAlias to typing module ( #22532 )
...
This special marker annotation is intended to help in distinguishing
proper PEP 484-compliant type aliases from regular top-level variable
assignments.
2020-10-07 14:44:31 -07:00
Batuhan Taskaya
044a1048ca
bpo-38605: Make 'from __future__ import annotations' the default (GH-20434)
...
The hard part was making all the tests pass; there are some subtle issues here, because apparently the future import wasn't tested very thoroughly in previous Python versions.
For example, `inspect.signature()` returned type objects normally (except for forward references), but strings with the future import. We changed it to try and return type objects by calling `typing.get_type_hints()`, but fall back on returning strings if that function fails (which it may do if there are future references in the annotations that require passing in a specific namespace to resolve).
2020-10-06 13:03:02 -07:00
Patrick Reader
0705ec8a14
bpo-41792: Add is_typeddict function to typing.py (GH-22254)
...
Closes issue41792.
Also closes https://github.com/python/typing/issues/751 .
2020-09-15 21:58:32 -07:00
Maggie Moss
1b4552c5e8
bpo-41428: Implementation for PEP 604 (GH-21515)
...
See https://www.python.org/dev/peps/pep-0604/ for more information.
Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
2020-09-09 21:23:24 +01:00
Victor Stinner
0ee0b2938c
bpo-41521: Replace whitelist/blacklist with allowlist/denylist (GH-21823)
...
Rename 5 test method names in test_codecs and test_typing.
2020-08-11 15:28:43 +02:00
wyfo
653f420b53
bpo-41341: Recursive evaluation of ForwardRef in get_type_hints ( #21553 )
...
The issue raised by recursive evaluation is infinite recursion with
recursive types. In that case, only the first recursive ForwardRef is
evaluated.
2020-07-22 12:47:28 -07:00
Zackery Spytz
7fed75597f
bpo-39168: Remove the __new__ method of typing.Generic (GH-21327)
...
Automerge-Triggered-By: @gvanrossum
2020-07-04 22:07:43 -07:00
Serhiy Storchaka
0122d48681
bpo-40397: Fix subscription of nested generic alias without parameters. (GH-20021)
2020-05-10 13:39:40 +03:00
Vlad Serebrennikov
138a9b9c2a
bpo-40389: Improve repr of typing.Optional ( #19714 )
2020-04-29 18:06:39 -07:00
Victor Stinner
57572b103e
bpo-40443: Remove unused imports in tests (GH-19805)
2020-04-30 01:48:37 +02:00
Serhiy Storchaka
6292be7adf
bpo-40398: Fix typing.get_args() for special generic aliases. (GH-19720)
2020-04-27 10:27:21 +03:00
Serhiy Storchaka
68b352a698
bpo-40396: Support GenericAlias in the typing functions. (GH-19718)
2020-04-26 21:21:08 +03:00
HongWeipeng
a25a04fea5
bpo-39942:Fix failure in TypeVar
when missing __name__
(GH-19616)
...
https://bugs.python.org/issue39942
2020-04-20 21:01:53 +01:00
Serhiy Storchaka
a2ec06938f
bpo-40185: Refactor typing.NamedTuple (GH-19371)
2020-04-08 10:59:04 +03:00
Guido van Rossum
48b069a003
bpo-39481: Implementation for PEP 585 ( #18239 )
...
This implements things like `list[int]`,
which returns an object of type `types.GenericAlias`.
This object mostly acts as a proxy for `list`,
but has attributes `__origin__` and `__args__`
that allow recovering the parts (with values `list` and `(int,)`.
There is also an approximate notion of type variables;
e.g. `list[T]` has a `__parameters__` attribute equal to `(T,)`.
Type variables are objects of type `typing.TypeVar`.
2020-04-07 09:50:06 -07:00
Serhiy Storchaka
6fed3c8540
bpo-40182: Remove the _field_types attribute of the NamedTuple class (GH-19368)
2020-04-05 00:43:20 +03:00
Serhiy Storchaka
a94e6272f1
bpo-36517: Raise error on multiple inheritance with NamedTuple (GH-19363)
2020-04-04 21:31:30 +03:00
Furkan Önder
34b0598295
bpo-40086: Update/fix test_etree test case in test_typing (GH-19189)
2020-03-28 12:32:36 +00:00
Vlad Emelianov
10e87e5ef4
bpo-39627: Fix TypedDict totality check for inherited keys ( #18503 )
...
(Adapted from https://github.com/python/typing/pull/700 )
2020-02-13 11:53:29 -08:00
Jakub Stasiak
cf5b109dbb
bpo-39491: Merge PEP 593 (typing.Annotated) support ( #18260 )
...
* bpo-39491: Merge PEP 593 (typing.Annotated) support
PEP 593 has been accepted some time ago. I got a green light for merging
this from Till, so I went ahead and combined the code contributed to
typing_extensions[1] and the documentation from the PEP 593 text[2].
My changes were limited to:
* removing code designed for typing_extensions to run on older Python
versions
* removing some irrelevant parts of the PEP text when copying it over as
documentation and otherwise changing few small bits to better serve
the purpose
* changing the get_type_hints signature to match reality (parameter
names)
I wasn't entirely sure how to go about crediting the authors but I used
my best judgment, let me know if something needs changing in this
regard.
[1] 8280de241f/typing_extensions/src_py3/typing_extensions.py
[2] 17710b8798/pep-0593.rst
2020-02-04 17:10:19 -08:00
Zac Hatfield-Dodds
665ad3dfa9
Better runtime TypedDict (GH-17214)
...
This patch enables downstream projects inspecting a TypedDict subclass at runtime to tell which keys are optional.
This is essential for generating test data with Hypothesis or validating inputs with typeguard or pydantic.
2019-11-24 10:48:48 +00:00
benedwards14
0aca3a3a1e
bpo-37838: get_type_hints for wrapped functions with forward reference (GH-17126)
...
https://bugs.python.org/issue37838
2019-11-21 17:24:58 +00:00
Serhiy Storchaka
13abda4100
bpo-38405: Make nested subclasses of typing.NamedTuple pickleable. (GH-16641)
2019-10-08 16:29:52 +03:00
Serhiy Storchaka
8fc5839a9d
bpo-38191: Turn warnings into errors in NamedTuple() and TypedDict(). (GH-16238)
2019-09-17 22:41:55 +03:00
Serhiy Storchaka
2bf31ccab3
bpo-38191: Accept arbitrary keyword names in NamedTuple() and TypedDict(). (GH-16222)
...
This includes such names as "cls", "self", "typename", "_typename",
"fields" and "_fields".
Passing positional arguments by keyword is deprecated.
2019-09-17 21:22:00 +03:00
Zackery Spytz
d057b896f9
bpo-37953: Fix deprecation warnings in test_typing (GH-16133)
...
self.assertEquals() is deprecated.
```
./python -We -m test test_typing
Run tests sequentially
0:00:00 load avg: 0.23 [1/1] test_typing
test test_typing failed -- Traceback (most recent call last):
File "/home/lubuntu2/cpython/Lib/test/test_typing.py", line 2382, in test_forward_equality_gth
self.assertEquals(Union[c1, c1_gth], Union[c1])
File "/home/lubuntu2/cpython/Lib/unittest/case.py", line 1390, in deprecated_func
warnings.warn(
DeprecationWarning: Please use assertEqual instead.
test_typing failed
== Tests result: FAILURE ==
1 test failed:
test_typing
Total duration: 140 ms
Tests result: FAILURE
```
https://bugs.python.org/issue37953
2019-09-14 00:42:56 -07:00
plokmijnuhby
e082e7cbe4
bpo-37953: Fix ForwardRef hash and equality checks (GH-15400)
...
Ideally if we stick a ForwardRef in a dictionary we would like to reliably be able to get it out again.
https://bugs.python.org/issue37953
2019-09-13 20:40:54 +01:00