[stdlib] Mark constants as Final (#14577)

This commit is contained in:
Semyon Moroz
2025-08-15 11:19:03 +00:00
committed by GitHub
parent 554701e9b6
commit 85a787bba3
62 changed files with 1601 additions and 1583 deletions
+180 -180
View File
@@ -509,22 +509,22 @@ supports_follow_symlinks: set[Callable[..., Any]]
if sys.platform != "win32":
# Unix only
PRIO_PROCESS: int
PRIO_PGRP: int
PRIO_USER: int
PRIO_PROCESS: Final[int]
PRIO_PGRP: Final[int]
PRIO_USER: Final[int]
F_LOCK: int
F_TLOCK: int
F_ULOCK: int
F_TEST: int
F_LOCK: Final[int]
F_TLOCK: Final[int]
F_ULOCK: Final[int]
F_TEST: Final[int]
if sys.platform != "darwin":
POSIX_FADV_NORMAL: int
POSIX_FADV_SEQUENTIAL: int
POSIX_FADV_RANDOM: int
POSIX_FADV_NOREUSE: int
POSIX_FADV_WILLNEED: int
POSIX_FADV_DONTNEED: int
POSIX_FADV_NORMAL: Final[int]
POSIX_FADV_SEQUENTIAL: Final[int]
POSIX_FADV_RANDOM: Final[int]
POSIX_FADV_NOREUSE: Final[int]
POSIX_FADV_WILLNEED: Final[int]
POSIX_FADV_DONTNEED: Final[int]
if sys.platform != "linux" and sys.platform != "darwin":
# In the os-module docs, these are marked as being available
@@ -534,69 +534,69 @@ if sys.platform != "win32":
# so the sys-module docs recommend doing `if sys.platform.startswith('freebsd')`
# to detect FreeBSD builds. Unfortunately that would be too dynamic
# for type checkers, however.
SF_NODISKIO: int
SF_MNOWAIT: int
SF_SYNC: int
SF_NODISKIO: Final[int]
SF_MNOWAIT: Final[int]
SF_SYNC: Final[int]
if sys.version_info >= (3, 11):
SF_NOCACHE: int
SF_NOCACHE: Final[int]
if sys.platform == "linux":
XATTR_SIZE_MAX: int
XATTR_CREATE: int
XATTR_REPLACE: int
XATTR_SIZE_MAX: Final[int]
XATTR_CREATE: Final[int]
XATTR_REPLACE: Final[int]
P_PID: int
P_PGID: int
P_ALL: int
P_PID: Final[int]
P_PGID: Final[int]
P_ALL: Final[int]
if sys.platform == "linux":
P_PIDFD: int
P_PIDFD: Final[int]
WEXITED: int
WSTOPPED: int
WNOWAIT: int
WEXITED: Final[int]
WSTOPPED: Final[int]
WNOWAIT: Final[int]
CLD_EXITED: int
CLD_DUMPED: int
CLD_TRAPPED: int
CLD_CONTINUED: int
CLD_KILLED: int
CLD_STOPPED: int
CLD_EXITED: Final[int]
CLD_DUMPED: Final[int]
CLD_TRAPPED: Final[int]
CLD_CONTINUED: Final[int]
CLD_KILLED: Final[int]
CLD_STOPPED: Final[int]
SCHED_OTHER: int
SCHED_FIFO: int
SCHED_RR: int
SCHED_OTHER: Final[int]
SCHED_FIFO: Final[int]
SCHED_RR: Final[int]
if sys.platform != "darwin" and sys.platform != "linux":
SCHED_SPORADIC: int
SCHED_SPORADIC: Final[int]
if sys.platform == "linux":
SCHED_BATCH: int
SCHED_IDLE: int
SCHED_RESET_ON_FORK: int
SCHED_BATCH: Final[int]
SCHED_IDLE: Final[int]
SCHED_RESET_ON_FORK: Final[int]
if sys.version_info >= (3, 14) and sys.platform == "linux":
SCHED_DEADLINE: int
SCHED_NORMAL: int
SCHED_DEADLINE: Final[int]
SCHED_NORMAL: Final[int]
if sys.platform != "win32":
RTLD_LAZY: int
RTLD_NOW: int
RTLD_GLOBAL: int
RTLD_LOCAL: int
RTLD_NODELETE: int
RTLD_NOLOAD: int
RTLD_LAZY: Final[int]
RTLD_NOW: Final[int]
RTLD_GLOBAL: Final[int]
RTLD_LOCAL: Final[int]
RTLD_NODELETE: Final[int]
RTLD_NOLOAD: Final[int]
if sys.platform == "linux":
RTLD_DEEPBIND: int
GRND_NONBLOCK: int
GRND_RANDOM: int
RTLD_DEEPBIND: Final[int]
GRND_NONBLOCK: Final[int]
GRND_RANDOM: Final[int]
if sys.platform == "darwin" and sys.version_info >= (3, 12):
PRIO_DARWIN_BG: int
PRIO_DARWIN_NONUI: int
PRIO_DARWIN_PROCESS: int
PRIO_DARWIN_THREAD: int
PRIO_DARWIN_BG: Final[int]
PRIO_DARWIN_NONUI: Final[int]
PRIO_DARWIN_PROCESS: Final[int]
PRIO_DARWIN_THREAD: Final[int]
SEEK_SET: Final = 0
SEEK_CUR: Final = 1
@@ -605,74 +605,74 @@ if sys.platform != "win32":
SEEK_DATA: Final = 3
SEEK_HOLE: Final = 4
O_RDONLY: int
O_WRONLY: int
O_RDWR: int
O_APPEND: int
O_CREAT: int
O_EXCL: int
O_TRUNC: int
O_RDONLY: Final[int]
O_WRONLY: Final[int]
O_RDWR: Final[int]
O_APPEND: Final[int]
O_CREAT: Final[int]
O_EXCL: Final[int]
O_TRUNC: Final[int]
if sys.platform == "win32":
O_BINARY: int
O_NOINHERIT: int
O_SHORT_LIVED: int
O_TEMPORARY: int
O_RANDOM: int
O_SEQUENTIAL: int
O_TEXT: int
O_BINARY: Final[int]
O_NOINHERIT: Final[int]
O_SHORT_LIVED: Final[int]
O_TEMPORARY: Final[int]
O_RANDOM: Final[int]
O_SEQUENTIAL: Final[int]
O_TEXT: Final[int]
if sys.platform != "win32":
O_DSYNC: int
O_SYNC: int
O_NDELAY: int
O_NONBLOCK: int
O_NOCTTY: int
O_CLOEXEC: int
O_ASYNC: int # Gnu extension if in C library
O_DIRECTORY: int # Gnu extension if in C library
O_NOFOLLOW: int # Gnu extension if in C library
O_ACCMODE: int # TODO: when does this exist?
O_DSYNC: Final[int]
O_SYNC: Final[int]
O_NDELAY: Final[int]
O_NONBLOCK: Final[int]
O_NOCTTY: Final[int]
O_CLOEXEC: Final[int]
O_ASYNC: Final[int] # Gnu extension if in C library
O_DIRECTORY: Final[int] # Gnu extension if in C library
O_NOFOLLOW: Final[int] # Gnu extension if in C library
O_ACCMODE: Final[int] # TODO: when does this exist?
if sys.platform == "linux":
O_RSYNC: int
O_DIRECT: int # Gnu extension if in C library
O_NOATIME: int # Gnu extension if in C library
O_PATH: int # Gnu extension if in C library
O_TMPFILE: int # Gnu extension if in C library
O_LARGEFILE: int # Gnu extension if in C library
O_RSYNC: Final[int]
O_DIRECT: Final[int] # Gnu extension if in C library
O_NOATIME: Final[int] # Gnu extension if in C library
O_PATH: Final[int] # Gnu extension if in C library
O_TMPFILE: Final[int] # Gnu extension if in C library
O_LARGEFILE: Final[int] # Gnu extension if in C library
if sys.platform != "linux" and sys.platform != "win32":
O_SHLOCK: int
O_EXLOCK: int
O_SHLOCK: Final[int]
O_EXLOCK: Final[int]
if sys.platform == "darwin" and sys.version_info >= (3, 10):
O_EVTONLY: int
O_NOFOLLOW_ANY: int
O_SYMLINK: int
O_EVTONLY: Final[int]
O_NOFOLLOW_ANY: Final[int]
O_SYMLINK: Final[int]
if sys.platform != "win32" and sys.version_info >= (3, 10):
O_FSYNC: int
O_FSYNC: Final[int]
if sys.platform != "linux" and sys.platform != "win32" and sys.version_info >= (3, 13):
O_EXEC: int
O_SEARCH: int
O_EXEC: Final[int]
O_SEARCH: Final[int]
if sys.platform != "win32" and sys.platform != "darwin":
# posix, but apparently missing on macos
ST_APPEND: int
ST_MANDLOCK: int
ST_NOATIME: int
ST_NODEV: int
ST_NODIRATIME: int
ST_NOEXEC: int
ST_RELATIME: int
ST_SYNCHRONOUS: int
ST_WRITE: int
ST_APPEND: Final[int]
ST_MANDLOCK: Final[int]
ST_NOATIME: Final[int]
ST_NODEV: Final[int]
ST_NODIRATIME: Final[int]
ST_NOEXEC: Final[int]
ST_RELATIME: Final[int]
ST_SYNCHRONOUS: Final[int]
ST_WRITE: Final[int]
if sys.platform != "win32":
NGROUPS_MAX: int
ST_NOSUID: int
ST_RDONLY: int
NGROUPS_MAX: Final[int]
ST_NOSUID: Final[int]
ST_RDONLY: Final[int]
curdir: str
pardir: str
@@ -688,10 +688,10 @@ linesep: Literal["\n", "\r\n"]
devnull: str
name: str
F_OK: int
R_OK: int
W_OK: int
X_OK: int
F_OK: Final = 0
R_OK: Final = 4
W_OK: Final = 2
X_OK: Final = 1
_EnvironCodeFunc: TypeAlias = Callable[[AnyStr], AnyStr]
@@ -730,47 +730,47 @@ if sys.platform != "win32":
environb: _Environ[bytes]
if sys.version_info >= (3, 11) or sys.platform != "win32":
EX_OK: int
EX_OK: Final[int]
if sys.platform != "win32":
confstr_names: dict[str, int]
pathconf_names: dict[str, int]
sysconf_names: dict[str, int]
EX_USAGE: int
EX_DATAERR: int
EX_NOINPUT: int
EX_NOUSER: int
EX_NOHOST: int
EX_UNAVAILABLE: int
EX_SOFTWARE: int
EX_OSERR: int
EX_OSFILE: int
EX_CANTCREAT: int
EX_IOERR: int
EX_TEMPFAIL: int
EX_PROTOCOL: int
EX_NOPERM: int
EX_CONFIG: int
EX_USAGE: Final[int]
EX_DATAERR: Final[int]
EX_NOINPUT: Final[int]
EX_NOUSER: Final[int]
EX_NOHOST: Final[int]
EX_UNAVAILABLE: Final[int]
EX_SOFTWARE: Final[int]
EX_OSERR: Final[int]
EX_OSFILE: Final[int]
EX_CANTCREAT: Final[int]
EX_IOERR: Final[int]
EX_TEMPFAIL: Final[int]
EX_PROTOCOL: Final[int]
EX_NOPERM: Final[int]
EX_CONFIG: Final[int]
# Exists on some Unix platforms, e.g. Solaris.
if sys.platform != "win32" and sys.platform != "darwin" and sys.platform != "linux":
EX_NOTFOUND: int
EX_NOTFOUND: Final[int]
P_NOWAIT: int
P_NOWAITO: int
P_WAIT: int
P_NOWAIT: Final[int]
P_NOWAITO: Final[int]
P_WAIT: Final[int]
if sys.platform == "win32":
P_DETACH: int
P_OVERLAY: int
P_DETACH: Final[int]
P_OVERLAY: Final[int]
# wait()/waitpid() options
if sys.platform != "win32":
WNOHANG: int # Unix only
WCONTINUED: int # some Unix systems
WUNTRACED: int # Unix only
WNOHANG: Final[int] # Unix only
WCONTINUED: Final[int] # some Unix systems
WUNTRACED: Final[int] # Unix only
TMP_MAX: int # Undocumented, but used by tempfile
TMP_MAX: Final[int] # Undocumented, but used by tempfile
# ----- os classes (structures) -----
@final
@@ -1136,11 +1136,11 @@ if sys.platform != "win32":
def pwritev(fd: int, buffers: SupportsLenAndGetItem[ReadableBuffer], offset: int, flags: int = 0, /) -> int: ...
if sys.platform != "darwin":
if sys.version_info >= (3, 10):
RWF_APPEND: int # docs say available on 3.7+, stubtest says otherwise
RWF_DSYNC: int
RWF_SYNC: int
RWF_HIPRI: int
RWF_NOWAIT: int
RWF_APPEND: Final[int] # docs say available on 3.7+, stubtest says otherwise
RWF_DSYNC: Final[int]
RWF_SYNC: Final[int]
RWF_HIPRI: Final[int]
RWF_NOWAIT: Final[int]
if sys.platform == "linux":
def sendfile(out_fd: FileDescriptor, in_fd: FileDescriptor, offset: int | None, count: int) -> int: ...
@@ -1499,9 +1499,9 @@ else:
setsigdef: Iterable[int] = ...,
scheduler: tuple[Any, sched_param] | None = ...,
) -> int: ...
POSIX_SPAWN_OPEN: int
POSIX_SPAWN_CLOSE: int
POSIX_SPAWN_DUP2: int
POSIX_SPAWN_OPEN: Final = 0
POSIX_SPAWN_CLOSE: Final = 1
POSIX_SPAWN_DUP2: Final = 2
if sys.platform != "win32":
@final
@@ -1565,23 +1565,23 @@ if sys.platform == "win32":
def add_dll_directory(path: str) -> _AddedDllDirectory: ...
if sys.platform == "linux":
MFD_CLOEXEC: int
MFD_ALLOW_SEALING: int
MFD_HUGETLB: int
MFD_HUGE_SHIFT: int
MFD_HUGE_MASK: int
MFD_HUGE_64KB: int
MFD_HUGE_512KB: int
MFD_HUGE_1MB: int
MFD_HUGE_2MB: int
MFD_HUGE_8MB: int
MFD_HUGE_16MB: int
MFD_HUGE_32MB: int
MFD_HUGE_256MB: int
MFD_HUGE_512MB: int
MFD_HUGE_1GB: int
MFD_HUGE_2GB: int
MFD_HUGE_16GB: int
MFD_CLOEXEC: Final[int]
MFD_ALLOW_SEALING: Final[int]
MFD_HUGETLB: Final[int]
MFD_HUGE_SHIFT: Final[int]
MFD_HUGE_MASK: Final[int]
MFD_HUGE_64KB: Final[int]
MFD_HUGE_512KB: Final[int]
MFD_HUGE_1MB: Final[int]
MFD_HUGE_2MB: Final[int]
MFD_HUGE_8MB: Final[int]
MFD_HUGE_16MB: Final[int]
MFD_HUGE_32MB: Final[int]
MFD_HUGE_256MB: Final[int]
MFD_HUGE_512MB: Final[int]
MFD_HUGE_1GB: Final[int]
MFD_HUGE_2GB: Final[int]
MFD_HUGE_16GB: Final[int]
def memfd_create(name: str, flags: int = ...) -> int: ...
def copy_file_range(src: int, dst: int, count: int, offset_src: int | None = ..., offset_dst: int | None = ...) -> int: ...
@@ -1599,12 +1599,12 @@ if sys.version_info >= (3, 12) and sys.platform == "win32":
def listvolumes() -> list[str]: ...
if sys.version_info >= (3, 10) and sys.platform == "linux":
EFD_CLOEXEC: int
EFD_NONBLOCK: int
EFD_SEMAPHORE: int
SPLICE_F_MORE: int
SPLICE_F_MOVE: int
SPLICE_F_NONBLOCK: int
EFD_CLOEXEC: Final[int]
EFD_NONBLOCK: Final[int]
EFD_SEMAPHORE: Final[int]
SPLICE_F_MORE: Final[int]
SPLICE_F_MOVE: Final[int]
SPLICE_F_NONBLOCK: Final[int]
def eventfd(initval: int, flags: int = 524288) -> FileDescriptor: ...
def eventfd_read(fd: FileDescriptor) -> int: ...
def eventfd_write(fd: FileDescriptor, value: int) -> None: ...
@@ -1618,20 +1618,20 @@ if sys.version_info >= (3, 10) and sys.platform == "linux":
) -> int: ...
if sys.version_info >= (3, 12) and sys.platform == "linux":
CLONE_FILES: int
CLONE_FS: int
CLONE_NEWCGROUP: int # Linux 4.6+
CLONE_NEWIPC: int # Linux 2.6.19+
CLONE_NEWNET: int # Linux 2.6.24+
CLONE_NEWNS: int
CLONE_NEWPID: int # Linux 3.8+
CLONE_NEWTIME: int # Linux 5.6+
CLONE_NEWUSER: int # Linux 3.8+
CLONE_NEWUTS: int # Linux 2.6.19+
CLONE_SIGHAND: int
CLONE_SYSVSEM: int # Linux 2.6.26+
CLONE_THREAD: int
CLONE_VM: int
CLONE_FILES: Final[int]
CLONE_FS: Final[int]
CLONE_NEWCGROUP: Final[int] # Linux 4.6+
CLONE_NEWIPC: Final[int] # Linux 2.6.19+
CLONE_NEWNET: Final[int] # Linux 2.6.24+
CLONE_NEWNS: Final[int]
CLONE_NEWPID: Final[int] # Linux 3.8+
CLONE_NEWTIME: Final[int] # Linux 5.6+
CLONE_NEWUSER: Final[int] # Linux 3.8+
CLONE_NEWUTS: Final[int] # Linux 2.6.19+
CLONE_SIGHAND: Final[int]
CLONE_SYSVSEM: Final[int] # Linux 2.6.26+
CLONE_THREAD: Final[int]
CLONE_VM: Final[int]
def unshare(flags: int) -> None: ...
def setns(fd: FileDescriptorLike, nstype: int = 0) -> None: ...