Commit Graph
100 Commits
Author SHA1 Message Date
Alex Waygood 8d941f0e53 Remove unnecessary pyright: ignore (#9000) 2022-10-27 08:27:28 -07:00
Alex Waygood 8b9b96c9f8 datetime.timedelta: Remove explicit inheritance from SupportsAbs (#8972)
Fixes #8971
2022-10-23 15:28:44 -07:00
Alex Waygood dc7fdc6f5d Fix invoke regression (#8950)
* Fix `invoke` regression
2022-10-21 18:04:22 +01:00
Alex Waygood 122bceeade CI: Use macOS-11 for stdlib stubtest (#8949) 2022-10-20 15:45:18 +02:00
Alex Waygood d22ebe7676 Remove stubs for atomicwrites (#8925) 2022-10-18 17:33:28 -07:00
Alex Waygood 03c38d91ae Mark atomicwrites as no longer updated (#8912)
[`atomicwrites`](https://github.com/untitaker/python-atomicwrites) is a package that's only really useful for Python 2/3 compatibility. It's now deprecated, archived, and unmaintained. Prior to #8883 a few days ago, marking the stubs as complete, the typeshed stubs hadn't received any significant updates for several years.

I propose we mark the stubs as no longer updated, and then remove them.
2022-10-17 12:48:21 +02:00
Alex Waygood 9ba68c364a dateutil: Add comment explaining the use of ABCMeta (#8911) 2022-10-17 12:46:48 +02:00
Alex Waygood 928f006318 typing.pyi: Improve comments for IO/TextIO (#8913)
#8726 proposed to make these properties abstract, but it would have broken half the typed-Python ecosystem, and we've since decided that it's not worth taking action on this (https://github.com/python/typeshed/issues/2146#event-7450564547). This PR rephrases the comments to make clear that there isn't really anything actionable that can be done here.
2022-10-17 12:44:40 +02:00
Alex Waygood 2b5afd9cc9 Fix stubtest failures on SQLAlchemy (#8914) 2022-10-17 12:43:52 +02:00
Alex WaygoodandShantanu 6a2232a30b Improve docs on running stubtest locally (#8822)
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2022-10-08 16:29:48 -07:00
Alex Waygood d1375f600c Remove stubs for freezegun (#8867) 2022-10-07 11:48:04 -07:00
Alex Waygood 8b41b1337b Bump flake8-pyi and black to latest versions (#8859) 2022-10-06 16:45:02 -07:00
Alex WaygoodandKevin Kirsche e173cbe7b6 Mark requests stubs as complete (#8858)
Co-authored-by: Kevin Kirsche <kevin.kirsche@one.verizon.com>
2022-10-06 15:31:02 -07:00
Alex Waygood 5d45e3babc fpdf2: complete stubs (#8855) 2022-10-06 11:36:26 +02:00
Alex Waygood aeb16b155b stubsabot: only update existing branches if the diff relative to master would be different (#8854) 2022-10-05 17:35:20 -07:00
Alex Waygood e73fcf220e mypy_test.py: Remove unused seen variable/parameters (#8846) 2022-10-04 14:38:31 -07:00
Alex Waygood 5cb7ef1f73 stubsabot: use an ssh-key when checking out typeshed (#8844)
Fixes #8434.

This uses a new ssh key that @JelleZijlstra just set up for our repo ([this option](https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#push-using-ssh-deploy-keys) in Peter Evans's guide to getting checks to run on automated PRs. It seems to be a good option in terms of both security and usability. It's also the option used by `oddbird/MetaDeploy` [here](https://github.com/oddbird/MetaDeploy/blob/main/.github/workflows/upgrade-deps.yml#L20), and they seem pretty happy about it (they wrote a nice blog post about their automated PRs for uprading dependencies [here](https://www.oddbird.net/2022/06/01/dependabot-single-pull-request/).)
2022-10-04 14:13:18 -07:00
Alex Waygood 08a3359e94 Run stubsabot daily, not weekly (#8845)
I think stubsabot has been a really big success. Let's change it to a daily workflow, so that we don't get an avalanche of PRs every Friday, and so that we can see more quickly if a PR changing stubsabot has accidentally broken the script. (If that _does_ happen, it should be pretty easy to just revert the commit that accidentally broke stubsabot, and go back to a version that works pretty well.)
2022-10-04 14:12:50 -07:00
Alex Waygood 55cddc7ac7 mypy_test.py: restore previous behaviour where all third-party stubs are tested by default (#8842) 2022-10-04 11:01:51 -07:00
Alex Waygood 1fc58e5413 Use stubgen's --export-less option in create_baseline_stubs.py (#8843) 2022-10-04 10:58:51 -07:00
Alex Waygood 477bfa2e92 Stubsabot: Add analysis of the diff to the PR body (#8817) 2022-10-04 10:14:39 -07:00
Alex Waygood 5da171ba45 mypy_test.py: Always add dependencies of stubs to the files to test (#8800) 2022-10-04 08:05:13 -07:00
Alex Waygood f801229f37 fpdf2: Add missing files (#8836) 2022-10-03 17:05:37 -07:00
Alex Waygood f9b1289226 requests: Add regression test for #8762 (#8835)
The final mypy_primer report for #8762 was an empty diff. Considering the number of issues we've had with our requests stubs over the last year, it feels like it makes sense to add a test case to make sure that it doesn't regress.
2022-10-03 16:11:44 -07:00
Alex Waygood 78ca9c7390 Bump mypy to 0.982 (#8831) 2022-10-03 10:34:44 -07:00
Alex Waygood deff426b6f Fix multiprocessing.DictProxy.values() (#8815)
Fixes #8814
2022-09-30 13:37:53 +02:00
Alex Waygood ab2fba9c83 check_consistent.py: ignore .gitignored files (#8804) 2022-09-28 17:02:27 +01:00
Alex Waygood d84fda1f12 Upgrade pyright to 1.1.273 (#8802) 2022-09-28 14:01:08 +01:00
Alex Waygood 48e76e8a56 Bump mypy to 0.981 (#8796) 2022-09-26 17:14:33 -07:00
Alex Waygood 008fe2e764 mypy_test.py: rework filter, exclude and --dir arguments (#8711) 2022-09-22 08:31:24 +01:00
Alex WaygoodandShantanu 2e50b58ca9 Link earliest version with py.typed in stubsabot obsoletion PRs (#8775)
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2022-09-20 23:37:21 +01:00
Alex Waygood 876c9bf6af stubsabot: fix two GitHub diff link bugs (#8767) 2022-09-19 11:13:16 -07:00
Alex Waygood 97c935a3fe Fix protobuf stubtest errors (#8758) 2022-09-18 17:47:36 -07:00
Alex Waygood 2eaa63b8fa stubsabot: checkout the branch you were on after script completion (#8742) 2022-09-18 12:52:03 +01:00
Alex Waygood a4e5ad8aab stubsabot: link to diff between releases on GitHub, where possible (#8744) 2022-09-15 17:11:31 -07:00
Alex Waygood 20bc8fa4e3 Fix stubtest errors on macOS / Python 3.11 (#8743) 2022-09-15 15:27:42 -07:00
Alex Waygood 5a3595a5d6 stubsabot: refuse to run if uncommitted changes are present locally (#8741) 2022-09-15 13:45:53 -07:00
Alex Waygood 2fd0180bb1 stubsabot: Add the PR body to the commit message (#8740) 2022-09-15 20:12:35 +01:00
Alex Waygood 8e718d4891 pstats: delete outdated comment (#8738)
The annotation in CPython was fixed thanks to @ruancomelli in https://github.com/python/cpython/pull/96741!
2022-09-15 11:24:30 +01:00
Alex Waygood 3e71efbc73 Improve the daily.yml workflow (#8737) 2022-09-14 21:46:18 -07:00
Alex Waygood 246f7e7720 protobuf: fix stubtest errors (#8735) 2022-09-14 21:45:29 -07:00
Alex WaygoodandAkuli a6c174cc7b Add new sys functions introduced to combat CVE-2020-10735 (#8733)
Co-authored-by: Akuli <akuviljanen17@gmail.com>
2022-09-13 16:01:26 +01:00
Alex Waygood 34383fcab5 [pynput] Fix annotations of Controller.Key(Code) (#8722)
Document stubtest entries
2022-09-12 13:30:57 +02:00
Alex WaygoodandAkuli c4483a7b01 Update fdpf2 stubs for v2.5.7 (#8721)
Co-authored-by: Akuli <akuviljanen17@gmail.com>
2022-09-11 15:27:19 +01:00
Alex Waygood ed29fc5557 stubtest_third_party.py: Make it work on Windows (#8720) 2022-09-11 01:06:46 +03:00
b53843ab46 Add infrastructure allowing for test cases for third-party stubs (#8700)
- Move the logic for running mypy on the test cases from `tests/mypy_test.py` to a separate script, `tests/regr_test.py`.
- Add the necessary logic in order to be able to have test cases for third-party stubs.
- Move logic common to `tests/mypy_test.py` and `tests/regr_test.py` into `tests/colors.py`, and rename `tests/colors.py` to `tests/utils.py`.
- Add a new check to `tests/check_consistent.py`, to enforce the use of `# pyright: reportUnnecessaryTypeIgnoreComment=true` comments in third-party test cases. These are essential if we want to have our tests against false-negatives work with pyright.
- Update the relevant documentation to account for the new test file.
- Add a new job to the `tests.yml` GitHub workflow, to run the new test in CI.
- Add a simple proof-of-concept test case for `requests`, as a regression test for #7998.

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Sebastian Rittau <srittau@rittau.biz>
2022-09-08 16:51:33 +01:00
Alex Waygood e2ef8fe116 test_cases README: Address post-merge review of #8688 (#8694)
Thanks @kkirsche for the review!
2022-09-06 17:00:57 +01:00
Alex Waygood 51e8325c10 Rename the files in the test_cases directory; add further clarifications to the README (#8688) 2022-09-06 07:50:24 +02:00
Alex Waygood b6d28acb23 mypy_test.py: Use pathlib more (#8680) 2022-09-05 14:24:14 +01:00
Alex Waygood fd4feba2c9 Enable pyright's reportUnnecessaryTypeIgnoreComment setting for the whole test_cases directory (#8683) 2022-09-05 15:20:04 +02:00
Alex Waygood 3a397a2252 stubsabot: improve argparse for --action-level (#8682) 2022-09-04 16:16:05 -07:00
Alex WaygoodandShantanu eb6431c4cc stubsabot: warn if stubtest won't test an update (#8681)
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2022-09-04 13:56:58 -07:00
Alex Waygood 483f0ac078 prettytable: Fix stubtest errors (#8676)
Fixes #8674. A partial revert of 9e69627501.
2022-09-03 13:26:23 -07:00
Alex Waygood 8bc2565d11 pyautogui: just skip stubtest (#8678) 2022-09-03 13:25:50 -07:00
Alex Waygood 54c562827b Cancel old test jobs in CI (#8679) 2022-09-03 13:04:54 -07:00
Alex Waygood 3e5808a990 Bump flake8-pyi and pytype test dependencies (#8656) 2022-08-31 12:20:11 +01:00
Alex Waygood 601700d1a5 Improve some tkinter unions (#8655) 2022-08-31 13:05:51 +03:00
Alex Waygood 86a34c5bd6 typecheck_typeshed.py: Make dir command-line argument positional-only (#8646) 2022-08-31 09:14:53 +01:00
Alex Waygood 8b222200e0 fpdf2: Remove redundant str | Literal['DEPRECATED'] union (#8650) 2022-08-30 19:54:52 +01:00
Alex Waygood b417d5796d Run flake8-noqa in CI (#8641) 2022-08-29 21:06:47 +01:00
Alex Waygood c72c9a6c96 typed_ast.ast3: arguments.kw_defaults should be list[expr | None] (#8645)
```python
>>> from typed_ast import ast3
>>> print(ast3.dump(ast3.parse('def foo(*, arg: int) -> None: ...')))
Module(body=[FunctionDef(name='foo', args=arguments(args=[], vararg=None, kwonlyargs=[arg(arg='arg', annotation=Name(id='int', ctx=Load()), type_comment=None)], kw_defaults=[None], kwarg=None, defaults=[]), body=[Expr(value=Ellipsis())], decorator_list=[], returns=NameConstant(value=None), type_comment=None)], type_ignores=[])
```

This bug was discovered in https://github.com/python/mypy/pull/13547
2022-08-29 14:44:48 +01:00
Alex Waygood c0f27e39f9 Upgrade pytype to 22.8.23 (#8644) 2022-08-29 14:07:11 +01:00
Alex Waygood bc26a98bd7 create_baseline_stubs.py: Modernize a few type annotations (#8642) 2022-08-29 13:49:00 +01:00
Alex Waygood e2211cb420 Delete some unused # noqa comments (#8639) 2022-08-29 12:56:06 +01:00
Alex Waygood c8a679657b Delete scripts/update-stubtest-allowlist.py (#8606) 2022-08-29 13:50:26 +02:00
Alex Waygood 1b6cda86d4 Alphabetise items in requirements-tests.txt (#8635) 2022-08-28 07:59:17 -07:00
Alex Waygood d91e5f0eff Further enhance check_consistent.py (#8604) 2022-08-26 07:50:26 -07:00
Alex Waygood 8cf125d80d flake8 config: fix typo (#8626)
Accidentally introduced in #8612
2022-08-26 11:55:47 +01:00
Alex Waygood 1c56148ce9 mypy_test.py: Remove --dry-run option (#8611)
Cf #8139.
2022-08-25 14:23:00 +02:00
Alex Waygood 0f1d1f16b4 isort: don't skip stdlib/venv (#8607) 2022-08-24 15:48:27 -07:00
Alex Waygood 15f74295d2 Add aiohttp and tomlkit to requirements-tests.txt (#8605) 2022-08-24 23:08:54 +01:00
Alex Waygood 1e33759f09 cryptography: Add some missing @abstractmethod decorators (#8598) 2022-08-23 11:38:08 -07:00
Alex Waygood e160324ba7 six: Fix incorrect type[type[Any]] annotation (#8599)
Mypy will (correctly, I think) start flagging `type[type[Any]]` as an illegal annotation when mypy 0.980 comes out. Let's fix it now, before it comes out.
2022-08-23 11:26:10 -07:00
Alex Waygood 875f0ca7fc mypy_test.py: Move type-checking of our tests and scripts into a different test (#8587) 2022-08-22 17:16:03 +01:00
Alex Waygood 976fdae300 xml stubs: Any -> Incomplete (#8576) 2022-08-22 16:42:37 +01:00
Alex Waygood c2966bc5ed multiprocessing.reduction: Any -> Incomplete (#8585) 2022-08-21 17:43:55 -07:00
Alex Waygood 9f05e9ff58 Improve classes returned from OrderedDict.{keys(), items(), values()} (#8552) 2022-08-20 22:21:39 +01:00
Alex Waygood 38bc0ec0e6 mypy_test.py: simplify argument parsing (#8577) 2022-08-20 21:32:17 +01:00
Alex Waygood c4ca110c5c README: Add a link to https://typing.readthedocs.io (#8575) 2022-08-20 09:40:57 -07:00
Alex Waygood 8a326dc9ec Remove NoReturn overloads from pow() (#8568) 2022-08-19 11:15:07 -07:00
Alex Waygood 2c052651e9 Normalise use of Never vs NoReturn (#8549) 2022-08-17 21:53:40 +01:00
Alex Waygood 5b47f13a99 Add _threading_local.local.__delattr__ back to the stub (#8526) 2022-08-15 11:56:31 +02:00
Alex Waygood cf0b3a2596 Improve .keys(), .values(), .items() methods for TypedDicts (#8532) 2022-08-12 20:02:43 -07:00
Alex Waygood 1ec57121e3 Unpin stubtest from 3.10.5 (#8523) 2022-08-12 10:01:26 +02:00
Alex Waygood a92da58328 Add @type_check_only to two fictional classes in builtins.pyi (#8531) 2022-08-11 11:55:07 +01:00
Alex Waygood 556f6a10f6 Enable flake8-pyi's Y034 check in stdlib/typing.pyi (#8530) 2022-08-11 10:57:31 +02:00
Alex Waygood 5a24bf8e1f setuptools: delete _distutils.command.check.HAS_DOCUTILS (#8529)
Fixes #8527
2022-08-11 07:17:00 +01:00
Alex Waygood a0d1f466fb decimal.Context: Improve comments (#8525) 2022-08-10 19:53:47 +01:00
Alex Waygood f2283d519e Fix stubtest failures on SQLAlchemy (#8524) 2022-08-10 11:48:46 -07:00
Alex Waygood c87ccce37e Remove a few unused TypedDicts (#8522) 2022-08-10 18:56:14 +01:00
Alex Waygood 7eaedd44dd Add missing TypedDict methods and ClassVars (#8512) 2022-08-10 10:29:40 +01:00
Alex Waygood c68bcc7e69 Temporarily pin stubtest to 3.10.5 (#8511) 2022-08-09 13:55:00 +02:00
Alex Waygood 892796a794 Remove, move or # noqa more TypeAlias declarations (#8450) 2022-08-05 13:03:19 +01:00
Alex Waygood 1dc1c91429 io.IOBase: correct metaclass (#8468)
`io.IOBase` has `ABCMeta` as the metaclass at runtime: https://github.com/python/cpython/blob/75a6441718dcbc65d993c9544e67e25bef120e82/Lib/io.py#L71

But not currently in the stub. This is causing an unexpected stubtest failure for a `urllib3` PR here: https://github.com/python/typeshed/runs/7633083101?check_suite_focus=true
2022-08-02 09:20:07 -07:00
Alex Waygood df4618ef2d Upgrade pycln and flake8-pyi (#8464) 2022-08-02 08:43:02 +01:00
Alex Waygood 59a9621554 test_cases README: fix typos (#8453)
Both introduced in #8445
2022-07-31 23:11:13 +01:00
Alex Waygood 4414246a15 Clean up a few Python 2 remnants (#8452) 2022-07-31 19:19:18 +01:00
Alex Waygood 87fc724cef ctypes: pointer is a function, not a class (#8446) 2022-07-31 15:29:13 +02:00
Alex Waygood ea7bbbdad7 Move Match and Pattern to re.pyi; move ContextManager protocols to contextlib.pyi (#8447) 2022-07-31 15:27:47 +02:00
Alex Waygood 935ac9ca9e test_cases: Improve README (#8445) 2022-07-30 18:40:56 +01:00