-
Notifications
You must be signed in to change notification settings - Fork 35
Expand file tree
/
Copy pathpyproject.toml
More file actions
114 lines (93 loc) · 3.21 KB
/
Copy pathpyproject.toml
File metadata and controls
114 lines (93 loc) · 3.21 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
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
[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"
[project]
name = "tcpyPI"
dynamic = ["version"]
description = "tcpyPI: Tropical cyclone potential intensity calculations in Python"
readme = "README.md"
requires-python = ">=3.7"
license = {file = "LICENSE" }
authors = [
{ name = "Daniel M. Gilford, PhD", email = "dgilford@climatecentral.org" }
]
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent"
]
dependencies = [
"numba>=0.51.2",
"numpy>=1.19.5"
]
[project.urls]
Homepage = "https://github.com/dgilford/tcpyPI"
Download = "https://github.com/dgilford/tcpyPI"
# Configure hatch-vcs to extract version information from version control (e.g. Git tags)
[tool.hatch.version]
source = "vcs"
[tool.hatch.build.targets.sdist]
exclude = [
"/.github",
"/data",
"/dist",
"/figures",
"/matlab_scripts",
"/notebooks",
"/tests",
"/pyPI_Users_Guide_v1.3.pdf",
"/run_sample.py",
]
[tool.hatch.build.targets.wheel]
packages = ["src/tcpyPI"]
[tool.pytest.ini_options]
addopts = ["--doctest-modules", "-v"]
# Pixi is used for managing Conda environments in the development of tcpyPI.
# It is not required for the installation or usage of tcpyPI.
[tool.pixi.project]
channels = ["conda-forge"]
platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"]
[tool.pixi.pypi-dependencies]
tcpypi = {path = ".", editable = true}
[tool.pixi.dependencies]
# Putting these here to install from conda-forge instead of PyPI.
# The version constraints will get picked up from the tcpyPI PyPI editable package.
python = "*"
numpy = "*"
numba = "*"
[tool.pixi.feature.test.dependencies]
pytest = "*"
pytest-xdist = "*"
[tool.pixi.feature.test.tasks]
basic-tests = "python -m pytest -n auto --ignore run_sample.py --ignore tests/test_run_sample.py"
xarray-tests = "python -m pytest -n auto tests/test_run_sample.py"
[tool.pixi.feature.old-dependency-versions]
# There is no Python 3.7 on osx-arm64, so we need to exclude it.
platforms = ["linux-64", "win-64"]
[tool.pixi.feature.old-dependency-versions.dependencies]
python = "3.7.*"
numba = "==0.51.2"
numpy = "==1.19.5"
[tool.pixi.feature.xarray.dependencies]
xarray = "*"
h5netcdf = "*"
[tool.pixi.feature.notebook.dependencies]
ipykernel = "*"
[tool.pixi.target.osx-64.dependencies]
# Workaround for duplicate LD_RPATH issue on MacOS 15.4
# <https://github.com/prefix-dev/pixi/issues/3479>
# <https://stackoverflow.com/questions/79565969>
libgfortran5 = ">=14"
[tool.pixi.target.osx-arm64.dependencies]
# Workaround for duplicate LD_RPATH issue on MacOS 15.4
# <https://github.com/prefix-dev/pixi/issues/3479>
# <https://stackoverflow.com/questions/79565969>
libgfortran5 = ">=14"
[tool.pixi.environments]
default = {features = ["test", "xarray", "notebook"], solve-group = "default"}
minimal = {features = [], solve-group = "default"}
# CI test environments,
test-latest = {features = ["test"], solve-group = "default"}
test-xarray-latest = {features = ["test", "xarray"], solve-group = "default"}
test-old = {features = ["test", "old-dependency-versions"], solve-group = "old"}
test-xarray-old = {features = ["test", "xarray", "old-dependency-versions"], solve-group = "old"}