Commit Graph

5045 Commits

Author SHA1 Message Date
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