diff --git a/MANIFEST.in b/MANIFEST.in index d43c1a6..0c9789a 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,6 @@ include mcubes/*.py +include mcubes/*.pyi +include mcubes/py.typed exclude mcubes/numpy_smoothing.py include mcubes/src/*.h diff --git a/mcubes/_mcubes.pyi b/mcubes/_mcubes.pyi new file mode 100644 index 0000000..dffd3bc --- /dev/null +++ b/mcubes/_mcubes.pyi @@ -0,0 +1,21 @@ +from typing import Callable, Tuple + +import numpy as np +from numpy.typing import NDArray + + +def marching_cubes( + volume: NDArray[np.generic], + isovalue: float, +) -> Tuple[NDArray[np.float64], NDArray[np.uintp]]: ... + + +def marching_cubes_func( + lower: Tuple[float, float, float], + upper: Tuple[float, float, float], + numx: int, + numy: int, + numz: int, + f: Callable[[float, float, float], float], + isovalue: float, +) -> Tuple[NDArray[np.float64], NDArray[np.uintp]]: ... diff --git a/mcubes/py.typed b/mcubes/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/setup.py b/setup.py index ff500b6..3d426f2 100644 --- a/setup.py +++ b/setup.py @@ -67,6 +67,7 @@ def extensions(): "Topic :: Scientific/Engineering :: Image Recognition", ], packages=["mcubes"], + package_data={"mcubes": ["py.typed", "*.pyi"]}, ext_modules=extensions(), install_requires=['numpy>=1.21', 'scipy>=1.0.0'], )