-
Notifications
You must be signed in to change notification settings - Fork 8
/
setup.py
56 lines (46 loc) · 1.63 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
"""Setup for pymartini."""
from pathlib import Path
import numpy as np
# setuptools must be before Cython
from setuptools import find_packages, setup
from Cython.Build import cythonize # isort: skip
with open("README.md") as f:
readme = f.read()
# Runtime requirements.
inst_reqs = ["numpy"]
extra_reqs = {
"test": ["pytest", "pytest-benchmark", "imageio"],
}
# Ref https://suzyahyah.github.io/cython/programming/2018/12/01/Gotchas-in-Cython.html
def find_pyx(path='.'):
return list(map(str, Path(path).glob('**/*.pyx')))
setup(
name="pymartini",
version="0.4.4",
python_requires=">=3.6",
description="A Python port of Martini for fast terrain mesh generation",
long_description=readme,
long_description_content_type="text/markdown",
classifiers=[
"Intended Audience :: Information Technology",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Topic :: Scientific/Engineering :: GIS",
],
keywords="mesh heightmap elevation terrain numpy",
author="Kyle Barron",
author_email="kylebarron2@gmail.com",
url="https://github.com/kylebarron/pymartini",
license="MIT",
packages=find_packages(exclude=["ez_setup", "scripts", "examples", "test"]),
include_package_data=True,
zip_safe=False,
install_requires=inst_reqs,
extras_require=extra_reqs,
ext_modules=cythonize(find_pyx(), language_level=3),
# Include Numpy headers
include_dirs=[np.get_include()],
)