From fc8bff1b2699ab8c910b3578552ab3d95dafecf4 Mon Sep 17 00:00:00 2001 From: Tamir Duberstein Date: Fri, 25 Oct 2024 09:51:38 -0400 Subject: [PATCH] Add os.process_cpu_count() for 3.13 (#12905) --- stdlib/os/__init__.pyi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/stdlib/os/__init__.pyi b/stdlib/os/__init__.pyi index 833f9b1e5..203956786 100644 --- a/stdlib/os/__init__.pyi +++ b/stdlib/os/__init__.pyi @@ -1076,6 +1076,14 @@ if sys.platform != "win32": def cpu_count() -> int | None: ... +if sys.version_info >= (3, 13): + # Documented to return `int | None`, but falls back to `len(sched_getaffinity(0))` when + # available. See https://github.com/python/cpython/blob/417c130/Lib/os.py#L1175-L1186. + if sys.platform != "win32" and sys.platform != "darwin": + def process_cpu_count() -> int: ... + else: + def process_cpu_count() -> int | None: ... + if sys.platform != "win32": # Unix only def confstr(name: str | int, /) -> str | None: ...