From f509a66f95e5b4b726154e22964e5d9e66167fcd Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Fri, 1 Jul 2022 11:47:23 -0400 Subject: [PATCH] feat: add typing info Signed-off-by: Henry Schreiner --- MANIFEST.in | 2 ++ pyproject.toml | 14 ++++++-------- setup.py | 1 + src/ninja/__init__.pyi | 10 ++++++++++ src/ninja/py.typed | 0 5 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 src/ninja/__init__.pyi create mode 100644 src/ninja/py.typed diff --git a/MANIFEST.in b/MANIFEST.in index bb57fcf..f5b5e8d 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -10,3 +10,5 @@ recursive-exclude Ninja-src * include versioneer.py include src/ninja/_version.py +include src/ninja/__init__.pyi +include src/ninja/py.typed diff --git a/pyproject.toml b/pyproject.toml index 5deaaca..81dbe0e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,6 @@ [build-system] requires = [ "setuptools>=42", - "wheel", "scikit-build>=0.12", ] build-backend = "setuptools.build_meta" @@ -9,8 +8,8 @@ build-backend = "setuptools.build_meta" [tool.cibuildwheel] build = "cp39-*" before-all = [ - "pipx install -f --pip-args=\"-c {project}/constraints-ci.txt\" cmake", - "cmake --version", + 'pipx install -f --pip-args="-c {project}/constraints-ci.txt" cmake', + 'cmake --version', ] before-build = "pip install -r requirements-repair.txt" repair-wheel-command = "python scripts/repair_wheel.py -w {dest_dir} {wheel}" @@ -26,12 +25,11 @@ MACOSX_DEPLOYMENT_TARGET = "10.9" [tool.cibuildwheel.windows] before-all = [ - "pipx install -f --pip-args=\"-c {project}/constraints-ci.txt\" cmake", - "cmake --version", - "pipx install -f --pip-args=\"-c {project}/constraints-ci.txt\" ninja", - "ninja --version", + 'pipx install -f --pip-args="-c {project}/constraints-ci.txt" cmake', + 'cmake --version', + 'pipx install -f --pip-args="-c {project}/constraints-ci.txt" ninja', + 'ninja --version', ] [tool.isort] profile = "black" -multi_line_output = 3 diff --git a/setup.py b/setup.py index 69e8101..976be1d 100755 --- a/setup.py +++ b/setup.py @@ -68,6 +68,7 @@ def parse_requirements(filename): 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'Topic :: Software Development :: Build Tools' + 'Typing :: Typed', ], license='Apache 2.0', diff --git a/src/ninja/__init__.pyi b/src/ninja/__init__.pyi new file mode 100644 index 0000000..d4c91b2 --- /dev/null +++ b/src/ninja/__init__.pyi @@ -0,0 +1,10 @@ +from typing import Iterable, NoReturn + +__version__ = tuple[int, int, int] | tuple[int, int, int, int | str] + +DATA = str +BIN_DIR = str + +def _program(name: str, args: Iterable[str]) -> int: ... + +def ninja() -> NoReturn: ... diff --git a/src/ninja/py.typed b/src/ninja/py.typed new file mode 100644 index 0000000..e69de29