Commit Graph

5957 Commits

Author SHA1 Message Date
Alex Waygood
947724a5cb stdlib: Add several missing @abstractmethod decorators (#7443) 2022-03-06 16:41:13 -08:00
Jelle Zijlstra
2fb9c35ff9 Put shutil.chown back on Windows (#7446)
See #7384 and https://github.com/python/typeshed/pull/7443#issuecomment-1060071944 (thanks @AlexWaygood for diagnosing).
2022-03-06 16:27:24 -08: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
Martin Fischer
8034c1c48c stdlib: shutil.chown does not work on Windows (#7384) 2022-03-06 16:04:05 -08:00
Martin Fischer
d63dc4b002 stdlib: dbm.gnu & dbm.ndbm are only available on Unix (#7384) 2022-03-06 16:04:05 -08:00
Martin Fischer
8138981492 stdlib: socket.CMSG_LEN & socket.CMSG_SPACE are only available on Unix (#7384) 2022-03-06 16:04:05 -08:00
Martin Fischer
af269057be stdlib: Add errno.EDEADLK 2022-03-06 15:57:52 -08:00
Martin Fischer
182ddd9daf stdlib: Add os.get_handle_inheritable & setter 2022-03-06 15:57:52 -08:00
Martin Fischer
aa383624cf stdlib: Add missing re-exports for UuidCreate, FCICreate, OpenDatabase & CreateRecord 2022-03-06 15:57:52 -08:00
Martin Fischer
77829c5c99 stdlib: Add sys._enablelegacywindowsfsencoding() 2022-03-06 15:57:52 -08:00
Martin Fischer
ec87fbfe88 stdlib: Add email.iterators._structure(msg) 2022-03-06 15:57:52 -08:00
Martin Fischer
352f5c3237 stdlib: Add os.copy_file_range(src, dst, count) 2022-03-06 15:57:52 -08:00
Martin Fischer
0978ef5c60 stdlib: Add signal.pidfd_send_signal(pidfd, sig) 2022-03-06 15:57:52 -08:00
Martin Fischer
81a85f18b6 stdlib: Add os.pidfd_open(pid) 2022-03-06 15:57:52 -08:00
Martin Fischer
9abf314a5b stdlib: Add time.pthread_getcpuclockid(thread_id) 2022-03-06 15:57:52 -08:00
Martin Fischer
14ac9f7557 stdlib: Add urllib.parse.unwrap(url) 2022-03-06 15:57:52 -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
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
Itai Steinherz
b9909b121e Add missing typings to unittest.mock (#7431) 2022-03-06 15:43:39 -08:00
Alex Waygood
bc72b25a2a Make more miscellaneous fields read-only, annotate _json.make_encoder (#7439) 2022-03-06 15:41:49 -08:00
Shantanu
6cdecae6f9 Rename Github workflow (#7445)
Calling this "stubtest.yml" is a little confusing, since most of the
time stubtest is actually run out of "tests.yml". I renamed the workflow
in #7306 and this gets the filename to match.

Co-authored-by: hauntsaninja <>
2022-03-06 15:24:18 -08:00
Shantanu
77e5a2d468 Upgrade to stubtest with dunder pos only reverted (#7442) 2022-03-05 18:38:08 -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
Taneli Hukkinen
31b11c6eae Add type hints for tomllib (#7432) 2022-03-03 15:04:33 -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
eggplants
342e384fb1 Add threading._profile_hook (#7427)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2022-03-02 23:47:02 +02:00
Alex Waygood
39c8202eaf Increase pyright strictness when checking __all__ (#7356) 2022-03-02 03:31:21 -08:00
Jelle Zijlstra
0a6b6b095c Add asyncio.windows_utils.Popen (#7396) 2022-03-02 12:37:54 +02:00
Martin Fischer
5802e889c7 Correct str.__new__ argument name (#7422) 2022-03-02 12:20:45 +02:00
Bas van Beek
01244bb68f Add annotations for missing disutils.extension.Extension attributes (#7417) 2022-03-01 21:08:11 -08:00
Bas van Beek
cf12a2c88f Fix the pickle_function parameter from copyreg.pickle (#7415)
The pickle functions should accept an instance of a to-be pickled object, not the respective type objects itself.
2022-03-01 21:05:36 -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
Sebastian Rittau
24616d65d9 6-12 months -> six months (#7411)
"At least 6-12 months" is equivalent to "at least six months" and we
usually remove after six month, unless there are issues.
2022-03-01 17:37:53 -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
Alex Waygood
fd750bf065 asyncio.unix_events: Make AbstractChildWatcher abstract, add PidfdChildWatcher (#7412) 2022-03-01 16:23:46 +01: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
Shantanu
ebcfe7bc4e random: use bound methods (#7408) 2022-03-01 09:27:44 +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
Jelle Zijlstra
cf3ea5b6e6 ctypes.memmove and memset return ints (#7407)
They actually return pointers, but ctypes turns them into ints.

Fixes #7406
2022-02-28 18:00:16 -08:00
Guido van Rossum
47cccff9cb asyncio.Task: .cancelling() and .uncancel() now return int, not bool (#7405) 2022-02-28 17:35:42 -08:00
Alex Waygood
4b7d2a76cb Add __all__ for pickle and turtle (#7401) 2022-02-28 14:50:29 -08:00
Shantanu
b5f32a609a random: add new default args in py311 (#7400) 2022-03-01 00:19:05 +02: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