numpy>=1.23.0
pandas<3.0.0,>=2.0.0
scipy>=1.10.0
requests<3.0.0,>=2.28.0
pyyaml<7.0,>=6.0
tqdm<5.0.0,>=4.65.0
jsonschema<6.0.0,>=4.17.0
scikit-learn>=1.2.0
cryptography<50.0.0,>=41.0.0

[all]
bionexus-reliability[allotrope,deseq,dev,goldchain,mcp,plm,scverse,spatial,structure,survival]

[allotrope]
allotropy>=0.1.30
polars<2.0.0,>=0.20.0
openpyxl<4.0.0,>=3.1.0
xlrd<3.0.0,>=2.0.1
pypdf<6.0.0,>=3.15.0

[biologics]
ViennaRNA>=2.6.0

[deseq]
pydeseq2>=0.4.0

[dev]
pytest<10.0.0,>=7.4.0
pytest-cov<7.0.0,>=4.1.0
pytest-asyncio<1.0.0,>=0.21.0
ruff<1.0.0,>=0.1.0
mcp>=1.0.0

[goldchain]
scanpy>=1.10.0
anndata>=0.9.0
matplotlib<4.0.0,>=3.7.0
seaborn<0.14.0,>=0.12.0
h5py<4.0.0,>=3.8.0
leidenalg>=0.10.0
igraph>=0.10.0
harmonypy<2.0.0,>=0.0.9
pydeseq2>=0.4.0

[mcp]
mcp>=1.0.0

[plm]
transformers>=4.36.0
torch>=2.0.0

[scverse]
bionexus-reliability[goldchain]
scvi-tools<2.0.0,>=1.0.0
torch>=2.0.0
optuna<5.0.0,>=3.0.0

[singlecell]
bionexus-reliability[scverse]

[spatial]
squidpy>=1.3.0
anndata>=0.9.0

[structure]
abnumber>=0.3.0
biotite>=0.39.0

[survival]
lifelines>=0.27.0
