numpy>=1.23
pandas>=1.5
anndata>=0.10
scanpy>=1.9
python-igraph>=0.10
leidenalg>=0.9
scipy>=1.9
scikit-learn>=1.2
tqdm>=4.65
Pillow>=9.4
opencv-python>=4.8
matplotlib>=3.7
scikit-image>=0.22
requests>=2.31
ray>=2.7
pot>=0.9
qpsolvers>=4.0

[all]
einops>=0.6
gseapy>=1.0
gurobipy>=10
lightning>=2.1
pyro-ppl>=1.8
pyscipopt
pytorch-lightning>=2.1
scvi-tools>=1.0
shapely>=2.0
statsmodels>=0.14
torch>=2.0
torchvision>=0.15
transformers>=4.33

[annotation]
torch>=2.0
pyro-ppl>=1.8
pytorch-lightning>=2.1
lightning>=2.1
transformers>=4.33
scvi-tools>=1.0
pyscipopt
gurobipy>=10

[cellvit]
torch>=2.0
torchvision>=0.15
einops>=0.6
shapely>=2.0

[microenv]
gseapy>=1.0
statsmodels>=0.14

[prediction]
