generated from VectorInstitute/aieng-template
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathpyproject.toml
126 lines (112 loc) · 3.14 KB
/
pyproject.toml
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
[tool.poetry]
name = "fl4health"
version = "0.3.0"
description = "Federated Learning for Health"
authors = ["Vector AI Engineering <[email protected]>"]
license = "Apache-2.0"
readme = "README.md"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
]
[tool.poetry.dependencies]
python = ">=3.10.0,<3.11"
numpy = "^1.24"
pandas = "^2.0"
flwr = "1.9.0"
opacus = "^1.3.0"
torch = "^2.3.0"
pycyclops = "^0.2.12"
pyarrow = "^17.0.0" # Pin as there is potential ACE with v0.14.2 that is resolved in v17.0
dp-accounting = "^0.4.3"
torchmetrics = "^1.3.0"
aiohttp = "^3.9.3"
ecos = "2.0.7.post1"
qpth = "^0.0.16"
urllib3 = "^2.2.2"
grpcio = "^1.60.0,!=1.64.2,!=1.65.1,!=1.65.2,!=1.65.4"
monai = "^1.3.0"
nnunetv2 = "^2.3.1"
wandb = "^0.18.0"
acvl_utils = "0.2" # Pin as it was causing an issue with nnunet (ModuleNotFoundError: No module named 'blosc2')
scikit-learn = "1.5.0" # Pin as it was causing issues with nnunet
# Problematic grpcio versions cause issues, should be fixed in next flwr update
# See https://github.com/adap/flower/pull/3853
# https://github.com/grpc/grpc/issues/37162
tornado = ">=6.4.2"
pympler = "^1.1"
[tool.poetry.group.dev.dependencies]
# locked the 2.15 version because of restrictions with tensorflow-io
# (see https://pypi.org/project/tensorflow-io/ section "TensorFlow Version Compatibility")
tensorflow = "2.15"
nltk = "^3.8.0"
torchvision = "^0.18.0"
torchinfo = "^1.8.0"
ipykernel = "^6.25.1"
poetry = "^1.8.3"
[tool.poetry.group.dev-local.dependencies]
torchtext = "^0.14.1"
torchdata = "^0.7.0"
torcheval = "^0.0.6"
transformers = "^4.37.2"
datasets = "^2.17.1"
[tool.poetry.group.test.dependencies]
pytest = "^8.3.4"
mock = "^5.1.0"
pytest-cov = "^4.1.0"
freezegun = "^1.4.0"
pytest-asyncio = "^0.25.2"
py-cpuinfo = "^9.0.0"
[tool.poetry.group.codestyle.dependencies]
black = "^24.3.0"
flake8 = "^5.0.4"
pyproject-flake8 = "5.0.4"
isort = "5.11.5"
pre-commit = "^3.0.1"
toml = "^0.10.2"
types-requests = "^2.28.11.8"
types-setuptools = "^65.7.0.3"
types-protobuf = "^4.24.0.4"
types-pyyaml = "^6.0.12.12"
types-six = "^1.16.21.9"
types-tabulate = "^0.9.0.3"
pip-audit = "^2.4"
cyclonedx-python-lib = "<6" # fix to make pip-audit 2.4 work
mypy = "^1.9.0"
[tool.poetry.group.picai.dependencies]
simpleitk = "^2.3.1"
openpyxl = "^3.1.2"
picai_eval = "^1.4.6"
mlflow = "^2.12.2"
fire = "^0.6.0"
einops = "0.8.0"
[tool.poetry.group.docs.dependencies]
furo = "^2024.8.6"
ipykernel = "^6.29.5"
ipython = "^8.31.0"
myst-parser = "^4.0.0"
nbsphinx = "^0.9.6"
numpydoc = "^1.8.0"
sphinx = "^8.1.3"
sphinx-autoapi = "^3.4.0"
sphinx-autodoc-typehints = "^3.0.1"
sphinx-copybutton = "^0.5.2"
sphinx-design = "^0.6.1"
sphinxcontrib-apidoc = "^0.5.0"
sphinx-autobuild = "^2024.10.3"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 119
[tool.isort]
line_length = 119
profile = "black"
skip_gitignore = true
known_third_party = ["wandb"]
[tool.pytest.ini_options]
markers = [
"smoketest: marks tests as smoke tests (deselect with '-m \"not smoketest\"')",
]
asyncio_default_fixture_loop_scope = "session"