-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathpyproject.toml
More file actions
103 lines (90 loc) · 3.01 KB
/
Copy pathpyproject.toml
File metadata and controls
103 lines (90 loc) · 3.01 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
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "helical"
version = "3.1.1"
authors = [
{ name="Helical Team", email="support@helical-ai.com" },
]
description = "Helical Python SDK"
readme = "README.md"
requires-python = ">=3.12,<3.13"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
"Operating System :: OS Independent",
]
license = {file = "LICENSE"}
dependencies = [
'requests>=2.32.3',
'pandas==2.2.2',
'anndata>=0.11',
'numpy>=2.1.3,<2.3', # scipy 1.13.1 requires numpy<2.3
'scikit-learn>=1.5.0',
'scipy==1.13.1',
# Pinned exact: prebuilt flash-attn/mamba/causal-conv1d wheels only reach
# torch 2.10, and only as cu13+cp312 builds. Bump deliberately (needs new
# accelerator wheels + matching CUDA 13 / Python 3.12), not incidentally.
'torch==2.10.0',
'accelerate==1.14.0',
'transformers>=5.3.0', # security floor: clears CVE-2026-4372 (fixed 5.3.0)
'scikit-misc>=0.5.2',
'einops==0.8.1',
'omegaconf==2.3.0',
'hydra-core==1.3.2',
'pybiomart',
'datasets==3.6.0',
'sentencepiece>=0.2.0',
'bitsandbytes>=0.48.2',
# Directly imported by helical but previously only satisfied transitively
# (scanpy via scib, now removed) or by a dirty CI env. Declared explicitly so
# a clean install has them: scanpy (scgpt/c2s/uce/tahoe model code),
# requests-cache (utils/downloader.py, used by every model), torchmetrics +
# catalogue (tahoe backbone).
'scanpy>=1.11',
'requests-cache>=1.2',
'torchmetrics>=1.0',
'catalogue>=2.0',
]
constraint-dependencies = [
# version-floor guard against the protobuf-3.20 break — removing it loses that floor
'protobuf>=3.20.0',
]
[project.optional-dependencies]
# Test/lint tooling (formerly requirements-dev.txt). Install with `.[dev]`.
dev = [
'pytest==9.0.3',
'pytest-cov==7.1.0',
'pytest-mock==3.15.1',
'nbmake==1.5.4',
'black==26.3.1',
]
mamba-ssm = [
'mamba-ssm==2.3.2.post1',
'causal-conv1d==1.6.2.post1',
]
evo-2 = [
'biopython==1.85',
'transformer-engine[pytorch]==1.13.0',
]
[tool.hatch.metadata]
allow-direct-references = true # Allows installing package from git
# Default PyPI torch==2.10.0 is a cu12 build (pins cuda-bindings==12.9.4), which
# collides with the cu13 RAPIDS/cuda-python stack. Pull torch from the cu130
# index so it resolves to its CUDA 13 build (cuda-bindings 13.x); the nvidia
# index supplies the cu13 nvidia-*/cuda-bindings deps that build pulls in.
[[tool.uv.index]]
name = "pytorch-cu130"
url = "https://download.pytorch.org/whl/cu130"
explicit = true
[[tool.uv.index]]
name = "nvidia"
url = "https://pypi.nvidia.com"
[tool.uv.sources]
torch = { index = "pytorch-cu130" }
[project.urls]
Homepage = "https://github.com/helicalAI/helical"
Issues = "https://github.com/helicalAI/helical/issues"
Documentation = "https://helical.readthedocs.io/"
Repository = "https://github.com/helicalAI/helical"