-
Notifications
You must be signed in to change notification settings - Fork 12
/
setup.py
71 lines (64 loc) · 2.05 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import os
import sys
import setuptools
import versioneer
with open("README.md", "r") as fh:
long_description = fh.read()
def check_cython():
"""
Check to see if Cython is installed and able to compile extensions (which
requires a C compiler and the Python headers to be installed).
Return True on success, False on failure.
"""
argv_org = list(sys.argv)
try:
from Cython.Build import cythonize
sys.argv = argv_org[:1] + ["build_ext"]
setuptools.setup(name="foo", version="1.0.0",
ext_modules=cythonize(
["ndindex/__init__.py"],
language_level="3"))
except:
return False
finally:
sys.argv = argv_org
return True
CYTHONIZE_NDINDEX = os.getenv("CYTHONIZE_NDINDEX")
if CYTHONIZE_NDINDEX is None:
use_cython = check_cython()
else:
try:
use_cython = bool(int(CYTHONIZE_NDINDEX))
except ValueError:
sys.exit("Acceptable values for CYTHONIZE_NDINDEX are '0' and '1', "
"got: %r" % CYTHONIZE_NDINDEX)
if use_cython:
from Cython.Build import cythonize
ext_modules = cythonize(["ndindex/*.py"],
language_level="3")
else:
ext_modules = []
setuptools.setup(
name="ndindex",
version=versioneer.get_version(),
cmdclass=versioneer.get_cmdclass(),
author="Quansight Labs",
description="A Python library for manipulating indices of ndarrays.",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://quansight-labs.github.io/ndindex/",
packages=['ndindex', 'ndindex.tests'],
ext_modules=ext_modules,
license="MIT",
# NumPy is only required when using array indices
extras_require={
"arrays": "numpy",
},
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
python_requires='>=3.9',
)
print("CYTHONIZE_NDINDEX: %r" % CYTHONIZE_NDINDEX)