-
Notifications
You must be signed in to change notification settings - Fork 77
/
setup.py
80 lines (71 loc) · 1.99 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
72
73
74
75
76
77
78
79
80
# Licensed under a 3-clause BSD style license - see LICENSE.rst
from setuptools import setup, find_packages
import os
def find_scripts(script_dir, prefix, suffix='.py'):
script_list = [
os.path.splitext(f)[0] for f in os.listdir(script_dir)
if (f.startswith(prefix) and f.endswith(suffix))
]
script_dir = script_dir.replace("/", ".")
point_list = []
for f in script_list:
point_list.append(f"{f} = {script_dir}.{f}:main")
return point_list
lstchain_list = find_scripts("lstchain/scripts", "lstchain_")
onsite_list = find_scripts("lstchain/scripts/onsite", "onsite_")
tools_list = find_scripts("lstchain/tools", "lstchain_")
entry_points = {}
entry_points["console_scripts"] = lstchain_list + onsite_list + tools_list
tests_require = ["pytest"]
docs_require = [
"sphinx",
"sphinx-automodapi",
"sphinx_argparse",
"sphinx_rtd_theme",
"numpydoc",
"nbsphinx",
"sphinxcontrib-mermaid",
"sphinx-togglebutton"
]
setup(
use_scm_version={"write_to": os.path.join("lstchain", "_version.py")},
packages=find_packages(exclude="lstchain._dev_version"),
install_requires=[
'astropy~=5.0',
'bokeh~=2.0',
'ctapipe~=0.19.2',
'ctapipe_io_lst~=0.25.1',
'ctaplot~=0.6.4',
'eventio>=1.9.1,<2.0.0a0', # at least 1.1.1, but not 2
'gammapy~=1.1',
'h5py',
'iminuit>=2',
'joblib~=1.2.0',
'matplotlib~=3.7.0',
'numba',
'numpy',
'pandas',
'pyirf~=0.10.0',
'scipy>=1.8,<1.12',
'seaborn',
'scikit-learn~=1.2',
'tables',
'toml',
'protozfits>=2.6.1,<3',
'pymongo',
'pyparsing',
'setuptools_scm',
],
extras_require={
"all": tests_require + docs_require,
"tests": tests_require,
"docs": docs_require,
},
package_data={
'lstchain': [
'data/*',
'resources/*',
],
},
entry_points=entry_points,
)