-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
80 lines (71 loc) · 2.44 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 the 2-clause BSD License
import glob
import io
from setuptools import find_packages, setup
# define the branch scheme. Have to do it here so we don't have to modify the path
def branch_scheme(version):
"""
Local version scheme that adds the branch name for absolute reproducibility.
If and when this is added to setuptools_scm this function can be removed.
"""
if version.exact or version.node is None:
return version.format_choice("", "+d{time:{time_format}}", time_format="%Y%m%d")
else:
if version.branch == "main":
return version.format_choice("+{node}", "+{node}.dirty")
else:
return version.format_choice("+{node}.{branch}", "+{node}.{branch}.dirty")
with io.open("README.md", "r", encoding="utf-8") as readme_file:
readme = readme_file.read()
setup_args = {
"name": "pyunifiedcal",
"author": "EoR Imaging",
"url": "https://github.com/EoRImaging/pyunifiedcal",
"license": "BSD",
"description": (
"Python interfaces for exploring unified calibration"
),
"long_description": readme,
"long_description_content_type": "text/markdown",
"package_dir": {"": "src"},
"packages": find_packages(where="src"),
"scripts": glob.glob("scripts/*"),
"use_scm_version": {"local_scheme": branch_scheme},
"include_package_data": True,
"install_requires": [
"numpy>=1.20",
"scipy>=1.3",
"astropy>=5.2",
"h5py>=3.1",
"pyuvdata>=2.2.10",
"setuptools_scm>=7.0.3",
],
"extras_require": {
"healpix": ["astropy-healpix>=0.6"],
"astroquery": ["astroquery>=0.4.4"],
"lunarsky": ["lunarsky>=0.2.1"],
"all": ["astropy-healpix", "astroquery"],
"doc": ["sphinx", "pypandoc"],
"dev": [
"astropy-healpix",
"astroquery",
"lunarsky>=0.2.1",
"pytest",
"pre-commit",
"sphinx",
"pypandoc",
],
},
"classifiers": [
"Development Status :: 1 - Planning",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Topic :: Scientific/Engineering :: Astronomy",
],
"keywords": "radio astronomy",
}
if __name__ == "__main__":
setup(**setup_args)