Commit Graph

4097 Commits

Author SHA1 Message Date
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
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
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
Alex Waygood
fd750bf065 asyncio.unix_events: Make AbstractChildWatcher abstract, add PidfdChildWatcher (#7412) 2022-03-01 16:23:46 +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
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
Itai Steinherz
f4b43daba0 Update importlib.metadata typings for 3.10 (#7331)
Co-authored-by: Sebastian Rittau <srittau@rittau.biz>
2022-02-24 19:15:13 -08:00
Rebecca Chen
da093c395c Allow multiprocessing.pool.ThreadPool.__exit__ to accept None (#7376) 2022-02-23 19:21:25 -08:00
Alex Waygood
6a743348ca Add __all__ for most modules beginning with 't' (#7373) 2022-02-23 18:25:28 -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
Thomas Cellerier
09a1932e68 Address parameter of datagram_received can be of type tuple[int, int] (#7366) 2022-02-23 12:09:26 +01:00
Jelle Zijlstra
4781dbf752 smtpd: MailmanProxy was removed in 3.11 (#7365)
python/cpython#26617
2022-02-22 17:06:39 -08: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
Andrew Svetlov
28fd555431 Sync asyncio.isfuture definitions by sharing asyncio.base_futures.isfuture definition (#7353) 2022-02-22 18:24:57 +01:00