Commit Graph

3619 Commits

Author SHA1 Message Date
Alex Waygood
8431e6c7c3 Add missing __class_getitem__ method to itertools.chain (#6389) 2021-11-26 21:50:49 +02:00
Alex Waygood
80425e8fcd Add missing __class_getitem__ method to types.AsyncGeneratorType (#6390) 2021-11-26 21:50:20 +02:00
Akuli
a5bc1e037f Add mypy error codes to '# type: ignore' comments (#6379) 2021-11-26 07:07:56 +01:00
Alex Waygood
9707cb00f6 Python 3.11 removals in stdlib (#6374)
Co-authored-by: Akuli <akuviljanen17@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-25 19:34:12 +02:00
Pavel Karateev
2bd1c7dbab Add math.cbrt() for Python 3.11 (#6375) 2021-11-25 11:00:01 +02:00
Alex Waygood
aa92ca9138 Revise unittest stub to reflect removed methods in 3.11 (#6373) 2021-11-24 09:43:03 -08:00
Pavel Karateev
7df997c6c0 Add __int__ to Fraction in Python 3.11 (#6372) 2021-11-24 15:59:08 +01:00
Alex Waygood
a9cfd23fc3 Further reduce use of deprecated contextlib aliases (#6370) 2021-11-23 15:25:39 -08:00
Pavel Karateev
b459329cec Add __complex__ to complex and __bytes__ to bytes for Python 3.11 (#6369) 2021-11-23 13:28:53 -08:00
Jukka Lehtosalo
a7798f6060 Revert "lru_cache preserves signature of wrapped function (#6221)" (#6356)
This reverts commit 8bda66a737.

The change causes issues with ParamSpec implementations in type
checkers, at least pyright and my work-in-progress support for
ParamSpec in mypy. It's not yet clear how to fix the issues, so I
think that it's best to revert this, at least temporarily until we've
found a good solution. See #6347 for context.
2021-11-22 12:52:27 +01:00
Jukka Lehtosalo
25649bc1e5 Add getattr overload variants to help mypy type inference (#6355)
These silence errors about missing type annotations for calls
like these:

```
x = getattr(o, 'a', [])
y = getattr(o, 'b', {})
```

This is basically a generalization of #5518 and other overloads we already
have.

This works around python/mypy#11572. I encountered the issue in several
places when testing recent typeshed against an internal repo.
2021-11-22 11:08:40 +00:00
Alex Waygood
848753a4a9 Use contextlib classes inside contextlib (#6353) 2021-11-22 07:40:11 +01:00
Nikita Sobolev
a2f0dbfb2b Do not use ClassVars with generic variables (#6348) 2021-11-21 07:20:05 -08:00
Alex Waygood
dc5f6410a8 DefaultDict -> defaultdict, typing.ContextManager -> contextlib.AbstractContextManager (#6351) 2021-11-21 07:07:35 -08:00
Sebastian Rittau
a6e369906d max() uses SupportsGreaterThanT (#6342)
Add SupportsGreaterThan and SupportsGreaterThanT

Closes: #6336

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2021-11-21 13:28:46 +01:00
layday
b2b7cebb65 sys.meta_path: don't require find_module() or supporting bytes paths (#6344) 2021-11-20 15:32:21 +02:00
Alex Waygood
029cf555e7 Use lowercase set/deque in stdlib subdirectories (#6350) 2021-11-20 04:20:25 -08:00
Alex Waygood
5c8e68f0eb Use lowercase set, frozenset and deque where possible (#6346) 2021-11-19 15:05:45 -08:00
Alex Waygood
916ca06885 Correct positional-only parameters in datetime.pyi (#6343)
These are all positional-or-keyword parameters in the pure-Python implementation, but positional-only parameters in the C implementation. Thus, passing them as keyword arguments is unreliable, and will result in errors being raised in some situations.
2021-11-19 07:10:18 -08:00
László Károlyi
1fcb613338 Add HTTPResponse.fp as io.BufferedReader (#6324)
See da20d7401d/Lib/http/client.py (L256)
2021-11-19 05:16:48 -08:00
Pavel Karateev
42fa8434f0 Add codeobject.co_positions() for Python 3.11 (#6339) 2021-11-18 11:36:41 -08:00
Nikita Sobolev
3db6ac2d7b Now add= in tkinter.pyi can be '' or '+' (#6334) 2021-11-18 21:13:10 +02:00
Akuli
0cd1135219 Revert "do not use mypy-specific syntax in '# type: ignore' comments" (#6338) 2021-11-18 20:13:07 +02:00
Jelle Zijlstra
0d7064c357 Make Mapping/MutableMapping params positional-only (#5772)
These are positional-only on dict, so it makes sense to mark them as positional-only in these base classes too.

Fixes #5771
2021-11-18 07:54:58 +01:00
Sebastian Rittau
77810277d5 Recommend to use mypy error codes if applicable (#6305) 2021-11-17 21:58:05 -08:00
Alex Waygood
f6702e3871 Improve __sub__ and __add__ for datetime and date (#6323) 2021-11-17 21:37:41 -08:00
Alex Waygood
48cfe5d2f4 Further improve pow (#6325) 2021-11-17 21:33:17 -08:00
Alex Waygood
fbb89f9fd5 Fix isort w.r.t. _ast/_collections_abc/_tracemalloc/_warnings (#6329) 2021-11-17 08:29:44 -08:00
Jukka Lehtosalo
25ba2bad06 logging: Make LoggerAdapter and StreamHandler generic in Python 2 (#6330)
Without this writing straddling code is quite tricky, as these are
generic in Python 3.
2021-11-17 16:28:44 +00:00
Alex Waygood
4db26e5841 Correct positional-only parameters in array.array (#6328) 2021-11-17 06:35:55 -08:00
Alex Waygood
906fe8bebd Correct positional-only method parameters in decimal.pyi (#6327)
While these parameters are positional-or-keyword in the pure-Python implementation of `decimal`, they are positional-only in the C implementation, so errors will be raised at runtime if users attempt to use these methods with keyword arguments.
2021-11-17 14:17:40 +01:00
Alex Waygood
ce6458cf2b Use _typeshed.SupportsTrunc in builtins (#6326) 2021-11-16 18:45:46 -08:00
Alex Waygood
aa2290e160 Fix print stub (#6314) 2021-11-16 20:11:40 +02:00
Alex Waygood
7598396a6d Simplify stub for datetime.datetime (#6320) 2021-11-16 19:03:46 +01:00
Alex Waygood
fd48026e64 Bring _collections_abc closer to runtime definition (#6312) 2021-11-16 09:41:22 -08:00
Alex Waygood
1274445941 Resolve builtins/importlib inconsistencies (#6310) 2021-11-16 15:19:21 +01:00
Alex Waygood
aa7e277adb Harmonise return type of builtins.__import__ and importlib.import_module (#6302)
builtins.__import__ now returns ModuleType instead of Any. In addition, add __getattr__() to ModuleType to ease using imported modules.
2021-11-15 16:21:46 +01:00
Alex Waygood
10c9d8cfce Add @final to many unsubclassable stdlib classes (#6299) 2021-11-15 14:45:24 +01:00
Alex Waygood
5b94c6a94d Improve stubs for collections.defaultdict (#6294) 2021-11-15 14:07:16 +01:00
Alex Waygood
cec4a85147 Improve stub for collections.deque (#6293) 2021-11-15 14:05:07 +01:00
Jelle Zijlstra
0860a911e9 typing_extensions: add Self, Required, NotRequired (#6296) 2021-11-14 23:45:35 +01:00
Alex Waygood
88f86a0180 Reduce use of Any in builtins (#6292) 2021-11-14 14:02:52 -08:00
Alex Waygood
34c91be7e4 Add @final to NotImplementedType and ellipsis (#6291)
These aren't subclassable at runtime. (Missed these two in my previous PR due to the fact that they're exposed in the `types` module, rather than builtins, at runtime. Also they're both a little weird to say the least, so let's see what the CI thinks...)
2021-11-13 18:45:49 -08:00
Alex Waygood
f6e697f93e Add @final to slice/memoryview/range (#6289)
None of these classes can be subclassed at runtime.
2021-11-13 18:03:56 -08:00
Jelle Zijlstra
9eabedca5f Make NoReturn a SpecialForm (#6290)
This is consistent with the runtime definition: https://github.com/python/cpython/blob/main/Lib/typing.py#L434.

The previous definition was wrong; NoReturn is not and should not be equivalent to None. This fixes an issue in pyanalyze where it was interpreting NoReturn as equivalent to None.
2021-11-12 17:34:44 -08:00
Alex Waygood
3324e2277e Improve stubs for __pow__ (#6287) 2021-11-12 14:09:26 -08:00
Alex Waygood
16a76a604b Make staticmethod/classmethod generic in their return type (#6285) 2021-11-12 17:35:05 +01:00
Jelle Zijlstra
fecf258b42 typing_extensions.get_type_hints exists only in 3.7+ (#6283) 2021-11-12 17:45:25 +02:00
Alex Waygood
59408d9c9c Add __name__/__qualname__/__wrapped__ to staticmethod/classmethod (#6281) 2021-11-12 12:53:32 +01:00
Alex Waygood
bfdb87b9fd Make callable() return TypeGuard (#6274) 2021-11-12 12:21:53 +01:00