diff --git a/stdlib/builtins.pyi b/stdlib/builtins.pyi index 0fe6d9a69651..774ef031c7ad 100644 --- a/stdlib/builtins.pyi +++ b/stdlib/builtins.pyi @@ -2185,7 +2185,7 @@ if sys.version_info >= (3, 15): class sentinel: __name__: str __module__: str - def __new__(cls, name: str, /) -> Self: ... + def __new__(cls, name: str, /, *, repr: str | None = None) -> Self: ... def __copy__(self, /) -> Self: ... def __deepcopy__(self, memo: Any, /) -> Self: ... def __or__(self, other: Any, /) -> Any: ... diff --git a/stdlib/os/__init__.pyi b/stdlib/os/__init__.pyi index 836d6e2ef446..726e9702fb16 100644 --- a/stdlib/os/__init__.pyi +++ b/stdlib/os/__init__.pyi @@ -1305,7 +1305,11 @@ def mkdir(path: StrOrBytesPath, mode: int = 0o777, *, dir_fd: int | None = None) if sys.platform != "win32": def mkfifo(path: StrOrBytesPath, mode: int = 0o666, *, dir_fd: int | None = None) -> None: ... # Unix only -def makedirs(name: StrOrBytesPath, mode: int = 0o777, exist_ok: bool = False) -> None: ... +if sys.version_info >= (3, 15): + def makedirs(name: StrOrBytesPath, mode: int = 0o777, exist_ok: bool = False, *, parent_mode: int | None = None) -> None: ... + +else: + def makedirs(name: StrOrBytesPath, mode: int = 0o777, exist_ok: bool = False) -> None: ... if sys.platform != "win32": def mknod(path: StrOrBytesPath, mode: int = 0o600, device: int = 0, *, dir_fd: int | None = None) -> None: ... diff --git a/stdlib/pathlib/__init__.pyi b/stdlib/pathlib/__init__.pyi index 0d3b5aef56bd..ca0d41f64958 100644 --- a/stdlib/pathlib/__init__.pyi +++ b/stdlib/pathlib/__init__.pyi @@ -208,7 +208,12 @@ class Path(PurePath): def iterdir(self) -> Generator[Self]: ... def lchmod(self, mode: int) -> None: ... def lstat(self) -> stat_result: ... - def mkdir(self, mode: int = 0o777, parents: bool = False, exist_ok: bool = False) -> None: ... + if sys.version_info >= (3, 15): + def mkdir( + self, mode: int = 0o777, parents: bool = False, exist_ok: bool = False, *, parent_mode: int | None = None + ) -> None: ... + else: + def mkdir(self, mode: int = 0o777, parents: bool = False, exist_ok: bool = False) -> None: ... if sys.version_info >= (3, 14): @property diff --git a/stdlib/pprint.pyi b/stdlib/pprint.pyi index 1d3705ec6ff6..dd2902021657 100644 --- a/stdlib/pprint.pyi +++ b/stdlib/pprint.pyi @@ -6,13 +6,15 @@ from typing import IO __all__ = ["pprint", "pformat", "isreadable", "isrecursive", "saferepr", "PrettyPrinter", "pp"] if sys.version_info >= (3, 15): + # The `expand` parameter was added in Python 3.15. def pformat( object: object, - indent: int = 4, - width: int = 88, + indent: int = 1, + width: int = 80, depth: int | None = None, *, compact: bool = False, + expand: bool = False, sort_dicts: bool = True, underscore_numbers: bool = False, ) -> str: ... @@ -30,14 +32,16 @@ else: ) -> str: ... if sys.version_info >= (3, 15): + # The `expand` parameter was added in Python 3.15. def pp( object: object, stream: IO[str] | None = None, - indent: int = 4, - width: int = 88, + indent: int = 1, + width: int = 80, depth: int | None = None, *, compact: bool = False, + expand: bool = False, sort_dicts: bool = False, underscore_numbers: bool = False, ) -> None: ... @@ -56,14 +60,16 @@ else: ) -> None: ... if sys.version_info >= (3, 15): + # The `expand` parameter was added in Python 3.15. def pprint( object: object, stream: IO[str] | None = None, - indent: int = 4, - width: int = 88, + indent: int = 1, + width: int = 80, depth: int | None = None, *, compact: bool = False, + expand: bool = False, sort_dicts: bool = True, underscore_numbers: bool = False, ) -> None: ... @@ -87,14 +93,16 @@ def saferepr(object: object) -> str: ... class PrettyPrinter: if sys.version_info >= (3, 15): + # The `expand` parameter was added in Python 3.15. def __init__( self, - indent: int = 4, - width: int = 88, + indent: int = 1, + width: int = 80, depth: int | None = None, stream: IO[str] | None = None, *, compact: bool = False, + expand: bool = False, sort_dicts: bool = True, underscore_numbers: bool = False, ) -> None: ... diff --git a/stdlib/profiling/sampling/collector.pyi b/stdlib/profiling/sampling/collector.pyi index f191dbb66039..a72a185a2fb7 100644 --- a/stdlib/profiling/sampling/collector.pyi +++ b/stdlib/profiling/sampling/collector.pyi @@ -1,7 +1,7 @@ from _typeshed import StrOrBytesPath from abc import ABC, abstractmethod from collections.abc import Sequence -from typing import TypeAlias +from typing import ClassVar, TypeAlias from _remote_debugging import AwaitedInfo, FrameInfo, InterpreterInfo, LocationInfo @@ -15,6 +15,7 @@ def filter_internal_frames(frames: Sequence[_Frame]) -> list[_Frame]: ... def iter_async_frames(awaited_info_list: Sequence[AwaitedInfo]) -> object: ... class Collector(ABC): + aggregating: ClassVar[bool] # undocumented @abstractmethod def collect( self, stack_frames: Sequence[InterpreterInfo] | Sequence[AwaitedInfo], timestamps_us: _Timestamps = None diff --git a/stdlib/site.pyi b/stdlib/site.pyi index da046ee510ad..46e82b0655c1 100644 --- a/stdlib/site.pyi +++ b/stdlib/site.pyi @@ -12,22 +12,17 @@ def abs_paths() -> None: ... # undocumented def addpackage(sitedir: StrPath, name: StrPath, known_paths: set[str] | None) -> set[str] | None: ... # undocumented if sys.version_info >= (3, 15): - def process_startup_files() -> None: ... # undocumented - def addsitedir(sitedir: str, known_paths: set[str] | None = None, *, defer_processing_start_files: bool = False) -> None: ... - def addsitepackages( - known_paths: set[str] | None, prefixes: Iterable[str] | None = None, *, defer_processing_start_files: bool = False - ) -> set[str] | None: ... # undocumented - def addusersitepackages( - known_paths: set[str] | None, *, defer_processing_start_files: bool = False - ) -> set[str] | None: ... # undocumented - -else: - def addsitedir(sitedir: str, known_paths: set[str] | None = None) -> None: ... - def addsitepackages( - known_paths: set[str] | None, prefixes: Iterable[str] | None = None - ) -> set[str] | None: ... # undocumented - def addusersitepackages(known_paths: set[str] | None) -> set[str] | None: ... # undocumented - + class StartupState: + __slots__ = ("_known_paths", "_processed_sitedirs", "_path_entries", "_importexecs", "_entrypoints") + def __init__(self, known_paths: set[str] | None = None) -> None: ... + def addsitedir(self, sitedir: str) -> None: ... + def addusersitepackages(self) -> None: ... + def addsitepackages(self, prefixes: Iterable[str] | None = None) -> None: ... + def process(self) -> None: ... + +def addsitedir(sitedir: str, known_paths: set[str] | None = None) -> None: ... +def addsitepackages(known_paths: set[str] | None, prefixes: Iterable[str] | None = None) -> set[str] | None: ... # undocumented +def addusersitepackages(known_paths: set[str] | None) -> set[str] | None: ... # undocumented def check_enableusersite() -> bool | None: ... # undocumented if sys.version_info >= (3, 13): diff --git a/stdlib/sys/__init__.pyi b/stdlib/sys/__init__.pyi index 51c6d1deeecc..80fb9348a604 100644 --- a/stdlib/sys/__init__.pyi +++ b/stdlib/sys/__init__.pyi @@ -53,7 +53,7 @@ maxunicode: int meta_path: list[MetaPathFinderProtocol] modules: dict[str, ModuleType] if sys.version_info >= (3, 15): - lazy_modules: dict[str, set[str]] + lazy_modules: set[str] orig_argv: list[str] path: list[str] path_hooks: list[Callable[[str], PathEntryFinderProtocol]]