Commit Graph
100 Commits
Author SHA1 Message Date
Alex Waygood 536f783a82 Exclude Y037 in .flake8 config, for now (#7600)
Unblocks https://github.com/PyCQA/flake8-pyi/pull/202
2022-04-06 17:24:02 +01:00
Alex Waygood 3c85f36b7f Reduce code duplication in the email module (#7558) 2022-04-06 12:20:14 +02:00
Alex Waygood 1ceb486b75 Replace Union with union operator (#7596) 2022-04-05 23:07:31 +02:00
Alex Waygood 85aec034ae Mark many attributes as read-only properties (#7591) 2022-04-05 08:37:24 +02:00
Alex Waygood b8f2eb3930 Make several fields on _dummy_threading classes read-only properties (#7588) 2022-04-05 08:35:00 +02:00
Alex Waygood 414f324083 Add missing __match_args__ attributes to several unix-only structseq classes (#7587) 2022-04-04 21:33:49 +01:00
Alex Waygood be64b01e6c Upgrade black version (#7582) 2022-04-03 22:34:44 +01:00
Alex Waygood 646993c211 Improve imp._FileLike.__exit__ (#7577)
The signature of this method currently doesn't work quite as intended: see https://github.com/PyCQA/flake8-pyi/pull/199#issuecomment-1086087342

Classes will [still be accepted](https://mypy-play.net/?mypy=latest&python=3.10&gist=77efe095d01edeb1a4614166f0c9cf68) as conforming to this protocol if they have more permissive signatures such as `def __exit__(self, *args: object) -> None: ...`
2022-04-01 18:01:23 +01:00
Alex Waygood ec27c00ca2 Third-party stubs: Improve several __exit__ methods (#7575) 2022-04-01 08:03:12 -07:00
Alex Waygood ae6ff79c0e flake8 config: remove line that exists only for Python-2 checking (#7570) 2022-04-01 08:07:16 +02:00
Alex Waygood da3e69d093 stdlib: Improve a bunch of __(a)exit__ methods (#7571) 2022-04-01 08:05:25 +02:00
Alex Waygood 85f060b26d Exclude the Python-2 stdlib from flake8 CI check (#7569)
We should hopefully be getting rid of this entire subdirectory soon anyway (#7367). This will make PRs to flake8-pyi a lot easier.
2022-03-31 23:35:45 +01:00
Alex Waygood 1245bbcc8d Use type alias to simplify overloads in unittest.mock (#7563) 2022-03-29 08:19:26 +02:00
Alex Waygood a3245db63c Remove unneeded # noqa comments, fix broken # noqa comments (#7561) 2022-03-28 23:17:44 +02:00
Alex Waygood 478e7527aa mypy_test: Add two more config options (#7560)
`--enable-error-code ignore-without-code` means that mypy will ignore any type: ignore comments that don't have mypy error codes. It doesn't appear to have any effect on type: ignore comments that mypy_test doesn't use (e.g. because they're pyright- or stubtest-specific).

`--strict-equality` means that mypy will raise errors if we do something silly like `if sys.version_info == "linux"`. flake8-pyi should also check this for us, but I don't see any reason not to have mypy check this as well.
2022-03-28 16:06:13 +01:00
Alex WaygoodandJelle Zijlstra 61b22db692 Add many missing __match_args__ attributes (#7556)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-03-26 19:36:28 +00:00
Alex Waygood 1192db784c Use flake8-pyi 22.3.0 (#7557)
Hot off the presses!
2022-03-26 19:27:11 +00:00
Alex Waygood b63c963077 Use conditional overloads to simplify several stdlib functions (#7540) 2022-03-25 08:47:03 +01:00
Alex Waygood d086488e0e Revert "Use import instead of type alias in email/message.pyi" (#7548)
Let's see if this is fixed in mypy 0.942.

This reverts the changes made in #7022, which was a hack to fix #7019
2022-03-24 11:22:30 -07:00
Alex Waygood 4b63f345ad Upgrade mypy version to 0.942 (#7547) 2022-03-24 18:42:26 +01:00
Alex Waygood 74ecce5b68 Improve host parameter of socket.getaddrinfo() (#7518)
As pointed out by @srittau in #7517, `bytearray` [is redundant](https://docs.python.org/3/library/typing.html#typing.ByteString) in a union where `bytes` is also in the union.
2022-03-20 23:35:03 +00:00
Alex WaygoodandJelle Zijlstra 1acc8f3bd6 Use PEP 604 syntax wherever possible, part II (#7514)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-03-19 14:27:35 +00:00
Alex WaygoodandJelle Zijlstra 340c6c97ed Add mypy error codes to type: ignores, remove unused ignores (#7504)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-03-19 13:10:00 +00:00
Alex Waygood 4308915e06 Make __hash__ a ClassVar for several classes where it is set to None (#7485) 2022-03-19 05:59:10 -07:00
Alex WaygoodandThomas Grainger 5c44ae4f8c Improve various signatures that shouldn't be async def, but currently are (#7491)
Co-authored-by: Thomas Grainger <tagrain@gmail.com>
2022-03-18 20:54:39 -07:00
Alex Waygood e8286e7048 Use PEP 604 syntax in non-autogenerated protobuf stubs (#7506) 2022-03-17 11:34:31 +00:00
Alex Waygood ec8f51726f Unpin pyright-action (#7499)
The issues that broke typeshed's CI have been fixed by https://github.com/jakebailey/pyright-action/commit/e7c2cbabca407c6ba1eecc5c2317422f8a609c2a
2022-03-16 16:21:05 +00:00
Alex Waygood 3ab250eec8 Use PEP 604 syntax wherever possible (#7493) 2022-03-16 16:01:33 +01:00
Alex WaygoodandJelle Zijlstra 15e21a8dc1 Use pyright 1.1.230 in CI, temporarily pin pyright-action to 1.0.4 (#7495)
* Upgrade pyright to 1.1.230
* Add `type: ignore`s for new pyright checks regarding multiple inheritance
* Temporarily pin pyright-action to 1.0.4, as changes made in 1.0.5 break typeshed's CI

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-03-16 14:24:55 +00:00
Alex Waygood 2f338ce077 Further improve mypy_test.py (#7484)
* Run mypy on the 3.11 stdlib in CI, as a regression test for https://github.com/python/mypy/issues/12220
* Correct the docstring at the top of the file following the changes made in #7478
* Stop the test from crashing when run locally if there's an extra file/folder in the stubs directory.
2022-03-13 19:58:30 +00:00
Alex Waygood 8134752ad8 requests stubs are not Python 2-compatible (#7483) 2022-03-13 13:06:34 +01:00
Alex Waygood d3df6da103 parsimonious: re.Match does not exist in Python 3.6 (#7482)
It has to be imported from `typing` in <3.7.
Refs https://github.com/python/typeshed/pull/7478.
2022-03-13 00:23:31 -08:00
Alex Waygood 9a1f5fb06c Modernize syntax in various stubs (#7469)
Use `str` and `contextlib.AbstractContextManager` instead of `typing.Text` and `typing.ContextManager`.
2022-03-09 21:23:26 +00:00
Alex Waygood 4e87b9058f Improve collections.Counter stub (#7464) 2022-03-09 12:22:28 +02:00
Alex Waygood db6f912c77 Improve mmap.mmap.__enter__ (#7461)
It returns `Self` at runtime, not `mmap.mmap`, so inheriting from `AbstractContextManager` doesn't really do anything for us.
2022-03-08 07:47:56 -08:00
Alex Waygood f4ae363b56 stdlib: correct many pos-or-kw arg names in dunder methods (#7451) 2022-03-07 16:40:03 +01:00
Alex Waygood 626ccdaee2 Add @AlexWaygood as a maintainer (#7450) 2022-03-07 15:08:19 +00:00
Alex Waygood 947724a5cb stdlib: Add several missing @abstractmethod decorators (#7443) 2022-03-06 16:41:13 -08:00
Alex Waygood 1a2f718ceb Make several fields read-only for type, staticmethod and classmethod (#7423) 2022-03-06 15:50:26 -08:00
Alex Waygood ea6e06a60d Use bound methods in pydoc (#7426) 2022-03-06 15:49:15 -08:00
Alex Waygood bc72b25a2a Make more miscellaneous fields read-only, annotate _json.make_encoder (#7439) 2022-03-06 15:41:49 -08:00
Alex Waygood cda3d9cf72 Use latest stubtest in CI (#7438) 2022-03-04 15:19:29 +01:00
Alex Waygood fbde20797e Add tomllib.__all__ (#7433) 2022-03-03 15:25:30 -08:00
Alex Waygood c50cb066e0 Improve two classes which are namedtuples at runtime, but cannot be namedtuples in typeshed (#7429) 2022-03-03 07:22:40 -08:00
Alex Waygood 39c8202eaf Increase pyright strictness when checking __all__ (#7356) 2022-03-02 03:31:21 -08:00
Alex Waygood fd750bf065 asyncio.unix_events: Make AbstractChildWatcher abstract, add PidfdChildWatcher (#7412) 2022-03-01 16:23:46 +01:00
Alex Waygood 3bbc36c92d Add two missing ForwardRef attributes (#7402)
These look somewhat like implementation details, but no more so than any of the other dunder attributes that are already on the class.
2022-02-28 21:44:28 -08:00
Alex Waygood 1575c1b3b8 Add sys.__unraisablehook__ (#7403)
Docs [here](https://docs.python.org/3/library/sys.html#sys.__breakpointhook__). The similar functions `sys.__displayhook__` and `sys.__breakpointhook__` are already included in the stub.
2022-02-28 21:43:48 -08:00
Alex Waygood 4b7d2a76cb Add __all__ for pickle and turtle (#7401) 2022-02-28 14:50:29 -08:00
Alex Waygood 1ebedcc2b4 Mark fields as readonly in builtins.pyi and types.pyi (#7392)
Add FunctionType.__builtins__
2022-02-28 13:23:34 +01:00
Alex Waygood bf167d4df4 Add __all__ for asyncio.unix_events & asyncio.taskgroups, and simplify asyncio.__init__ (#7343) 2022-02-28 12:51:32 +01:00
Alex Waygood b8421eb5d4 Delete the contents of distutils.command.__init__ (#7370) 2022-02-27 16:43:11 -08:00
Alex Waygood a0b41959ec stdlib: fix many attributes which are read-only at runtime but read-write in the stub (#7395) 2022-02-27 16:23:09 -08:00
Alex Waygood 46da0b87ea Add collections.ChainMap.__bool__ (#7391) 2022-02-27 16:02:01 -08:00
Alex Waygood 95885c96ed Add subprocess.__all__ (#7390) 2022-02-27 16:01:51 -08:00
Alex Waygood 3000bb8d91 lib2to3: add Leaf.__unicode__ and Node.__unicode__ (#7394) 2022-02-27 14:49:28 -08:00
Alex Waygood 4f0d8c593e Delete EnumMeta.__setattr__ and EnumMeta.__delattr__ (#7388) 2022-02-26 17:55:53 -08:00
Alex Waygood 2d6ab4d3bf Fix several mypy errors when run on the 3.11 stdlib (#7389) 2022-02-26 17:49:36 -08:00
Alex Waygood 95df201a78 Add tokenize.__all__ (#7387) 2022-02-26 16:35:55 -08:00
Alex Waygood d2ddda00cf Fix various __all__-related typos and omissions (#7378) 2022-02-25 15:10:00 +02:00
Alex Waygood 6a743348ca Add __all__ for most modules beginning with 't' (#7373) 2022-02-23 18:25:28 -08:00
Alex Waygood 062fc75d73 Upgrade pytype to 22.2.23 (#7375)
Unblocks #7343
2022-02-23 17:39:27 -08:00
Alex Waygood 58e505eeb2 Add __all__ for modules beginning with 'u', 'x', 'w' and 'z' (#7374) 2022-02-23 23:04:21 +01:00
Alex Waygood 05dee4dc0e Improve re.RegexFlag etc (#7369)
- Add `NO_FLAG`, new in 3.11
- Delete very old comment
- Several members in `RegexFlag` are aliases of other members; the stub should reflect that
2022-02-23 15:06:57 +01:00
Alex Waygood a3bb5af4a0 Add __all__ to most modules beginning with 'q', 'r' and 's' (#7364) 2022-02-22 16:51:54 -08:00
Alex Waygood 240628c4dd Add missing objects to plistlib, and improve __all__ in asyncio.tasks, http.server, & multiprocessing.__init__ (#7363) 2022-02-22 16:39:34 -08:00
Alex Waygood 070bbb4fb9 Add multiprocessing.reduction submodule (#7361) 2022-02-22 16:36:26 -08:00
Alex Waygood 1610949c66 Improve enum stubs (#7362)
- Improve TypeVar names
- `object` -> `Any` in `Enum.__new__` (there _are_ restrictions on the kinds of objects that can be passed in, they're just not expressable in the stubs.
- Delete pointless `Self | int` unions, since `Self` is a subtype of `int` for these methods.
2022-02-22 20:17:55 +01:00
Alex Waygood 22c3cc4d0b Add csv.__version__ (#7357) 2022-02-22 20:12:43 +02:00
Alex Waygood 6fc4c14181 Add missing objects in codecs, configparser, and multiprocessing.dummy (#7360) 2022-02-22 18:25:27 +01:00
Alex Waygood a37d5f4849 Add enum module features new in 3.11 (#7358) 2022-02-22 08:42:03 -08:00
Alex Waygood bdcaea4305 cgi: Add print_exception and print_arguments (#7359) 2022-02-22 08:38:02 -08:00
Alex Waygood 64af11c78f Correct several positional-only differences in third-party stubs (#7352) 2022-02-22 06:49:51 -08:00
Alex Waygood 69abe56e18 pyrightconfig.json: correct typo in comment (#7355)
Typeshed has no factions, only fractions :)
2022-02-22 06:44:16 -08:00
Alex Waygood d6ce3abd68 Add __all__ to most modules beginning with 'n', 'o' and 'p' (#7345) 2022-02-21 17:57:03 -08:00
Alex Waygood 3afc0b1ade Update inspect stubs for Python 3.11 (#7342) 2022-02-21 16:36:01 +01:00
Alex Waygood e2524b0e96 Add asyncio.base_futures.__all__ (#7279) 2022-02-20 17:59:14 -08:00
Alex Waygood 189e4ea396 Use flake8-pyi 22.2.0 (#7338) 2022-02-20 17:46:42 -08:00
Alex Waygood 072f1c246e Add Y034 to list of ignored error codes for typing.pyi (#7336)
Unblocks https://github.com/PyCQA/flake8-pyi/pull/186
2022-02-20 17:13:18 -08:00
Alex Waygood 953f815f6b Add EnumMeta.__prepare__ (#7243) 2022-02-20 15:57:21 -08:00
Alex Waygood 8130e40536 Add asyncio.streams.__all__ (#7275) 2022-02-20 15:44:32 -08:00
Alex Waygood 2fe519c3a7 Add __all__ for modules beginning with 'e', 'f' and 'g' (#7325) 2022-02-20 15:08:14 -08:00
Alex Waygood 3ead05f277 Add __all__ to modules beginning with 'j', 'k' and 'l' (#7328) 2022-02-20 15:06:54 -08:00
Alex Waygood 07de01f29e Add __all__ to modules beginning with 'm' (#7330) 2022-02-20 14:08:07 -08:00
Alex Waygood 3e579b8b29 Improve importlib.metadata (#7326) 2022-02-20 14:06:27 -08:00
Alex Waygood 8f2f857ffc Add __all__ for modules beginning with 'h' and 'i' (#7327) 2022-02-20 14:01:45 -08:00
Alex Waygood b74acc7546 Add all the email __all__s (#7304) 2022-02-19 17:53:29 -08:00
Alex Waygood e9db3bd50a Add __all__ for modules beginning with 'c' and 'd' (#7303) 2022-02-19 17:51:27 -08:00
Alex Waygood 49aa342c15 Add contextlib.__all__ (#7301) 2022-02-19 13:02:34 -08:00
Alex Waygood 6be5623cd6 Add contextvars.__all__ (#7302) 2022-02-19 13:01:21 -08:00
Alex Waygood 4343153c8c Add configparser.__all__ (#7300) 2022-02-19 12:28:28 -08:00
Alex Waygood 8955916099 Add concurrent.futures.__all__ (#7299) 2022-02-19 12:27:48 -08:00
Alex Waygood 2aa7d2dd7b Add compileall.__all__ (#7298)
All the alls of the alls
2022-02-19 12:27:07 -08:00
Alex Waygood 7ffeb66a13 Add colorsys.__all__ (#7297) 2022-02-19 12:26:45 -08:00
Alex Waygood cc1dd6d6ec Add collections.__all__ (#7296) 2022-02-19 12:26:23 -08:00
Alex Waygood f86c918829 Add codeop.__all__ (#7295) 2022-02-19 12:25:51 -08:00
Alex Waygood 199475ef8b Add codecs.__all__ (#7294) 2022-02-19 12:25:25 -08:00
Alex Waygood 6cd02c2aa8 Add code.__all__ (#7293) 2022-02-19 12:24:09 -08:00
Alex Waygood 18d254cb3b Add cgi.__all__ (#7292) 2022-02-19 12:23:48 -08:00
Alex Waygood cf87ecd92a Add cProfile.__all__ (#7291) 2022-02-19 12:23:21 -08:00