Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 29 additions & 27 deletions stdlib/compileall.pyi
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,88 @@
import sys
from _typeshed import AnyPath
from typing import Any, Optional, Pattern
from _typeshed import StrPath
from typing import Any, Optional, Protocol

if sys.version_info >= (3, 7):
from py_compile import PycInvalidationMode

class _SupportsSearch(Protocol):
def search(self, string: str) -> Any: ...

if sys.version_info >= (3, 9):
def compile_dir(
dir: AnyPath,
dir: StrPath,
maxlevels: Optional[int] = ...,
ddir: Optional[AnyPath] = ...,
ddir: Optional[StrPath] = ...,
force: bool = ...,
rx: Optional[Pattern[Any]] = ...,
rx: Optional[_SupportsSearch] = ...,
quiet: int = ...,
legacy: bool = ...,
optimize: int = ...,
workers: int = ...,
invalidation_mode: Optional[PycInvalidationMode] = ...,
*,
stripdir: Optional[str] = ..., # TODO: change to Optional[AnyPath] once https://bugs.python.org/issue40447 is resolved
prependdir: Optional[AnyPath] = ...,
limit_sl_dest: Optional[AnyPath] = ...,
stripdir: Optional[str] = ..., # TODO: change to Optional[StrPath] once https://bugs.python.org/issue40447 is resolved
prependdir: Optional[StrPath] = ...,
limit_sl_dest: Optional[StrPath] = ...,
hardlink_dupes: bool = ...,
) -> int: ...
def compile_file(
fullname: AnyPath,
ddir: Optional[AnyPath] = ...,
fullname: StrPath,
ddir: Optional[StrPath] = ...,
force: bool = ...,
rx: Optional[Pattern[Any]] = ...,
rx: Optional[_SupportsSearch] = ...,
quiet: int = ...,
legacy: bool = ...,
optimize: int = ...,
invalidation_mode: Optional[PycInvalidationMode] = ...,
*,
stripdir: Optional[str] = ..., # TODO: change to Optional[AnyPath] once https://bugs.python.org/issue40447 is resolved
prependdir: Optional[AnyPath] = ...,
limit_sl_dest: Optional[AnyPath] = ...,
stripdir: Optional[str] = ..., # TODO: change to Optional[StrPath] once https://bugs.python.org/issue40447 is resolved
prependdir: Optional[StrPath] = ...,
limit_sl_dest: Optional[StrPath] = ...,
hardlink_dupes: bool = ...,
) -> int: ...

elif sys.version_info >= (3, 7):
def compile_dir(
dir: AnyPath,
dir: StrPath,
maxlevels: int = ...,
ddir: Optional[AnyPath] = ...,
ddir: Optional[StrPath] = ...,
force: bool = ...,
rx: Optional[Pattern[Any]] = ...,
rx: Optional[_SupportsSearch] = ...,
quiet: int = ...,
legacy: bool = ...,
optimize: int = ...,
workers: int = ...,
invalidation_mode: Optional[PycInvalidationMode] = ...,
) -> int: ...
def compile_file(
fullname: AnyPath,
ddir: Optional[AnyPath] = ...,
fullname: StrPath,
ddir: Optional[StrPath] = ...,
force: bool = ...,
rx: Optional[Pattern[Any]] = ...,
rx: Optional[_SupportsSearch] = ...,
quiet: int = ...,
legacy: bool = ...,
optimize: int = ...,
invalidation_mode: Optional[PycInvalidationMode] = ...,
) -> int: ...

else:
# rx can be any object with a 'search' method; once we have Protocols we can change the type
def compile_dir(
dir: AnyPath,
dir: StrPath,
maxlevels: int = ...,
ddir: Optional[AnyPath] = ...,
ddir: Optional[StrPath] = ...,
force: bool = ...,
rx: Optional[Pattern[Any]] = ...,
rx: Optional[_SupportsSearch] = ...,
quiet: int = ...,
legacy: bool = ...,
optimize: int = ...,
workers: int = ...,
) -> int: ...
def compile_file(
fullname: AnyPath,
ddir: Optional[AnyPath] = ...,
fullname: StrPath,
ddir: Optional[StrPath] = ...,
force: bool = ...,
rx: Optional[Pattern[Any]] = ...,
rx: Optional[_SupportsSearch] = ...,
quiet: int = ...,
legacy: bool = ...,
optimize: int = ...,
Expand Down