Commit Graph

540 Commits

Author SHA1 Message Date
Alex Waygood
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
Jelle Zijlstra
d9f1f7b81f pytz: utcoffset only returns None if dt is None (#7510) 2022-03-19 08:19:09 +00:00
Alex Waygood
e8286e7048 Use PEP 604 syntax in non-autogenerated protobuf stubs (#7506) 2022-03-17 11:34:31 +00:00
kasium
061ddad8e3 Add annotations to invoke.tasks (#7502) 2022-03-17 11:13:03 +01:00
Myoungdo Park
830b57f8f8 Add stubs for whatthepatch (#7492)
Co-authored-by: Akuli <akuviljanen17@gmail.com>
2022-03-16 23:38:41 +02:00
Sebastian Rittau
108b6fb091 pyright: Don't report incompatible overrides (#7498)
These overrides are inherited from the implementation and are out of
typeshed's control.
2022-03-16 16:20:06 +01:00
Alex Waygood
3ab250eec8 Use PEP 604 syntax wherever possible (#7493) 2022-03-16 16:01:33 +01:00
Alex Waygood
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
Anders Kaseorg
b78f0c21ba psycopg2: Accept Composable in place of query string (#7494)
https://www.psycopg.org/docs/sql.html#psycopg2.sql.Composable
“Composable objects can be passed directly to execute(),
executemany(), copy_expert() in place of the query string.”

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-03-15 20:47:30 -07:00
Stephen Rosen
134f047402 jsonschema: mark schemas as Mapping[str, Any] (#7489) 2022-03-14 17:11:33 +01:00
Sebastian Rittau
1cc31cd470 passlib: Annotate pbkdf2_sha* (#7486) 2022-03-14 08:55:37 -07:00
Stephen Rosen
a3027d3b96 jsonschema: RefResolver.referrer is a dict[str, Any] (#7487) 2022-03-14 16:27:08 +01:00
Joseph Young
860db6f6c4 sqlalchemy: Annotate (Async)Session.__(a)enter__ (#7488) 2022-03-14 15:15:32 +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
Jelle Zijlstra
bd449c983a urllib3: stubs are not Python 2 compatible (#7480)
They use http.client, which is Python 3-only. Another catch from #7478.
2022-03-13 07:09:01 +00:00
Jelle Zijlstra
c89236d1cf passlib: fix MutableMapping import (#7479)
Found by #7478
2022-03-12 19:18:48 -08:00
Joseph Young
3a9abf850a Stubs for parsimonious (#7477) 2022-03-12 18:43:07 -08:00
Andrej Shadura
a5ddf0bf0d Add xmltodict (#7472)
Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
2022-03-11 12:19:51 +01: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
Sebastian Rittau
cdb573b398 Remove explicit inheritance from object (#7468) 2022-03-09 19:43:44 +01:00
Sebastian Rittau
c3907ab26b Remove Python 2 support from some third-party distributions (#7466)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2022-03-09 20:19:22 +02:00
Shantanu
9c737f1326 Re-enable stubtest on SQLAlchemy (#7456) 2022-03-09 07:34:12 +01:00
Akuli
6c967d4202 Update cachetools to 5.0.0 (#7455)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-03-08 19:20:22 +00:00
Sebastian Rittau
889164cb0c psycopg2: Annotate cursor execute* and dunder methods (#7460) 2022-03-08 08:13:19 -08:00
Bas van Beek
70988f1811 Widen the cmdclass parameter of setuptools.setup (#7458) 2022-03-08 15:07:44 +02:00
Sebastian Rittau
addce5c067 Add passlib stubs (#7024) 2022-03-06 16:25:00 -08:00
Sebastian Rittau
7e5d2a58aa Add openpyxl stubs (#6801) 2022-03-06 16:24:17 -08:00
Shantanu
9796b9ed69 Improve open overloads when mode is a literal union (#7428)
As pointed out by @gvanrossum in https://github.com/python/typing/issues/1096

Improves type inference in cases when we know that mode is
OpenBinaryMode, but don't know anything more specific:
```
def my_open(name: str, write: bool):
    mode: Literal['rb', 'wb'] = 'wb' if write else 'rb'
    with open(name, mode) as f:
        reveal_type(f)  # previously typing.IO[Any], now typing.BinaryIO
```

You may be tempted into thinking this is some limitation of type
checkers. mypy does in fact have logic for detecting if we match
multiple overloads and union-ing up the return types of matched
overloads. The problem is the last overload interferes with this logic.
That is, if you remove the fallback overload (prior to this PR), you'd get
"Union[io.BufferedReader, io.BufferedWriter]" in the above example.

Co-authored-by: hauntsaninja <>
2022-03-06 15:45:34 -08:00
Shantanu
77e5a2d468 Upgrade to stubtest with dunder pos only reverted (#7442) 2022-03-05 18:38:08 -08:00
Shantanu
a5ec3c69b2 bs4: expose several other classes (#7420)
On the same lines as #7419

These are all imports that are not used within bs4/__init__.py
My main interest here is in exposing NavigableString

Co-authored-by: hauntsaninja <>
2022-03-01 17:59:11 -08:00
Shantanu
2f27eaab44 bs4: expose bs4.PageElement (#7419)
This is generally useful. It's also imported in the source without being
used in bs4/__init__.py which in well maintained packages is a pretty
good marker of intention to export

Co-authored-by: hauntsaninja <>
2022-03-01 16:59:50 -08:00
Sebastian Rittau
7f2cf525e9 Add six.create_bound_method dunders to allowlist (#7409)
Closes: #7404
2022-03-01 07:16:49 -08:00
Sebastian Rittau
000b466b21 Remove orjson stubs (#7410) 2022-03-01 10:59:31 +01:00
Hugo
ba1482bba4 Add DEFAULT_CIPHERS to urllib3.util.ssl_ (#7399) 2022-02-28 19:08:16 +01:00
Martin Fischer
98d9ed44cd docutils: complete nodes.Node & bump version to 0.18.* (#7380) 2022-02-28 17:59:56 +01:00
Rebecca Chen
64133df6eb Add stripe.util.convert_to_stripe_object (#7386) 2022-02-28 13:47:53 +01:00
yejia-stripe
ee8aa1e012 Improve annotation for stripe DeletableAPIResource delete method (#7230) 2022-02-25 08:04:36 -08:00
Sebastian Rittau
3afcc1b2b1 Mark selenium stubs as obsolete (#7383) 2022-02-25 15:46:39 +01:00
Martin Fischer
a342a49d38 docutils: Add missing dunders to nodes.Element (#7377) 2022-02-24 11:46:05 +01:00
Fares Ahmed
b55fed42ed Add stubs for pynput package (#7177)
Fixes #4328
2022-02-23 23:10:20 +01:00
Sebastian Rittau
7b024f5e9a Update dateparser stubs for 1.1 (#7368) 2022-02-23 11:15:24 -08:00
Joseph Young
d3941c2463 regex stubs: Add __getitem__ method to Match (#7372) 2022-02-23 19:38:29 +01:00
Sebastian Rittau
ffeac7297f Re-export RedisCluster from redis (#7371) 2022-02-23 16:39:09 +01:00
Sebastian Rittau
7a81bd41e9 Re-introduce the 'stubtest' key for third-party packages (#7351)
Some distributions can't be tested with stubtest for a variety of
reasons or because of bugs in stubtest. This key:

* let's us keep metadata about a distribution in one place,
* prevents us from modifying the scripts because of issues with a
  specific distribution, and
* will trigger tests if only the key is changed.
2022-02-22 15:59:27 +01:00
Alex Waygood
64af11c78f Correct several positional-only differences in third-party stubs (#7352) 2022-02-22 06:49:51 -08:00
kasium
a1bec51768 Update flake8-simplify (#7339) 2022-02-21 12:17:43 +02:00
Jelle Zijlstra
61361ce059 contextvars, pycurl: make classes final (#7334) 2022-02-20 16:55:48 -08:00
Martin Fischer
a287cfd925 Improve docutils stubs (#7256) 2022-02-20 16:49:11 -08:00
Shantanu
c176911bfb flask-cors: remove unused allowlist (#7309)
Co-authored-by: hauntsaninja <>
2022-02-19 17:12:33 -08:00