Skip to content

Commit

Permalink
Correct types for setuptools.setup (python#12791)
Browse files Browse the repository at this point in the history
Co-authored-by: Avasam <[email protected]>
  • Loading branch information
max-muoto and Avasam authored Oct 13, 2024
1 parent a5174d8 commit 407eeaa
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions stubs/setuptools/setuptools/__init__.pyi
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from _typeshed import Incomplete, StrPath
from abc import abstractmethod
from collections.abc import Iterable, Mapping, Sequence
from typing import Any, Literal, TypeVar, overload
from typing import Any, Literal, TypedDict, TypeVar, overload, type_check_only
from typing_extensions import NotRequired

from ._distutils.cmd import Command as _Command
from .command.alias import alias
Expand Down Expand Up @@ -45,6 +46,14 @@ __all__ = [

__version__: str

@type_check_only
class _BuildInfo(TypedDict):
sources: list[str] | tuple[str, ...]
obj_deps: NotRequired[dict[str, list[str] | tuple[str, ...]]]
macros: NotRequired[list[tuple[str] | tuple[str, str | None]]]
include_dirs: NotRequired[list[str]]
cflags: NotRequired[list[str]]

# Pytype fails with the following:
# find_packages = PackageFinder.find
# find_namespace_packages = PEP420PackageFinder.find
Expand Down Expand Up @@ -85,7 +94,8 @@ def setup(
command_options: Mapping[str, Mapping[str, tuple[Incomplete, Incomplete]]] = ...,
package_data: Mapping[str, list[str]] = ...,
include_package_data: bool = ...,
libraries: list[str] = ...,
# libraries for `Distribution` or `build_clib`, not `Extension`, `build_ext` or `CCompiler`
libraries: list[tuple[str, _BuildInfo]] = ...,
headers: list[str] = ...,
ext_package: str = ...,
include_dirs: list[str] = ...,
Expand Down

0 comments on commit 407eeaa

Please sign in to comment.