Alex Waygood
8a7c23624e
Clean up signal.pyi ( #6504 )
...
This PR proposes purely cosmetic changes to make `signal.pyi` a bit neater.
2021-12-06 09:24:01 +01:00
Alex Waygood
ff4bd7c465
Add __(r)or__ to various typing classes ( #6498 )
...
- `__or__` was added to `TypeVar` in Python 3.10: https://bugs.python.org/issue41428 (this PR: https://github.com/python/cpython/pull/21515 )
- `__or__` was added to `ForwardRef` in Python 3.11: https://bugs.python.org/issue45489
2021-12-05 15:16:19 -08:00
Alex Waygood
3f316b0ffb
Correct signal.CTRL_C_EVENT and signal.CTRL_BREAK_EVENT ( #6503 )
2021-12-06 00:01:09 +02:00
Akuli
a4118b1a09
trust_server_pasv_ipv4_address: move comments to allowlists ( #6496 )
...
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com >
2021-12-05 23:59:47 +02:00
Alex Waygood
415d387009
Make various os functions available on Windows ( #6500 )
2021-12-05 22:06:22 +02:00
Akuli
7225dfafcf
add several re-exports to posix ( #6495 )
2021-12-05 08:45:24 -08:00
Alex Waygood
f43b968ab9
Clean up asyncio.__init__ ( #6497 )
2021-12-05 16:53:26 +02:00
Shantanu
2a1ef3735d
random: add VERSION, SystemRandom.getrandbits is not pos only ( #6419 )
...
Co-authored-by: Akuli <akuviljanen17@gmail.com >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-05 16:52:34 +02:00
Alex Waygood
bb7a06c60b
Add missing asyncio functions, part II ( #6493 )
2021-12-05 12:29:25 +02:00
Akuli
24afb531ff
stubtest_stdlib: get rid of --ignore-missing-stub ( #6491 )
...
* get rid of --ignore-missing-stub
* update allowlists based on github actions logs, with script
import re
platforms = ["linux", "win32", "darwin"]
versions = ["py36", "py37", "py38", "py39", "py310"]
entries_by_pv = {}
for p in platforms:
for v in versions:
p_name = {"linux": "ubuntu", "darwin": "macos", "win32": "windows"}[p]
v_name = "3." + v.replace("py3", "")
if v_name == "3.9":
v_name = "3.9.7"
entries = set()
with open(f"la/Check stdlib with stubtest ({p_name}-latest, {v_name})/6_Run stubtest.txt") as file:
for line in file:
m = re.search(r"error: (.*) is not present in stub$", line.strip())
if m:
entries.add(m.group(1))
entries_by_pv[p, v] = entries
def remove_intersection(sets):
sets = list(sets)
result = set(sets[0])
for s in sets[1:]:
result &= s
for s in sets:
for r in result:
s.remove(r)
return result
common_to_all = remove_intersection(entries_by_pv.values())
common_to_version = {}
for v in versions:
common_to_version[v] = remove_intersection([
entries
for (p, v2), entries in entries_by_pv.items()
if v == v2
])
common_to_platform = {}
for p in platforms:
common_to_platform[p] = remove_intersection([
entries
for (p2, v), entries in entries_by_pv.items()
if p == p2
])
def write(fname, entries):
with open(f"tests/stubtest_allowlists/{fname}.txt", "a") as file:
file.write("\n# Exists at runtime, but missing from stubs\n")
for i in sorted(entries):
file.write(i + "\n")
write("py3_common", common_to_all)
for v, entries in common_to_version.items():
write(v, entries)
for p, entries in common_to_platform.items():
write(p, entries)
for (p, v), entries in entries_by_pv.items():
write(p + "-" + v, entries)
* Manually combine __main__ attributes into a single entry
* move and comment entries manually
2021-12-04 16:58:44 -08:00
Alex Waygood
f105c79219
Harmonise UserDict.__init__ with dict.__init__ ( #6490 )
...
Co-authored-by: Akuli <akuviljanen17@gmail.com >
2021-12-04 19:50:47 +02:00
Alex Waygood
9e0ee447c6
Harmonise UserDict.fromkeys with dict.fromkeys ( #6488 )
2021-12-04 13:56:30 +01:00
Erik Soma
da895e3944
Correct print_exception for 3.10. ( #6487 )
2021-12-03 19:32:21 -08:00
Alex Waygood
a293f1e73f
Add OrderedDict.fromkeys ( #6485 )
2021-12-03 22:06:51 +02:00
Alex Waygood
050a77d8e3
Make NewType a class in 3.10 ( #6469 )
2021-12-03 13:33:44 +01:00
Jelle Zijlstra
178b6bb8f4
csv: Make _Writer.write positional-only ( #6475 )
...
At runtime it only uses positional parameters.
I think this works fortuitously in mypy and pyright because mypy ignores parameter names in protocols and pyright has a bug that allows passing positional-only to pos-or-keyword params (microsoft/pyright#2652 ) and the parameter to `io.TextIO.write` happens to be `__s`.
2021-12-02 13:27:21 -08:00
Alex Waygood
a2e4a62fac
Annotate UserList.sort() .index() arguments ( #6472 )
2021-12-02 17:44:21 +01:00
Alex Waygood
7b24e9d89a
Improve UserList comparison methods ( #6471 )
...
These functions will fail at runtime if `other` is not either a `list` or a `UserList`. The elements within `other` must also be of the same type as the elements within `self`, or the comparison will fail.
2021-12-02 16:19:50 +01:00
Akuli
ea3f962860
Move all definitions except environ from posix to os ( #6442 )
2021-12-01 17:07:33 +01:00
László Károlyi
7e22a9e34a
Fix datetime.strftime ( #6317 )
...
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com >
2021-11-30 23:19:30 -08:00
Shantanu
d453b74ceb
logging: fix various __init__ methods ( #6417 )
...
Co-authored-by: hauntsaninja <>
2021-11-30 23:18:35 -08:00
Akuli
b3e8073bac
Create unittest._log stub and improve _AssertLogsContext ( #6428 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com >
2021-11-30 21:39:14 -08:00
Alex Waygood
6246e7856c
Improve BinOp comparison funcs in operator ( #6462 )
2021-11-30 21:38:31 -08:00
Alex Waygood
f2a7d66346
Any->object in operator.contains/operator.countOf (#6459 )
...
Co-authored-by: Akuli <akuviljanen17@gmail.com >
2021-11-30 09:57:51 -08:00
Alex Waygood
c3753d3913
Use SupportsIndex in operator.index ( #6460 )
2021-11-30 09:38:34 -08:00
Alex Waygood
93cb52b929
Improve unary-operator functions in operator ( #6452 )
2021-11-30 07:38:35 -08:00
Alex Waygood
9ccfc587d8
operator.length_hint: Any -> object (#6456 )
2021-11-30 17:12:29 +02:00
Alex Waygood
f3632f8da5
operator.eq: Any -> object (#6457 )
2021-11-30 17:10:07 +02:00
Alex Waygood
1f62ff62e7
Any -> object in simple operator funcs (#6451 )
2021-11-30 15:21:51 +02:00
Akuli
c8c5519fa6
sqlite3: stubtest fixes ( #6441 )
2021-11-29 11:07:20 -08:00
Akuli
f29f0a5394
importlib: stubtest fixes for py310 ( #6443 )
2021-11-29 11:05:54 -08:00
Alex Waygood
521dd430c6
Add zipimporter.find_spec() and zipimporter.invalidate_caches() ( #6446 )
...
Co-authored-by: Akuli <akuviljanen17@gmail.com >
2021-11-29 16:52:20 +02:00
Alex Waygood
aee90a0e82
Add CodeType.co_lines() and CodeType.co_linetable ( #6445 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Akuli <akuviljanen17@gmail.com >
2021-11-29 16:49:30 +02:00
Alex Waygood
d5f9c95c26
Improve stub file for xml/dom/xmlbuilder.py ( #6171 )
...
Co-authored-by: Akuli <akuviljanen17@gmail.com >
2021-11-29 15:46:09 +02:00
Alex Waygood
cc5a3ca9e2
Add os.waitstatus_to_exitcode ( #6444 )
2021-11-29 15:22:42 +02:00
Jelle Zijlstra
2836e537c2
Fix _operator.indexOf signature ( #6435 )
...
Co-authored-by: Akuli <akuviljanen17@gmail.com >
2021-11-29 12:39:03 +02:00
Shantanu
238dff64c9
unittest.mock: add decorate_async_callable, use tuple methods ( #6438 )
...
Co-authored-by: hauntsaninja <>
2021-11-28 21:55:47 -08:00
Alex Waygood
5434243f65
Add socketserver.UDPServer.max_packet_size ( #6433 )
...
It looks like an int in the source code: 8d1a580064/Lib/socketserver.py (L524) .
Stubtest flagged it as being missing in all supported Python versions, on all platforms: https://github.com/python/typeshed/pull/6403/files
2021-11-28 20:36:23 -08:00
Shantanu
0bad0691be
threading: fixes for _DummyThread and _RLock ( #6437 )
...
Co-authored-by: hauntsaninja <>
2021-11-28 20:11:54 -08:00
Shantanu
1d335545b2
_osx_support: fix _read_output ( #6436 )
...
* _osx_support: fix _read_output
* [pre-commit.ci] auto fixes from pre-commit.com hooks
Co-authored-by: hauntsaninja <>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-28 20:01:06 -08:00
Alex Waygood
652aa66953
Add CallableProxyType.__call__ ( #6434 )
2021-11-28 19:13:08 -08:00
Alex Waygood
73d638fe8e
Add platform.freedesktop_os_release() ( #6432 )
...
Documented here: https://docs.python.org/3/library/platform.html#linux-platforms
2021-11-28 14:50:25 -08:00
Akuli
71999b7cde
operator.countOf takes Iterable ( #6431 )
2021-11-28 14:34:05 -08:00
Nikita Sobolev
d0ce310f55
Make ctypes.Array abstract ( #6361 )
...
Co-authored-by: Akuli <akuviljanen17@gmail.com >
2021-11-28 22:42:23 +02:00
Alex Waygood
77d820c76c
Add missing symtable methods ( #6430 )
...
Both added in https://bugs.python.org/issue34983
2021-11-28 08:06:36 -08:00
Akuli
99f6e022f7
ipaddress: return unions from ip_address, ip_network, ip_interface ( #6400 )
2021-11-28 08:06:22 -08:00
Akuli
2b702233c6
tests/check_new_syntax.py: check order of if statements ( #6423 )
2021-11-28 08:04:46 -08:00
Akuli
6d54c10387
Make posix module empty on windows ( #6427 )
2021-11-28 07:54:30 -08:00
Akuli
524775d45e
move definitions from operator to _operator ( #6429 )
2021-11-28 07:52:57 -08:00
Alex Waygood
971908ca24
Add no_logs parameter to AssertLogsContext ( #6426 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-28 15:25:43 +02:00