Commit Graph

5026 Commits

Author SHA1 Message Date
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
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
Steve Dignam
49e5b528dc Add more type hints for pyyaml (#6265) 2021-11-12 12:23:58 +01:00
Stéphane Brunner
9c9853967d Redis Sentinel master_for, slave_for returns a Redis client (#6269) 2021-11-12 12:23:12 +01:00
Alex Waygood
bfdb87b9fd Make callable() return TypeGuard (#6274) 2021-11-12 12:21:53 +01:00
Nikita Sobolev
cb64e814a1 Adds missing constants to sqlite3.dbapi2 (#6279) 2021-11-12 12:14:37 +01:00
Alex Waygood
4eea13b60f Add `__call__ to staticmethod` (#6275) 2021-11-12 12:05:21 +01:00
Shantanu
bf92378722 Bump typed-ast version, recommend Python 3.8 for tests (#6278) 2021-11-12 02:53:42 -08:00
Sebastian Rittau
f2551376ae Add stubs for fpdf2 (#6252) 2021-11-10 19:06:26 +02:00
Maximilian Hils
ab25042efa Add pyOpenSSL 21 constants (#6273) 2021-11-10 07:59:42 +01:00
Sebastian Rittau
2679ed1c07 Add some kwonly arguments to Session.send() (#6266)
Bump version to 2.26
2021-11-09 17:23:48 -08:00
KotlinIsland
7d9d670ff9 add TypeGuard to some inspect functions (#6107) 2021-11-09 20:08:14 +01:00
Alex Waygood
7f93384e6b Make arguments positional-only for `int, memoryview, classmethod, staticmethod and BaseException` (#6272) 2021-11-09 19:56:09 +01:00
Akuli
230f149539 Remove unnecessary pyrightconfig excludes (#6271) 2021-11-09 20:00:59 +02:00
Sebastian Rittau
e22b63d9cc Reduce mypy_test output (#6268)
Only print the mypy command twice per version: Once for the stdlib and
once for the stubs. Use a dummy /tmp path. Add a header for each tested
Python version and remove the Python version from the individual stubs.
2021-11-09 18:03:29 +01:00
Bob Thomas
a0c0435e95 Add markdown.blockprocessors.ReferenceProcessor (#6270) 2021-11-09 18:47:25 +02:00
Jelle Zijlstra
98e5112195 Improve pymysql.converters stubs (#6267)
I spent far too much time being confused about why pyanalyze thought `pymysql.converters.escape_dict` only takes two arguments.

I rewrote the stubs from scratch using the implementation: https://github.com/PyMySQL/PyMySQL/blob/main/pymysql/converters.py.

The "charset" argument is ignored as far as I can tell; it gets passed to other functions but no function actually uses it.

Co-authored-by: Sebastian Rittau <srittau@rittau.biz>
2021-11-09 07:57:29 -08:00
luzpaz
b95b729b9e Fix typos (#6263)
Found via `codespell -q 3 -L alo,asend,ba,nams,spawnve`
2021-11-08 18:23:15 -08:00
KotlinIsland
6e646f43dd Remove BaseAdapter from requests.sessions (#6264) 2021-11-08 17:33:16 -08:00