forked from eradiate/eradiate
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
138 lines (120 loc) · 3.18 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
130
131
132
133
134
135
136
137
138
[build-system]
build-backend = "setuptools.build_meta"
requires = ["setuptools>=61", "setuptools_scm>=6.2"]
[project]
authors = [
{name = "The Eradiate Team"},
]
description = "A radiative transfer model for the Earth observation community"
dynamic = ["version"]
license = {text = "LGPLv3"}
maintainers = [
{name = "The Eradiate Team"},
]
name = "eradiate"
readme = "README.md"
requires-python = ">=3.8"
dependencies = [
"aenum",
"attrs>=21.4",
"click",
"dessinemoi>=22.2.0",
"environ-config",
"matplotlib",
"netcdf4",
"numpy",
"pint",
"pinttrs>=21.3.0",
"pooch",
"rich",
"ruamel.yaml",
"scipy",
"tqdm",
"xarray>=0.19,!=0.20.*",
]
[project.optional-dependencies]
recommended = [
"aabbtree", # Used by the leaf collision detection feature
"astropy", # Used by the Solar irradiance spectrum date-based scaling feature
"iapws", # Used by thermophysical property utilities
"ipython",
"ipywidgets",
"jupyterlab",
"python-dateutil", # Used by the Solar irradiance spectrum date-based scaling feature
"seaborn", # Used to define the Eradiate plotting style
]
tests = [
"pytest",
"pytest-json-report",
]
dev = [
"conda-lock>=0.12", # Required by dependency management scripts
"pip>=22", # Required by dependency management scripts
"pip-tools>=6.5", # Required by dependency management scripts
"setuptools>=61", # Required by dependency management scripts
]
docs = [
"autodocsumm",
"myst-parser",
"nbsphinx",
"sphinx-book-theme>=0.3",
"sphinx-gallery==0.9.0", # Pinned because v0.10+ don't work with nbsphinx v0.8.8+
"sphinx>=3.1",
"sphinxcontrib-bibtex>=2.0",
"sphinx-autobuild",
"sphinx-click>=3.0.2",
"sphinx-copybutton",
"sphinx-design",
]
[project.urls]
changelog = "https://github.com/eradiate/eradiate/CHANGELOG.md"
documentation = "https://eradiate.readthedocs.io"
repository = "https://github.com/eradiate/eradiate"
[project.scripts]
eradiate = "eradiate.cli:main"
ertdata = "eradiate.cli:data"
ertshow = "eradiate.cli:show"
[tool.setuptools]
zip-safe = false # Required because of package data
[tool.setuptools.packages.find]
exclude = ["plugins"]
include = ["eradiate*"]
namespaces = false
where = ["src"]
[tool.setuptools.package-data]
eradiate = ["py.typed", "*.pyi"] # Required by PEP 561 https://mypy.readthedocs.io/en/stable/installed_packages.html#creating-pep-561-compatible-packages
[tool.setuptools_scm]
git_describe_command = [
"git",
"describe",
"--dirty",
"--tags",
"--long",
"--match",
"v[0-9]*",
] # Redefined to avoid crashing with special build tags
version_scheme = "guess-next-dev" # Count commits since last tag, don't anticipate new version
[tool.isort]
profile = "black"
reverse_relative = true
[tool.ruff]
src = ["src", "tests"]
select = [ # No selected rules for now
"I",
]
[tool.ruff.isort]
relative-imports-order = "closest-to-furthest"
[tool.coverage.run]
omit = [
"*/tests/*",
]
source = [
"eradiate/",
]
[tool.pytest.ini_options]
filterwarnings = [
"ignore:distutils Version classes are deprecated:DeprecationWarning",
# Remove the following when environment issues are solved
"ignore:numpy.ndarray size changed, may indicate binary incompatibility:RuntimeWarning",
]
testpaths = "tests"