Sebastian Rittau
6708ffae14
Add tz{utc,offset}.fromutc() ( #6360 )
2021-11-23 00:33:40 -08:00
Sebastian Rittau
4c41f5d769
Only run daily stubtest on python/typeshed repository ( #6354 )
2021-11-22 07:35:35 -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
5b668419ae
Fix MutableMapping overrides ( #6352 )
2021-11-21 07:04:40 -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
Jelle Zijlstra
1f1bc6f27c
add pre-commit config ( #6341 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Akuli <akuviljanen17@gmail.com >
2021-11-19 16:46:51 +02: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
Sebastian Rittau
ccc09aa196
Rework stubtest tests ( #6318 )
2021-11-17 21:54:13 -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
Diego Argueta
2f0969cd8d
Add prefetch argument to paramiko SFTPClient.getfo ( #6331 )
...
Co-authored-by: Akuli <akuviljanen17@gmail.com >
2021-11-17 21:31:22 -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
Sebastian Rittau
9c2be9500a
Add hilite(shebang) argument and return type ( #6316 )
2021-11-16 09:17:08 -08:00
Sebastian Rittau
1b0e268102
Improve fpdf.image_parsing ( #6313 )
...
* Annotate more attributes, arguments, and return types.
* Add "dims" argument to get_img_info(), added in 2.4.6.
2021-11-16 17:35:08 +01:00
Sebastian Rittau
bcc743dd2b
mypy_test: Skip files starting with '.' ( #6306 )
2021-11-16 17:00:39 +02:00
Alex Waygood
1274445941
Resolve builtins/importlib inconsistencies ( #6310 )
2021-11-16 15:19:21 +01:00
Sebastian Rittau
edf82e8094
Clean up mypy flags ( #6308 )
...
* Remove --strict-optional: This has been the default since mypy 0.600.
* Remove --disallow-subclassing-any: When we subclass Any in typeshed,
we do so deliberately. This just causes us to add unncessary ignores.
2021-11-16 12:58:53 +00: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
Sebastian Rittau
5bd747570d
Update Python version for pytype ( #6288 )
2021-11-12 22:26:22 +01:00
Alex Waygood
16a76a604b
Make staticmethod/classmethod generic in their return type ( #6285 )
2021-11-12 17:35:05 +01:00
Alex Waygood
4b3a8a8790
Improve support for running tests on Windows ( #6284 )
2021-11-12 17:09:20 +01:00