Skip to content

Commit 91582e6

Browse files
authored
Drop old branches in stdlib/3/os/path.pyi (#4878)
* Drop support for Python 3.5 in stdlib/3/os/path.pyi * Remove more obsolete branches
1 parent 4141dd1 commit 91582e6

File tree

9 files changed

+188
-311
lines changed

9 files changed

+188
-311
lines changed

stdlib/3/asyncio/events.pyi

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,8 @@ class AbstractEventLoop(metaclass=ABCMeta):
8282
def is_closed(self) -> bool: ...
8383
@abstractmethod
8484
def close(self) -> None: ...
85-
if sys.version_info >= (3, 6):
86-
@abstractmethod
87-
async def shutdown_asyncgens(self) -> None: ...
85+
@abstractmethod
86+
async def shutdown_asyncgens(self) -> None: ...
8887
# Methods scheduling callbacks. All these return Handles.
8988
@abstractmethod
9089
def call_soon(self, callback: Callable[..., Any], *args: Any) -> Handle: ...

stdlib/3/ntpath.pyi

Lines changed: 57 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
import os
22
import sys
33
from _typeshed import AnyPath, BytesPath, StrPath
4+
from builtins import _PathLike
45
from genericpath import exists as exists
56
from typing import Any, AnyStr, Optional, Sequence, Tuple, TypeVar, overload
67

78
_T = TypeVar("_T")
89

9-
if sys.version_info >= (3, 6):
10-
from builtins import _PathLike
11-
1210
# ----- os.path variables -----
1311
supports_unicode_filenames: bool
1412
# aliases (also in os)
@@ -25,67 +23,51 @@ defpath: str
2523
devnull: str
2624

2725
# ----- os.path function stubs -----
28-
if sys.version_info >= (3, 6):
29-
# Overloads are necessary to work around python/mypy#3644.
30-
@overload
31-
def abspath(path: _PathLike[AnyStr]) -> AnyStr: ...
32-
@overload
33-
def abspath(path: AnyStr) -> AnyStr: ...
34-
@overload
35-
def basename(p: _PathLike[AnyStr]) -> AnyStr: ...
36-
@overload
37-
def basename(p: AnyStr) -> AnyStr: ...
38-
@overload
39-
def dirname(p: _PathLike[AnyStr]) -> AnyStr: ...
40-
@overload
41-
def dirname(p: AnyStr) -> AnyStr: ...
42-
@overload
43-
def expanduser(path: _PathLike[AnyStr]) -> AnyStr: ...
44-
@overload
45-
def expanduser(path: AnyStr) -> AnyStr: ...
46-
@overload
47-
def expandvars(path: _PathLike[AnyStr]) -> AnyStr: ...
48-
@overload
49-
def expandvars(path: AnyStr) -> AnyStr: ...
50-
@overload
51-
def normcase(s: _PathLike[AnyStr]) -> AnyStr: ...
52-
@overload
53-
def normcase(s: AnyStr) -> AnyStr: ...
26+
# Overloads are necessary to work around python/mypy#3644.
27+
@overload
28+
def abspath(path: _PathLike[AnyStr]) -> AnyStr: ...
29+
@overload
30+
def abspath(path: AnyStr) -> AnyStr: ...
31+
@overload
32+
def basename(p: _PathLike[AnyStr]) -> AnyStr: ...
33+
@overload
34+
def basename(p: AnyStr) -> AnyStr: ...
35+
@overload
36+
def dirname(p: _PathLike[AnyStr]) -> AnyStr: ...
37+
@overload
38+
def dirname(p: AnyStr) -> AnyStr: ...
39+
@overload
40+
def expanduser(path: _PathLike[AnyStr]) -> AnyStr: ...
41+
@overload
42+
def expanduser(path: AnyStr) -> AnyStr: ...
43+
@overload
44+
def expandvars(path: _PathLike[AnyStr]) -> AnyStr: ...
45+
@overload
46+
def expandvars(path: AnyStr) -> AnyStr: ...
47+
@overload
48+
def normcase(s: _PathLike[AnyStr]) -> AnyStr: ...
49+
@overload
50+
def normcase(s: AnyStr) -> AnyStr: ...
51+
@overload
52+
def normpath(path: _PathLike[AnyStr]) -> AnyStr: ...
53+
@overload
54+
def normpath(path: AnyStr) -> AnyStr: ...
55+
56+
if sys.platform == "win32":
5457
@overload
55-
def normpath(path: _PathLike[AnyStr]) -> AnyStr: ...
58+
def realpath(path: _PathLike[AnyStr]) -> AnyStr: ...
5659
@overload
57-
def normpath(path: AnyStr) -> AnyStr: ...
58-
if sys.platform == "win32":
59-
@overload
60-
def realpath(path: _PathLike[AnyStr]) -> AnyStr: ...
61-
@overload
62-
def realpath(path: AnyStr) -> AnyStr: ...
63-
else:
64-
@overload
65-
def realpath(filename: _PathLike[AnyStr]) -> AnyStr: ...
66-
@overload
67-
def realpath(filename: AnyStr) -> AnyStr: ...
60+
def realpath(path: AnyStr) -> AnyStr: ...
6861

6962
else:
70-
def abspath(path: AnyStr) -> AnyStr: ...
71-
def basename(p: AnyStr) -> AnyStr: ...
72-
def dirname(p: AnyStr) -> AnyStr: ...
73-
def expanduser(path: AnyStr) -> AnyStr: ...
74-
def expandvars(path: AnyStr) -> AnyStr: ...
75-
def normcase(s: AnyStr) -> AnyStr: ...
76-
def normpath(path: AnyStr) -> AnyStr: ...
77-
if sys.platform == "win32":
78-
def realpath(path: AnyStr) -> AnyStr: ...
79-
else:
80-
def realpath(filename: AnyStr) -> AnyStr: ...
81-
82-
if sys.version_info >= (3, 6):
83-
# In reality it returns str for sequences of StrPath and bytes for sequences
84-
# of BytesPath, but mypy does not accept such a signature.
85-
def commonpath(paths: Sequence[AnyPath]) -> Any: ...
63+
@overload
64+
def realpath(filename: _PathLike[AnyStr]) -> AnyStr: ...
65+
@overload
66+
def realpath(filename: AnyStr) -> AnyStr: ...
8667

87-
elif sys.version_info >= (3, 5):
88-
def commonpath(paths: Sequence[AnyStr]) -> AnyStr: ...
68+
# In reality it returns str for sequences of StrPath and bytes for sequences
69+
# of BytesPath, but mypy does not accept such a signature.
70+
def commonpath(paths: Sequence[AnyPath]) -> Any: ...
8971

9072
# NOTE: Empty lists results in '' (str) regardless of contained type.
9173
# So, fall back to Any
@@ -103,42 +85,29 @@ def isfile(path: AnyPath) -> bool: ...
10385
def isdir(s: AnyPath) -> bool: ...
10486
def islink(path: AnyPath) -> bool: ...
10587
def ismount(path: AnyPath) -> bool: ...
106-
107-
if sys.version_info >= (3, 6):
108-
@overload
109-
def join(a: StrPath, *paths: StrPath) -> str: ...
110-
@overload
111-
def join(a: BytesPath, *paths: BytesPath) -> bytes: ...
112-
113-
else:
114-
def join(a: AnyStr, *paths: AnyStr) -> AnyStr: ...
115-
88+
@overload
89+
def join(a: StrPath, *paths: StrPath) -> str: ...
90+
@overload
91+
def join(a: BytesPath, *paths: BytesPath) -> bytes: ...
11692
@overload
11793
def relpath(path: BytesPath, start: Optional[BytesPath] = ...) -> bytes: ...
11894
@overload
11995
def relpath(path: StrPath, start: Optional[StrPath] = ...) -> str: ...
12096
def samefile(f1: AnyPath, f2: AnyPath) -> bool: ...
12197
def sameopenfile(fp1: int, fp2: int) -> bool: ...
12298
def samestat(s1: os.stat_result, s2: os.stat_result) -> bool: ...
123-
124-
if sys.version_info >= (3, 6):
125-
@overload
126-
def split(p: _PathLike[AnyStr]) -> Tuple[AnyStr, AnyStr]: ...
127-
@overload
128-
def split(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
129-
@overload
130-
def splitdrive(p: _PathLike[AnyStr]) -> Tuple[AnyStr, AnyStr]: ...
131-
@overload
132-
def splitdrive(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
133-
@overload
134-
def splitext(p: _PathLike[AnyStr]) -> Tuple[AnyStr, AnyStr]: ...
135-
@overload
136-
def splitext(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
137-
138-
else:
139-
def split(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
140-
def splitdrive(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
141-
def splitext(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
99+
@overload
100+
def split(p: _PathLike[AnyStr]) -> Tuple[AnyStr, AnyStr]: ...
101+
@overload
102+
def split(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
103+
@overload
104+
def splitdrive(p: _PathLike[AnyStr]) -> Tuple[AnyStr, AnyStr]: ...
105+
@overload
106+
def splitdrive(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
107+
@overload
108+
def splitext(p: _PathLike[AnyStr]) -> Tuple[AnyStr, AnyStr]: ...
109+
@overload
110+
def splitext(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
142111

143112
if sys.version_info < (3, 7) and sys.platform == "win32":
144113
def splitunc(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ... # deprecated

stdlib/3/os/path.pyi

Lines changed: 57 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
import os
22
import sys
33
from _typeshed import AnyPath, BytesPath, StrPath
4+
from builtins import _PathLike
45
from genericpath import exists as exists
56
from typing import Any, AnyStr, Optional, Sequence, Tuple, TypeVar, overload
67

78
_T = TypeVar("_T")
89

9-
if sys.version_info >= (3, 6):
10-
from builtins import _PathLike
11-
1210
# ----- os.path variables -----
1311
supports_unicode_filenames: bool
1412
# aliases (also in os)
@@ -25,67 +23,51 @@ defpath: str
2523
devnull: str
2624

2725
# ----- os.path function stubs -----
28-
if sys.version_info >= (3, 6):
29-
# Overloads are necessary to work around python/mypy#3644.
30-
@overload
31-
def abspath(path: _PathLike[AnyStr]) -> AnyStr: ...
32-
@overload
33-
def abspath(path: AnyStr) -> AnyStr: ...
34-
@overload
35-
def basename(p: _PathLike[AnyStr]) -> AnyStr: ...
36-
@overload
37-
def basename(p: AnyStr) -> AnyStr: ...
38-
@overload
39-
def dirname(p: _PathLike[AnyStr]) -> AnyStr: ...
40-
@overload
41-
def dirname(p: AnyStr) -> AnyStr: ...
42-
@overload
43-
def expanduser(path: _PathLike[AnyStr]) -> AnyStr: ...
44-
@overload
45-
def expanduser(path: AnyStr) -> AnyStr: ...
46-
@overload
47-
def expandvars(path: _PathLike[AnyStr]) -> AnyStr: ...
48-
@overload
49-
def expandvars(path: AnyStr) -> AnyStr: ...
50-
@overload
51-
def normcase(s: _PathLike[AnyStr]) -> AnyStr: ...
52-
@overload
53-
def normcase(s: AnyStr) -> AnyStr: ...
26+
# Overloads are necessary to work around python/mypy#3644.
27+
@overload
28+
def abspath(path: _PathLike[AnyStr]) -> AnyStr: ...
29+
@overload
30+
def abspath(path: AnyStr) -> AnyStr: ...
31+
@overload
32+
def basename(p: _PathLike[AnyStr]) -> AnyStr: ...
33+
@overload
34+
def basename(p: AnyStr) -> AnyStr: ...
35+
@overload
36+
def dirname(p: _PathLike[AnyStr]) -> AnyStr: ...
37+
@overload
38+
def dirname(p: AnyStr) -> AnyStr: ...
39+
@overload
40+
def expanduser(path: _PathLike[AnyStr]) -> AnyStr: ...
41+
@overload
42+
def expanduser(path: AnyStr) -> AnyStr: ...
43+
@overload
44+
def expandvars(path: _PathLike[AnyStr]) -> AnyStr: ...
45+
@overload
46+
def expandvars(path: AnyStr) -> AnyStr: ...
47+
@overload
48+
def normcase(s: _PathLike[AnyStr]) -> AnyStr: ...
49+
@overload
50+
def normcase(s: AnyStr) -> AnyStr: ...
51+
@overload
52+
def normpath(path: _PathLike[AnyStr]) -> AnyStr: ...
53+
@overload
54+
def normpath(path: AnyStr) -> AnyStr: ...
55+
56+
if sys.platform == "win32":
5457
@overload
55-
def normpath(path: _PathLike[AnyStr]) -> AnyStr: ...
58+
def realpath(path: _PathLike[AnyStr]) -> AnyStr: ...
5659
@overload
57-
def normpath(path: AnyStr) -> AnyStr: ...
58-
if sys.platform == "win32":
59-
@overload
60-
def realpath(path: _PathLike[AnyStr]) -> AnyStr: ...
61-
@overload
62-
def realpath(path: AnyStr) -> AnyStr: ...
63-
else:
64-
@overload
65-
def realpath(filename: _PathLike[AnyStr]) -> AnyStr: ...
66-
@overload
67-
def realpath(filename: AnyStr) -> AnyStr: ...
60+
def realpath(path: AnyStr) -> AnyStr: ...
6861

6962
else:
70-
def abspath(path: AnyStr) -> AnyStr: ...
71-
def basename(p: AnyStr) -> AnyStr: ...
72-
def dirname(p: AnyStr) -> AnyStr: ...
73-
def expanduser(path: AnyStr) -> AnyStr: ...
74-
def expandvars(path: AnyStr) -> AnyStr: ...
75-
def normcase(s: AnyStr) -> AnyStr: ...
76-
def normpath(path: AnyStr) -> AnyStr: ...
77-
if sys.platform == "win32":
78-
def realpath(path: AnyStr) -> AnyStr: ...
79-
else:
80-
def realpath(filename: AnyStr) -> AnyStr: ...
81-
82-
if sys.version_info >= (3, 6):
83-
# In reality it returns str for sequences of StrPath and bytes for sequences
84-
# of BytesPath, but mypy does not accept such a signature.
85-
def commonpath(paths: Sequence[AnyPath]) -> Any: ...
63+
@overload
64+
def realpath(filename: _PathLike[AnyStr]) -> AnyStr: ...
65+
@overload
66+
def realpath(filename: AnyStr) -> AnyStr: ...
8667

87-
elif sys.version_info >= (3, 5):
88-
def commonpath(paths: Sequence[AnyStr]) -> AnyStr: ...
68+
# In reality it returns str for sequences of StrPath and bytes for sequences
69+
# of BytesPath, but mypy does not accept such a signature.
70+
def commonpath(paths: Sequence[AnyPath]) -> Any: ...
8971

9072
# NOTE: Empty lists results in '' (str) regardless of contained type.
9173
# So, fall back to Any
@@ -103,42 +85,29 @@ def isfile(path: AnyPath) -> bool: ...
10385
def isdir(s: AnyPath) -> bool: ...
10486
def islink(path: AnyPath) -> bool: ...
10587
def ismount(path: AnyPath) -> bool: ...
106-
107-
if sys.version_info >= (3, 6):
108-
@overload
109-
def join(a: StrPath, *paths: StrPath) -> str: ...
110-
@overload
111-
def join(a: BytesPath, *paths: BytesPath) -> bytes: ...
112-
113-
else:
114-
def join(a: AnyStr, *paths: AnyStr) -> AnyStr: ...
115-
88+
@overload
89+
def join(a: StrPath, *paths: StrPath) -> str: ...
90+
@overload
91+
def join(a: BytesPath, *paths: BytesPath) -> bytes: ...
11692
@overload
11793
def relpath(path: BytesPath, start: Optional[BytesPath] = ...) -> bytes: ...
11894
@overload
11995
def relpath(path: StrPath, start: Optional[StrPath] = ...) -> str: ...
12096
def samefile(f1: AnyPath, f2: AnyPath) -> bool: ...
12197
def sameopenfile(fp1: int, fp2: int) -> bool: ...
12298
def samestat(s1: os.stat_result, s2: os.stat_result) -> bool: ...
123-
124-
if sys.version_info >= (3, 6):
125-
@overload
126-
def split(p: _PathLike[AnyStr]) -> Tuple[AnyStr, AnyStr]: ...
127-
@overload
128-
def split(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
129-
@overload
130-
def splitdrive(p: _PathLike[AnyStr]) -> Tuple[AnyStr, AnyStr]: ...
131-
@overload
132-
def splitdrive(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
133-
@overload
134-
def splitext(p: _PathLike[AnyStr]) -> Tuple[AnyStr, AnyStr]: ...
135-
@overload
136-
def splitext(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
137-
138-
else:
139-
def split(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
140-
def splitdrive(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
141-
def splitext(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
99+
@overload
100+
def split(p: _PathLike[AnyStr]) -> Tuple[AnyStr, AnyStr]: ...
101+
@overload
102+
def split(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
103+
@overload
104+
def splitdrive(p: _PathLike[AnyStr]) -> Tuple[AnyStr, AnyStr]: ...
105+
@overload
106+
def splitdrive(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
107+
@overload
108+
def splitext(p: _PathLike[AnyStr]) -> Tuple[AnyStr, AnyStr]: ...
109+
@overload
110+
def splitext(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ...
142111

143112
if sys.version_info < (3, 7) and sys.platform == "win32":
144113
def splitunc(p: AnyStr) -> Tuple[AnyStr, AnyStr]: ... # deprecated

stdlib/3/pathlib.pyi

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,8 @@ if sys.version_info >= (3, 9):
1111

1212
_P = TypeVar("_P", bound=PurePath)
1313

14-
if sys.version_info >= (3, 6):
15-
_PurePathBase = os.PathLike[str]
16-
_PathLike = os.PathLike[str]
17-
else:
18-
_PurePathBase = object
19-
_PathLike = PurePath
14+
_PurePathBase = os.PathLike[str]
15+
_PathLike = os.PathLike[str]
2016

2117
class PurePath(_PurePathBase):
2218
parts: Tuple[str, ...]

0 commit comments

Comments
 (0)