Skip to content

Commit 3c08a97

Browse files
authored
Improve typing of sysconfig.get_config_var(s) (#11454)
1 parent a209500 commit 3c08a97

File tree

3 files changed

+26
-4
lines changed

3 files changed

+26
-4
lines changed

stdlib/distutils/sysconfig.pyi

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import sys
22
from collections.abc import Mapping
33
from distutils.ccompiler import CCompiler
4+
from typing import Literal, overload
5+
from typing_extensions import deprecated
46

57
PREFIX: str
68
EXEC_PREFIX: str
@@ -10,8 +12,15 @@ project_base: str
1012
python_build: bool
1113

1214
def expand_makefile_vars(s: str, vars: Mapping[str, str]) -> str: ...
15+
@overload
16+
@deprecated("SO is deprecated, use EXT_SUFFIX. Support is removed in Python 3.11")
17+
def get_config_var(name: Literal["SO"]) -> int | str | None: ...
18+
@overload
1319
def get_config_var(name: str) -> int | str | None: ...
14-
def get_config_vars(*args: str) -> Mapping[str, int | str]: ...
20+
@overload
21+
def get_config_vars() -> dict[str, str | int]: ...
22+
@overload
23+
def get_config_vars(arg: str, /, *args: str) -> list[str | int]: ...
1524
def get_config_h_filename() -> str: ...
1625
def get_makefile_filename() -> str: ...
1726
def get_python_inc(plat_specific: bool = ..., prefix: str | None = None) -> str: ...

stdlib/sysconfig.pyi

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import sys
22
from typing import IO, Any, Literal, overload
3+
from typing_extensions import deprecated
34

45
__all__ = [
56
"get_config_h_filename",
@@ -15,11 +16,15 @@ __all__ = [
1516
"parse_config_h",
1617
]
1718

19+
@overload
20+
@deprecated("SO is deprecated, use EXT_SUFFIX. Support is removed in Python 3.11")
21+
def get_config_var(name: Literal["SO"]) -> Any: ...
22+
@overload
1823
def get_config_var(name: str) -> Any: ...
1924
@overload
2025
def get_config_vars() -> dict[str, Any]: ...
2126
@overload
22-
def get_config_vars(arg: str, *args: str) -> list[Any]: ...
27+
def get_config_vars(arg: str, /, *args: str) -> list[Any]: ...
2328
def get_scheme_names() -> tuple[str, ...]: ...
2429

2530
if sys.version_info >= (3, 10):

stubs/setuptools/setuptools/_distutils/sysconfig.pyi

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,20 @@
1-
from collections.abc import Mapping
1+
from typing import Literal, overload
2+
from typing_extensions import deprecated
23

34
from setuptools._distutils.ccompiler import CCompiler
45

56
PREFIX: str
67
EXEC_PREFIX: str
78

9+
@overload
10+
@deprecated("SO is deprecated, use EXT_SUFFIX. Support will be removed when this module is synchronized with stdlib Python 3.11")
11+
def get_config_var(name: Literal["SO"]) -> int | str | None: ...
12+
@overload
813
def get_config_var(name: str) -> int | str | None: ...
9-
def get_config_vars(*args: str) -> Mapping[str, int | str]: ...
14+
@overload
15+
def get_config_vars() -> dict[str, str | int]: ...
16+
@overload
17+
def get_config_vars(arg: str, /, *args: str) -> list[str | int]: ...
1018
def get_config_h_filename() -> str: ...
1119
def get_makefile_filename() -> str: ...
1220
def get_python_inc(plat_specific: bool = ..., prefix: str | None = ...) -> str: ...

0 commit comments

Comments
 (0)