-
Notifications
You must be signed in to change notification settings - Fork 3
/
setup.py
executable file
·63 lines (57 loc) · 2.2 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
import os.path
from setuptools import setup, find_packages, Extension
from setuptools.command.build_ext import build_ext as _build_ext
import warnings
# numpy path is needed
try:
import numpy
numpy_includes = [numpy.get_include()]
HAVE_NUMPY = True
except ImportError:
# "python setup.py build" will not work and trigger fallback to pure python later on,
# but "python setup.py clean" will be successful with the first call of setup(...)
numpy_includes = []
HAVE_NUMPY = False
classifiers = [
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: MIT License',
'Topic :: Scientific/Engineering',
'Topic :: Scientific/Engineering :: Astronomy',
'Topic :: Scientific/Engineering :: Physics'
]
dir_path = os.path.dirname(os.path.realpath(__file__))
with open(os.path.join(dir_path, 'readme.md')) as f:
long_description = f.read()
kwargs = {
'name': 'kllr',
'version': '2.101',
'author': 'Arya Farahi, Dhayaa Anbajagane',
'author_email': '[email protected]',
'packages': ['KLLR'],
'url': 'https://github.com/afarahi/kllr',
'description': 'Kernel Localized Linear Regression, a scale-dependent, multi-variate model class for regression analysis.',
'long_description': long_description,
'long_description_content_type':'text/markdown',
'url':'https://github.com/afarahi/kllr',
'license': 'MIT',
'keywords': ['linear', 'regression', 'astronomy', 'astrophysics', 'parameter estimation'],
'install_requires': ['numpy', 'scipy', 'matplotlib', 'pandas', 'scikit-learn', 'tqdm'],
'packages': find_packages(),
'test_suite': 'tests',
'python_modules': 'kllr',
'setup_requires': ['pytest-runner'],
'tests_require': ['pytest'],
'classifiers': classifiers,
'package_dir': {'':'.'}
}
try:
setup(**kwargs)
except SystemExit:
reason = 'numpy missing, ' if not HAVE_NUMPY else ''
warnings.warn(reason+'compilation failed. Installing pure python package')
setup(**kwargs)