numpy<3,>=1.26
SimpleITK<3,>=2.2
matplotlib<4,>=3.8
scipy<2,>=1.11
openpyxl<4,>=3.1
pandas<3,>=2.1
tqdm<5,>=4.66
scikit-learn<2,>=1.4
joblib<2,>=1.3
scikit-image<0.27,>=0.23
seaborn<1,>=0.13
PyYAML<7,>=6.0
click<9,>=8.1
chardet<8,>=5.0
pydicom<4,>=3.0
pydantic<3,>=2.7
kneed<1,>=0.8

[:python_version < "3.14"]
pyarrow<22,>=15

[:python_version >= "3.14"]
pyarrow<23,>=22

[all]
xgboost<4,>=2.1
imbalanced-learn<1,>=0.12
mrmr-selection<1,>=0.2.8
statsmodels<1,>=0.14
antspyx<1,>=0.4.2
krippendorff<1,>=0.8
shap<1,>=0.45
plotly<7,>=5.20
pingouin<1,>=0.5.4
lifelines<1,>=0.28
scikit-survival<1,>=0.23
autogluon.tabular[catboost,lightgbm]<2,>=1.2
fastapi>=0.100
uvicorn[standard]>=0.22

[all:sys_platform != "win32"]
pyradiomics<3.2,>=3.0.1

[analysis]
krippendorff<1,>=0.8
shap<1,>=0.45
plotly<7,>=5.20
pingouin<1,>=0.5.4
lifelines<1,>=0.28
scikit-survival<1,>=0.23

[automl]
autogluon.tabular[catboost,lightgbm]<2,>=1.2

[gui]
fastapi>=0.100
uvicorn[standard]>=0.22

[ml]
xgboost<4,>=2.1
imbalanced-learn<1,>=0.12
mrmr-selection<1,>=0.2.8
statsmodels<1,>=0.14

[radiomics]

[radiomics:sys_platform != "win32"]
pyradiomics<3.2,>=3.0.1

[registration]
antspyx<1,>=0.4.2

[torch]
torch<3,>=2.4
