forked from spacetelescope/mirage
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.py
More file actions
executable file
·120 lines (106 loc) · 3.49 KB
/
setup.py
File metadata and controls
executable file
·120 lines (106 loc) · 3.49 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
118
119
120
#!/usr/bin/env python
import os
import pkgutil
import subprocess
import sys
from setuptools import setup, find_packages, Extension, Command
from setuptools.command.test import test as TestCommand
# allows you to build sphinx docs from the package
# main directory with "python setup.py build_sphinx"
try:
from sphinx.cmd.build import build_main
from sphinx.setup_command import BuildDoc
class BuildSphinx(BuildDoc):
"""Build Sphinx documentation after compiling C source files"""
description = 'Build Sphinx documentation'
def initialize_options(self):
BuildDoc.initialize_options(self)
def finalize_options(self):
BuildDoc.finalize_options(self)
def run(self):
build_cmd = self.reinitialize_command('build_ext')
build_cmd.inplace = 1
self.run_command('build_ext')
build_main(['-b', 'html', './docs', './docs/_build/html'])
except ImportError:
class BuildSphinx(Command):
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
print('!\n! Sphinx is not installed!\n!', file=sys.stderr)
exit(1)
DOCS_REQUIRE = [
'nbsphinx',
'sphinx',
'sphinx-automodapi',
'sphinx-rtd-theme',
'stsci-rtd-theme',
'extension-helpers',
]
TESTS_REQUIRE = [
'pytest',
]
setup(
name='mirage',
description='Create simulated JWST data',
long_description=('A tool to create simulated NIRCam, NIRISS,'
'and FGS exposures'
'using an input dark current exposure and a'
'noiseless seed image, which can be produced'
'from source catalogs. Data can optionally be'
'dispersed as well, to simulate wide field'
'slitless data files.'),
author='STScI (Hilbert, Volk, Chambers, Sahlmann et al.)',
author_email='hilbert@stsci.edu',
url='https://github.com/spacetelescope/mirage',
keywords=['astronomy'],
classifiers=[
'Intended Audience :: Science/Research',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Topic :: Scientific/Engineering :: Astronomy',
'Topic :: Software Development :: Libraries :: Python Modules',
],
packages=find_packages(exclude=["examples"]),
package_data={'mirage': ['tests/test_data/*/*.yaml',
'tests/test_data/*/*.list',
'tests/test_data/*/*.xml',
'tests/test_data/*/*.pointing',
'config/*.*']
},
use_scm_version=True,
setup_requires=['setuptools_scm'],
install_requires=[
'asdf>=2.1.0',
'astropy>=4.0',
'astroquery>=0.3.8',
'batman-package',
'crds>=7.4.1',
'gwcs>=0.11',
'h5py>=2.8.0',
'ipython',
'jupyter',
'jwst-backgrounds>=1.1.1',
'lxml>=3.6.4',
'matplotlib>=3.0.0',
'numpy',
'photutils>=0.7.2',
'pysiaf>=0.6.1',
'scipy>=1.1.0',
'synphot>=0.2.0',
'webbpsf>=0.9.0',
'pyyaml>=5.1.2'
],
include_package_data=True,
extras_require={
'docs': DOCS_REQUIRE,
'test': TESTS_REQUIRE,
},
tests_require=TESTS_REQUIRE,
cmdclass={
'build_sphinx': BuildSphinx
},)