-
Notifications
You must be signed in to change notification settings - Fork 15
/
setup.py
135 lines (119 loc) · 3.91 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
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (C) Duncan Macleod (2016)
#
# This file is part of seismon.
#
# seismon is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# seismon is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with seismon. If not, see <http://www.gnu.org/licenses/>.
"""Setup the seismon package
"""
# ignore all invalid names (pylint isn't good at looking at executables)
# pylint: disable=invalid-name
from __future__ import print_function
import os, sys
from distutils.version import LooseVersion
from setuptools import (setup, find_packages,
__version__ as setuptools_version)
def get_scripts(scripts_dir='bin'):
"""Get relative file paths for all files under the ``scripts_dir``
"""
scripts = []
for (dirname, _, filenames) in os.walk(scripts_dir):
scripts.extend([os.path.join(dirname, fn) for fn in filenames])
return scripts
import versioneer
#from setup_utils import (CMDCLASS, get_setup_requires, get_scripts)
__version__ = versioneer.get_version()
CMDCLASS=versioneer.get_cmdclass()
# -- dependencies -------------------------------------------------------------
# build dependencies
#setup_requires = get_setup_requires()
# package dependencies
install_requires = [
'arrow',
'astropy',
'flask_caching',
'flask_login',
'flask_sqlalchemy',
'flask_wtf',
'gwpy',
'lxml',
'matplotlib>=2.2.0',
'numpy>=1.7.1',
'obspy',
'passlib',
'psycopg2',
'redis',
'scipy>=0.12.1',
'simplejson',
'sqlalchemy',
]
# test dependencies
tests_require = [
'pytest>=3.1',
'freezegun',
'sqlparse',
'bs4',
]
if sys.version < '3':
tests_require.append('mock')
# -- run setup ----------------------------------------------------------------
setup(
# metadata
name='seismon',
provides=['seismon'],
version=__version__,
description="A python package for mitigating the effects of earthquakes on GW detectors",
long_description=("seismon is a python package for mitigating the effects of earthquakes on GW detectors"),
author='Michael Coughlin',
author_email='[email protected]',
license='GPL-2.0-or-later',
url='https://github.com/gwdetchar/seismon/',
# package content
packages=find_packages(),
scripts=get_scripts(),
include_package_data=True,
package_data={'seismon': ['input/*','robustLocklossPredictionPkg/*']},
# dependencies
cmdclass=CMDCLASS,
install_requires=install_requires,
tests_require=tests_require,
# classifiers
classifiers=[
'Development Status :: 4 - Beta',
'Programming Language :: Python',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Intended Audience :: Science/Research',
'Intended Audience :: End Users/Desktop',
'Intended Audience :: Developers',
'Natural Language :: English',
'Topic :: Scientific/Engineering',
'Topic :: Scientific/Engineering :: Astronomy',
'Topic :: Scientific/Engineering :: Physics',
'Operating System :: POSIX',
'Operating System :: Unix',
'Operating System :: MacOS',
'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
],
extras_require={
"frontend": [
'WTForms',
'WTForms-Alchemy',
'WTForms-Components'
],
},
)