Skip to content

Commit be7e7c5

Browse files
Restrict filename parameter of compile() (and other stdlib functions wrapping compile()) to take bytes, not Buffer. (#14847)
1 parent 12e7d4e commit be7e7c5

File tree

4 files changed

+19
-19
lines changed

4 files changed

+19
-19
lines changed

stdlib/_frozen_importlib_external.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ class SourceLoader(_LoaderBasics):
100100
def get_source(self, fullname: str) -> str | None: ...
101101
def path_stats(self, path: str) -> Mapping[str, Any]: ...
102102
def source_to_code(
103-
self, data: ReadableBuffer | str | _ast.Module | _ast.Expression | _ast.Interactive, path: ReadableBuffer | StrPath
103+
self, data: ReadableBuffer | str | _ast.Module | _ast.Expression | _ast.Interactive, path: bytes | StrPath
104104
) -> types.CodeType: ...
105105
def get_code(self, fullname: str) -> types.CodeType | None: ...
106106

@@ -126,7 +126,7 @@ class SourceFileLoader(importlib.abc.FileLoader, FileLoader, importlib.abc.Sourc
126126
def source_to_code( # type: ignore[override] # incompatible with InspectLoader.source_to_code
127127
self,
128128
data: ReadableBuffer | str | _ast.Module | _ast.Expression | _ast.Interactive,
129-
path: ReadableBuffer | StrPath,
129+
path: bytes | StrPath,
130130
*,
131131
_optimize: int = -1,
132132
) -> types.CodeType: ...

stdlib/ast.pyi

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1747,7 +1747,7 @@ if sys.version_info >= (3, 13):
17471747
@overload
17481748
def parse(
17491749
source: _T,
1750-
filename: str | ReadableBuffer | os.PathLike[Any] = "<unknown>",
1750+
filename: str | bytes | os.PathLike[Any] = "<unknown>",
17511751
mode: Literal["exec", "eval", "func_type", "single"] = "exec",
17521752
*,
17531753
type_comments: bool = False,
@@ -1757,7 +1757,7 @@ if sys.version_info >= (3, 13):
17571757
@overload
17581758
def parse(
17591759
source: str | ReadableBuffer,
1760-
filename: str | ReadableBuffer | os.PathLike[Any] = "<unknown>",
1760+
filename: str | bytes | os.PathLike[Any] = "<unknown>",
17611761
mode: Literal["exec"] = "exec",
17621762
*,
17631763
type_comments: bool = False,
@@ -1767,7 +1767,7 @@ if sys.version_info >= (3, 13):
17671767
@overload
17681768
def parse(
17691769
source: str | ReadableBuffer,
1770-
filename: str | ReadableBuffer | os.PathLike[Any],
1770+
filename: str | bytes | os.PathLike[Any],
17711771
mode: Literal["eval"],
17721772
*,
17731773
type_comments: bool = False,
@@ -1777,7 +1777,7 @@ if sys.version_info >= (3, 13):
17771777
@overload
17781778
def parse(
17791779
source: str | ReadableBuffer,
1780-
filename: str | ReadableBuffer | os.PathLike[Any],
1780+
filename: str | bytes | os.PathLike[Any],
17811781
mode: Literal["func_type"],
17821782
*,
17831783
type_comments: bool = False,
@@ -1787,7 +1787,7 @@ if sys.version_info >= (3, 13):
17871787
@overload
17881788
def parse(
17891789
source: str | ReadableBuffer,
1790-
filename: str | ReadableBuffer | os.PathLike[Any],
1790+
filename: str | bytes | os.PathLike[Any],
17911791
mode: Literal["single"],
17921792
*,
17931793
type_comments: bool = False,
@@ -1824,7 +1824,7 @@ if sys.version_info >= (3, 13):
18241824
@overload
18251825
def parse(
18261826
source: str | ReadableBuffer,
1827-
filename: str | ReadableBuffer | os.PathLike[Any] = "<unknown>",
1827+
filename: str | bytes | os.PathLike[Any] = "<unknown>",
18281828
mode: str = "exec",
18291829
*,
18301830
type_comments: bool = False,
@@ -1836,7 +1836,7 @@ else:
18361836
@overload
18371837
def parse(
18381838
source: _T,
1839-
filename: str | ReadableBuffer | os.PathLike[Any] = "<unknown>",
1839+
filename: str | bytes | os.PathLike[Any] = "<unknown>",
18401840
mode: Literal["exec", "eval", "func_type", "single"] = "exec",
18411841
*,
18421842
type_comments: bool = False,
@@ -1845,7 +1845,7 @@ else:
18451845
@overload
18461846
def parse(
18471847
source: str | ReadableBuffer,
1848-
filename: str | ReadableBuffer | os.PathLike[Any] = "<unknown>",
1848+
filename: str | bytes | os.PathLike[Any] = "<unknown>",
18491849
mode: Literal["exec"] = "exec",
18501850
*,
18511851
type_comments: bool = False,
@@ -1854,7 +1854,7 @@ else:
18541854
@overload
18551855
def parse(
18561856
source: str | ReadableBuffer,
1857-
filename: str | ReadableBuffer | os.PathLike[Any],
1857+
filename: str | bytes | os.PathLike[Any],
18581858
mode: Literal["eval"],
18591859
*,
18601860
type_comments: bool = False,
@@ -1863,7 +1863,7 @@ else:
18631863
@overload
18641864
def parse(
18651865
source: str | ReadableBuffer,
1866-
filename: str | ReadableBuffer | os.PathLike[Any],
1866+
filename: str | bytes | os.PathLike[Any],
18671867
mode: Literal["func_type"],
18681868
*,
18691869
type_comments: bool = False,
@@ -1872,7 +1872,7 @@ else:
18721872
@overload
18731873
def parse(
18741874
source: str | ReadableBuffer,
1875-
filename: str | ReadableBuffer | os.PathLike[Any],
1875+
filename: str | bytes | os.PathLike[Any],
18761876
mode: Literal["single"],
18771877
*,
18781878
type_comments: bool = False,
@@ -1905,7 +1905,7 @@ else:
19051905
@overload
19061906
def parse(
19071907
source: str | ReadableBuffer,
1908-
filename: str | ReadableBuffer | os.PathLike[Any] = "<unknown>",
1908+
filename: str | bytes | os.PathLike[Any] = "<unknown>",
19091909
mode: str = "exec",
19101910
*,
19111911
type_comments: bool = False,

stdlib/builtins.pyi

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1401,7 +1401,7 @@ if sys.version_info >= (3, 10):
14011401
@overload
14021402
def compile(
14031403
source: str | ReadableBuffer | _ast.Module | _ast.Expression | _ast.Interactive,
1404-
filename: str | ReadableBuffer | PathLike[Any],
1404+
filename: str | bytes | PathLike[Any],
14051405
mode: str,
14061406
flags: Literal[0],
14071407
dont_inherit: bool = False,
@@ -1412,7 +1412,7 @@ def compile(
14121412
@overload
14131413
def compile(
14141414
source: str | ReadableBuffer | _ast.Module | _ast.Expression | _ast.Interactive,
1415-
filename: str | ReadableBuffer | PathLike[Any],
1415+
filename: str | bytes | PathLike[Any],
14161416
mode: str,
14171417
*,
14181418
dont_inherit: bool = False,
@@ -1422,7 +1422,7 @@ def compile(
14221422
@overload
14231423
def compile(
14241424
source: str | ReadableBuffer | _ast.Module | _ast.Expression | _ast.Interactive,
1425-
filename: str | ReadableBuffer | PathLike[Any],
1425+
filename: str | bytes | PathLike[Any],
14261426
mode: str,
14271427
flags: Literal[1024],
14281428
dont_inherit: bool = False,
@@ -1433,7 +1433,7 @@ def compile(
14331433
@overload
14341434
def compile(
14351435
source: str | ReadableBuffer | _ast.Module | _ast.Expression | _ast.Interactive,
1436-
filename: str | ReadableBuffer | PathLike[Any],
1436+
filename: str | bytes | PathLike[Any],
14371437
mode: str,
14381438
flags: int,
14391439
dont_inherit: bool = False,

stdlib/importlib/abc.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class InspectLoader(Loader):
5353
def exec_module(self, module: types.ModuleType) -> None: ...
5454
@staticmethod
5555
def source_to_code(
56-
data: ReadableBuffer | str | _ast.Module | _ast.Expression | _ast.Interactive, path: ReadableBuffer | StrPath = "<string>"
56+
data: ReadableBuffer | str | _ast.Module | _ast.Expression | _ast.Interactive, path: bytes | StrPath = "<string>"
5757
) -> types.CodeType: ...
5858

5959
class ExecutionLoader(InspectLoader):

0 commit comments

Comments
 (0)