Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
44 lines (40 loc) · 1.52 KB
/
Copy pathpyproject.toml
File metadata and controls
44 lines (40 loc) · 1.52 KB
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
[build-system]
requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"
[project]
name = "aew"
version = "0.0.1"
description = "Reproducible pipeline for African Easterly Wave / convective-system analysis (Python port of the PhD NCL code)"
readme = "README.md"
license = "CC0-1.0"
requires-python = ">=3.10"
dependencies = [
"numpy>=1.24",
"scipy>=1.10",
"xarray>=2023.1",
"pandas>=2.0",
"netCDF4>=1.6",
"cftime>=1.6",
# aew.v1port.detection contours the advection field with contourpy. It arrives as a
# matplotlib transitive in most environments, which is exactly why it has to be declared:
# a public clone that installs only the core would resolve it privately or not at all.
"contourpy>=1.0",
]
[project.optional-dependencies]
plot = ["matplotlib>=3.7", "cartopy>=0.22"]
data = ["cdsapi>=0.6"]
stats = ["statsmodels>=0.14"] # control_model.py (Poisson GLM, cluster-robust SE)
dev = ["pytest>=7", "pytest-cov>=4"]
# Everything scripts/run_canonical.py needs beyond the library core. The extras existed
# but nothing named the set the canonical sequence requires, so the documented
# "pip install -e ." could not run it. requirements-lock.txt pins the
# exact versions that produced the deposited record.
canonical = ["matplotlib>=3.8", "cartopy>=0.22", "statsmodels>=0.14"]
[tool.setuptools.packages.find]
where = ["src"]
[tool.pytest.ini_options]
testpaths = ["tests"]
filterwarnings = [
"ignore:numpy.ndarray size changed:RuntimeWarning",
"ignore:Setting the shape on a NumPy array:DeprecationWarning",
]