-
Notifications
You must be signed in to change notification settings - Fork 48
/
Copy pathpyproject.toml
129 lines (117 loc) · 4.08 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
122
123
124
125
126
127
128
129
[project]
name = "tomtoolkit" # must match PyPI package name
description = "TOM Toolkit and base modules"
authors = [
{name = "TOM Toolkit Project", email = "[email protected]"},
]
maintainers = [
{name = "Joey Chatelain", email = "[email protected]"},
{name = "William Lindstrom", email = "[email protected]"},
{name = "Rachel Street", email = "[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'
]
dynamic = ["version"]
requires-python = ">=3.9.0,<3.13"
dependencies = [
"numpy >1.24,<2.2",
"astroquery <1",
"astroplan >=0.8,<0.11",
"astropy >=5.3.3,<7 ; python_version >= '3.10'",
"astropy >=5.3.3,<6 ; python_version < '3.10'",
"django <5",
"djangorestframework >=3.15,<4",
"django-bootstrap4 >3,<25",
"beautifulsoup4 <5",
"dramatiq[redis,watch] <2.0.0",
"django-contrib-comments >=2.0,<3.0",
"django-crispy-forms >=2.0,<3.0",
"crispy-bootstrap4 >=2023.1,<2024.11",
"django-dramatiq >=0.12,<0.13",
"django-extensions >=3.0.0,<4.0.0",
"django-filter >=23,<25",
"django-gravatar2 >=1.0.0,<2.0.0",
"django-guardian >=2.0.0,<3.0.0",
"django-htmx >=1.0.0,<2.0.0",
"fits2image >=0.4,<0.5",
"markdown <4",
"pillow >9.2,<12.0",
"plotly <6",
"python-dateutil <3",
"requests <3",
"specutils <2",
"docutils !=0.21.post1",
"sphinx-design >=0.6,<0.7",
"importlib-resources >=6.4.5,<6.5.0",
]
[tool.poetry]
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
[tool.poetry.group.test.dependencies]
responses = ">=0.23,<0.26"
factory_boy = ">3.2.1,<3.4"
psycopg2-binary = "*" # 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.requires-plugins]
poetry-dynamic-versioning = { version = ">=1.0.0,<2.0.0", extras = ["plugin"] }
[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 (using the default value of the files property).
[tool.poetry-dynamic-versioning.substitution]
[build-system]
requires = ["poetry-core >=1.0.0", "poetry-dynamic-versioning >=1.0.0, <2.0.0"]
build-backend = "poetry_dynamic_versioning.backend"