-
Notifications
You must be signed in to change notification settings - Fork 47
/
pyproject.toml
121 lines (111 loc) · 3.57 KB
/
pyproject.toml
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
[tool.poetry]
name = "tomtoolkit" # must match PyPI package name
packages = [ # tell poetry build that the repo is named tom_base (which != name, above)
{ include="tom_alerts"},
{ include="tom_base"},
{ include="tom_catalogs"},
{ include="tom_common"},
{ include="tom_dataproducts"},
{ include="tom_dataservices"},
{ include="tom_observations"},
{ include="tom_setup"},
{ include="tom_targets"},
{ include="*", format="sdist"},
]
version = "0.0.0" # version supplied by poetry-dynamic-versioning
description = "TOM Toolkit and base modules"
authors = ["TOM Toolkit Project"]
maintainers = [
"William Lindstrom <[email protected]>",
"Joey Chatelain <[email protected]>",
"Rachel Street <[email protected]>"
]
license = "GPL-3.0-only"
readme = "README.md"
homepage = "https://lco.global/tomtoolkit/"
repository = "https://github.com/TOMToolkit/tom_base"
documentation = "https://tom-toolkit.readthedocs.io/en/latest/"
keywords = [
'tomtoolkit',
'TOM',
'astronomy',
'astrophysics',
'cosmology',
'science',
'fits',
'observatory',
]
classifiers = [
'Development Status :: 3 - Alpha',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Topic :: Scientific/Engineering :: Astronomy',
'Topic :: Scientific/Engineering :: Physics'
]
[tool.poetry.dependencies]
python = ">=3.9.0,<3.13"
numpy = ">1.24,<2.2"
astroquery = "<1"
astroplan = ">=0.8,<0.11"
astropy = [
{ version = ">=5.3.3,<6", python = ">=3.9" },
{ version = ">=3,<6", python = "<3.12" }
]
django = "<5"
djangorestframework = ">=3.15,<4"
django-bootstrap4 = ">3,<25"
beautifulsoup4 = "<5"
dramatiq = {version = "<2.0.0", extras = ["redis", "watch"]}
django-contrib-comments = ">=2.0,<3.0"
django-crispy-forms = ">=2.0,<3.0"
crispy-bootstrap4 = ">=2023.1,<2024.11"
django-dramatiq = "~0.11"
django-extensions = "~3"
django-filter = ">=23,<25"
django-gravatar2 = "~1"
django-guardian = "~2"
django-htmx = "~1"
fits2image = "~0.4"
markdown = "<4"
pillow = ">9.2,<12.0"
plotly = "<6"
python-dateutil = "<3"
requests = "<3"
specutils = "<2"
docutils = "!=0.21.post1"
sphinx-design = "^0.6.1"
[tool.poetry.group.test.dependencies]
responses = ">=0.23,<0.26"
factory_boy = ">3.2.1,<3.4"
psycopg2 = "*" # for testing postgres
[tool.poetry.group.docs.dependencies]
recommonmark = "~0.7"
sphinx = ">=5,<8"
sphinx-rtd-theme = ">=1.0,<3.1"
sphinx-copybutton = "~0.5"
[tool.poetry.group.coverage.dependencies]
coverage = ">=6,<8" # coveralls needs ~6 even though 7.3.2 is latest
coveralls = ">=3,<5"
[tool.poetry.group.lint.dependencies]
flake8 = ">=6.0,<7.2"
[tool.poetry-dynamic-versioning]
enable = true
vcs = "git"
style = "pep440"
# the default pattern regex makes the 'v' manditory
# this pattern modifies the default regex in order to make the 'v' optional
# ('v' becomes '[v]?' meaning a single v, [v], and ? means optional)
pattern = "(?x)^[v]?((?P<epoch>\\d+)!)?(?P<base>\\d+(\\.\\d+)*)([-._]?((?P<stage>[a-zA-Z]+)[-._]?(?P<revision>\\d+)?))?(\\+(?P<tagged_metadata>.+))?$"
# substitute version not only in pyproject.toml (which the config block above does)
# but also the __version__.py file
[tool.poetry-dynamic-versioning.substitution]
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"