Commit Graph
48 Commits
Author SHA1 Message Date
Alex WaygoodandGitHub f4ae363b56 stdlib: correct many pos-or-kw arg names in dunder methods (#7451) 2022-03-07 16:40:03 +01:00
Alex WaygoodandGitHub 947724a5cb stdlib: Add several missing @abstractmethod decorators (#7443) 2022-03-06 16:41:13 -08:00
Martin FischerandJelle Zijlstra 182ddd9daf stdlib: Add os.get_handle_inheritable & setter 2022-03-06 15:57:52 -08:00
Martin FischerandJelle Zijlstra 352f5c3237 stdlib: Add os.copy_file_range(src, dst, count) 2022-03-06 15:57:52 -08:00
Martin FischerandJelle Zijlstra 81a85f18b6 stdlib: Add os.pidfd_open(pid) 2022-03-06 15:57:52 -08:00
ShantanuGitHubhauntsaninja <>
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
Alex WaygoodandGitHub bc72b25a2a Make more miscellaneous fields read-only, annotate _json.make_encoder (#7439) 2022-03-06 15:41:49 -08:00
Alex WaygoodandGitHub d6ce3abd68 Add __all__ to most modules beginning with 'n', 'o' and 'p' (#7345) 2022-02-21 17:57:03 -08:00
Alex WaygoodandGitHub 26e8959279 Use _typeshed.Self in docutils.VersionInfo and os.sched_param (#7117) 2022-02-02 23:30:39 +01:00
ShantanuandGitHub b88a6f19cd Upgrade black version (#7089) 2022-01-30 16:27:06 -08:00
Alex WaygoodandGitHub dbcb38a605 Add more missing methods to os._Environ (#6926) 2022-01-16 06:45:11 -08:00
Matt BogosianandGitHub f55dff80f0 Override os._Environ.__ior__ (#6921)
Supporting the `|=` operator for `os.environ` was introduced in Python 3.9. However,
this led to false negatives in type checking statements like `os.environ |= {"k": "v"}`
and `os.environ |= [("k", "v")]` because the definition inherited from
`typing.MutableMapping` was insufficient. This addresses that deficiency.

Fixes #6919.
2022-01-15 15:52:31 -08:00
Joseph YoungandGitHub e6f28c052e Accept PathLike[bytes] in os.listdir (#6870) 2022-01-09 16:17:01 +02:00
AkuliandGitHub a7886bfa55 Fix several typos in comments (#6830) 2022-01-05 18:44:34 +01:00
Alex WaygoodandGitHub 6ff9020603 Clean up os.statvfs_result (#6828) 2022-01-05 14:53:12 +02:00
Alex WaygoodandGitHub 496313d875 Add various missing os constants (#6753) 2021-12-30 15:21:30 +02:00
Alex WaygoodandGitHub 8d5d2520ac Use PEP 585 syntax wherever possible (#6717) 2021-12-28 11:31:43 +01:00
0b75d71303 Add a structseq class to _typeshed (#6560)
Co-authored-by: Akuli <akuviljanen17@gmail.com>
2021-12-17 13:42:09 -08:00
ShantanuandGitHub d84a03829f Revert addition of class_getitem to PathLike (#6591)
This was added in #5869
This breaks all PathLike classes that don't have class_getitem
2021-12-15 19:25:08 -08:00
AkuliandGitHub 7155bdae63 Re-export more os functions in posix, tweak availability on linux (#6529) 2021-12-07 16:10:41 +01:00
Alex WaygoodandGitHub 415d387009 Make various os functions available on Windows (#6500) 2021-12-05 22:06:22 +02:00
AkuliandGitHub ea3f962860 Move all definitions except environ from posix to os (#6442) 2021-12-01 17:07:33 +01:00
Alex WaygoodandGitHub cc5a3ca9e2 Add os.waitstatus_to_exitcode (#6444) 2021-11-29 15:22:42 +02:00
AkuliandGitHub 6d54c10387 Make posix module empty on windows (#6427) 2021-11-28 07:54:30 -08:00
AkuliandGitHub a5bc1e037f Add mypy error codes to '# type: ignore' comments (#6379) 2021-11-26 07:07:56 +01:00
Alex WaygoodandGitHub a9cfd23fc3 Further reduce use of deprecated contextlib aliases (#6370) 2021-11-23 15:25:39 -08:00
Alex WaygoodandGitHub 029cf555e7 Use lowercase set/deque in stdlib subdirectories (#6350) 2021-11-20 04:20:25 -08:00
Alex WaygoodandGitHub 10c9d8cfce Add @final to many unsubclassable stdlib classes (#6299) 2021-11-15 14:45:24 +01:00
luzpazandGitHub b95b729b9e Fix typos (#6263)
Found via `codespell -q 3 -L alo,asend,ba,nams,spawnve`
2021-11-08 18:23:15 -08:00
AkuliandGitHub 994b69ef8f Use lowercase tuple where possible (#6170) 2021-10-14 17:18:19 -07:00
Oleg HöflingandGitHub 64f481189f drop ellipsis assignments from module vars, classvars and instance attrs (#5914)
Signed-off-by: oleg.hoefling <oleg.hoefling@gmail.com>
2021-08-11 19:26:58 +02:00
AkuliandGitHub 9af9cca7f3 lowercase list and dict in the rest of stdlib (#5892) 2021-08-09 00:13:08 +02:00
AkuliandGitHub df6a211855 Use new union syntax in rest of stdlib (#5884) 2021-08-08 15:44:30 +02:00
Anton GrübelandGitHub 39ede0242c add missing type hints for __class_getitem__ (#5869) 2021-08-07 16:12:53 +02:00
an onionandGitHub f30d6f6fd0 Add stubs for posix_spawn and posix_spawnp (#5846) 2021-08-05 18:55:26 -07:00
d68701c0ec Use _typeshed.Self with __enter__ (#5723)
Co-authored-by: Sebastian Rittau <srittau@rittau.biz>
Co-authored-by: Akuli <akuviljanen17@gmail.com>
2021-07-04 21:10:01 +03:00
Sebastian RittauandGitHub f0bf6eebbd AnyStr cleanup (#5487)
* Replace all uses of StrPath, BytesPath, and AnyPath in Python 2 stubs.
* Add StrOrBytesPath as preferred alias for AnyPath.
* Replace all remaining AnyPath instances with StrOrBytesPath.
* Mark AnyPath as obsolete.

Part of #5470
2021-05-17 20:45:48 +02:00
Sebastian RittauandGitHub e5abd08f93 Replace PathLike unions with aliases from _typeshed (#5467)
Standardize on 'from os import PathLike'
2021-05-16 21:38:00 +02:00
ShantanuGitHubhauntsaninja <>
dd73f117f0 os: fix positional-only args (#5412)
Co-authored-by: hauntsaninja <>
2021-05-11 10:47:12 +02:00
ShantanuGitHubhauntsaninja <>Akuli
a91c89ea94 various path stubs: re-export to reduce duplication (#5382)
Co-authored-by: hauntsaninja <>
Co-authored-by: Akuli <akuviljanen17@gmail.com>
2021-05-10 22:27:13 -07:00
hatal175andGitHub 244fc622e6 Add workflow stubtests for macos (#5384)
* Add macos to stubtest

* Add general darwin stubtest exception file

* Adding exceptions and platform ifs
2021-05-09 23:24:00 +03:00
AkuliandGitHub 49cd02456c fixes for os.path.commonpath and os.path.commonprefix (#5363) 2021-05-08 15:30:26 -07:00
hatal175andGitHub 653191e514 A few linux stubtest fixes (#5381) 2021-05-08 12:49:42 -07:00
ShantanuandGitHub 9dcdb6f99c os.path: add strict to realpath in py310 (#5297) 2021-05-02 06:23:37 -07:00
Sebastian RittauandGitHub 45916045c8 Upgrade black to 21.4b0 and reformat (#5250)
This introduces newlines before decorators.
2021-04-26 13:58:27 +02:00
Sebastian RittauandGitHub bac1918b5f PathLike cleanup (#5242)
Copy builtins._PathLike to os.PathLike

Use os.PathLike exclusively outside of builtins
2021-04-23 10:15:07 -07:00
hatal175andGitHub bf201c8201 Various stubtest fixes (#5215) 2021-04-14 19:14:07 -07:00
16ae4c6120 Re-organize directory structure (#4971)
See discussion in #2491

Co-authored-by: Ivan Levkivskyi <ilevkivskyi@dropbox.com>
2021-01-27 12:00:39 +00:00