Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
59 lines (51 loc) · 2.08 KB
/
Copy pathpyproject.toml
File metadata and controls
59 lines (51 loc) · 2.08 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
[build-system]
requires = ["hatchling>=1.26"]
build-backend = "hatchling.build"
[project]
name = "chromantis"
version = "0.1.0"
description = "Surveillance data, nowcasting, forecasting, evaluation, and exploration"
readme = "README.md"
requires-python = ">=3.11"
license = { text = "MIT" }
authors = [{ name = "ACCIDDA" }]
dependencies = ["epidatpy>=0.7.0,<0.8"]
[project.optional-dependencies]
dataset = ["numpy>=1.24", "pandas>=2"]
# torch is pinned to the CUDA 12.6 build: it is the newest wheel line whose
# compiled architectures still include sm_70 (V100). CUDA 13 wheels dropped it,
# which locks the 80-card volta-gpu partition out. sm_89 (L40/L40S) is covered by
# binary compatibility with the sm_86 cubin, verified on g1803jles01; sm_80 and
# sm_90 are native. PyTorch stops publishing cu126 wheels at 2.15, so do not
# let `uv sync --upgrade` move this pin without re-checking the arch list.
model = ["numpy>=1.24", "torch==2.9.1", "scikit-learn==1.7.2"]
evaluation = ["numpy>=1.24", "pandas>=2", "scipy>=1.11", "pyarrow>=10", "torch==2.9.1", "matplotlib>=3.8", "seaborn>=0.13"]
explorer = ["pyarrow>=10"]
docs = [
"mkdocs>=1.6,<2",
"mkdocs-material>=9.6,<10",
"mkdocstrings[python]>=0.29,<1",
# Keep the Highlight API compatible with mkdocstrings 0.30.x.
"pymdown-extensions>=11,<12.2",
]
[dependency-groups]
# The default checkout environment covers training, evaluation, exploration and tests.
dev = ["chromantis[model,explorer,evaluation]", "pytest>=8"]
[tool.uv.sources]
# Without this mapping torch resolves from PyPI, which now ships CUDA 13 only.
torch = { index = "pytorch-cu126" }
[[tool.uv.index]]
name = "pytorch-cu126"
url = "https://download.pytorch.org/whl/cu126"
explicit = true
[project.scripts]
chromantis-dataset = "chromantis.dataset.build:main"
chromantis-data = "chromantis.data.cli:main"
chromantis-select = "chromantis.data.selection:main"
chromantis-explore = "chromantis.explorer:main"
chromantis-experiment = "chromantis.experiment.planner:main"
[tool.hatch.build.targets.wheel]
packages = ["src/chromantis"]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra"