-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathsetup.py
More file actions
executable file
·117 lines (89 loc) · 3.55 KB
/
setup.py
File metadata and controls
executable file
·117 lines (89 loc) · 3.55 KB
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#!/usr/bin/env python
# Licensed under a 3-clause BSD style license - see LICENSE.rst
# NOTE: The configuration for the package, including the name, version, and
# other information are set in the setup.cfg file.
import os
import glob
import sys
from setuptools import setup
# First provide helpful messages if contributors try and run legacy commands
# for tests or docs.
API_HELP = """
Note: Generating api.rst files is no longer done using 'python setup.py api'. Instead
you will need to run:
desi_api_file
which is part of the desiutil package. If you don't already have desiutil installed, you can install it with:
pip install desiutil
"""
MODULE_HELP = """
Note: Generating Module files is no longer done using 'python setup.py api'. Instead
you will need to run:
desiInstall
or
desi_module_file
depending on your exact situation. desiInstall is preferred. Both commands are
part of the desiutil package. If you don't already have desiutil installed, you can install it with:
pip install desiutil
"""
VERSION_HELP = """
Note: Generating version strings is no longer done using 'python setup.py version'. Instead
you will need to run:
desi_update_version [-t TAG] desiutil
which is part of the desiutil package. If you don't already have desiutil installed, you can install it with:
pip install desiutil
"""
TEST_HELP = """
Note: running tests is no longer done using 'python setup.py test'. Instead
you will need to run:
pytest
If you don't already have pytest installed, you can install it with:
pip install pytest
"""
DOCS_HELP = """
Note: building the documentation is no longer done using
'python setup.py {0}'. Instead you will need to run:
sphinx-build -W --keep-going -b html doc doc/_build/html
If you don't already have Sphinx installed, you can install it with:
pip install Sphinx
"""
message = {'api': API_HELP,
'module_file': MODULE_HELP,
'test': TEST_HELP,
'version': VERSION_HELP,
'build_docs': DOCS_HELP.format('build_docs'),
'build_sphinx': DOCS_HELP.format('build_sphinx'), }
for m in message:
if m in sys.argv:
print(message[m])
sys.exit(1)
#
# Begin setup
#
setup_keywords = dict()
#
# Set other keywords for the setup function. These are automated, & should
# be left alone unless you are an expert.
#
# Treat everything in bin/ except *.rst as a script to be installed.
#
if os.path.isdir('bin'):
setup_keywords['scripts'] = [fname for fname in glob.glob(os.path.join('bin', '*'))
if os.access(fname, os.X_OK)]
#
# Add internal data directories.
#
setup_keywords['package_data'] = {'desitarget': ['data/*', 'urat/*'],
'desitarget.cmx': ['data/*',],
'desitarget.sv1': ['data/*',],
'desitarget.sv2': ['data/*',],
'desitarget.sv3': ['data/*',],
'desitarget.test': ['dr6/*', 't/*', 't3/*', 't4/*', 'tgaia/*'],
'desitarget.mock': [os.path.relpath(_,'py/desitarget/mock') for _ in [os.path.join(_[0],'*') for _ in os.walk('py/desitarget/mock/data')]],
'desitarget.streams.gaia_dr3_parallax_zero_point': ['LICENSE', 'README.md', 'coefficients/*',],
'desitarget.train': ['README.md'],
'desitarget.train.data_preparation': ['ROSS4_tabR.txt'],
}
#
# Run setup command.
#
setup(**setup_keywords)