Revise versions of packages included in Fed-BioMed
Revise versions of dependencies in Fed-BioMed:
- update conda environments
.yaml
files - update node GUI yarn packages dependencies
packages.json
- upgrade prerequisite
docker-compose
(v1) to `docker compose (v2) https://docs.docker.com/compose/migrate/ - update docker container files (base image, dependencies)
- replace deprecated
nosetests
bypytest
General direction is to try to stick to up-to-date dependency versions (*). Exceptions:
- python 3.10 (because 3.11 is quite new and not yet supported by some dependencies)
- torch 1.x (because 2.0 is also new and not yet supported by some dependencies)
Tasks:
- test on systems supported (fedora, ubuntu, mac, windows)
-
Ubuntu 22.04 LTS -
Fedora 35 -
MacOS X xxx -
Windows 11 xxx
-
-
python version (3.9 to 3.10 or 3.11) => 3.10 -
consequence: replace nosetests
-
-
conda envs packages update - include: fedbiomed-{node,network,researcher,gui} fedbiomed-ci ; exclude: fedbiomed-{doc,doc-test} (will change with github migration)
-
check/adapt: conda env can be created -
check/adapt: pass unit tests -
check/adapt: run notebooks manually (tested for: 101, declearn, flamby, breakpoint, gpu, secagg, monai classication, mednist, opacus mnist, celeba, sklearn perceptron + medical folder dataset w/ 2 nodes and training plan approval) -
check/adapt: pass CI builds
-
gui packages - upgrade
gui/ui/package.json
content - check/adapt GUI launch & usage (add dataset, approve training plan, browse files, etc.)
- upgrade
-
docker-compose software (support docker compose
plugin instead ?docker-compose
standalone is not supported anymore, but need to check MacOS and Windows WSL2 cases) -
docker images + packages in Dockerfile -
development mode restful -
all for VPN mode - boringtun upgrade
- nvidia cuda upgrade
- wireguard-tools from package manager (simplify)
out of scope of this issue: we could explore replacingboringtun
bywireguard
orwireguard-go
that are widely distributed via package managers
-
-
update documentation for supported versions
Preliminary task:
-
[ ] new CI slave with up to date system (see #486 (closed): need Fedora > 33 to use scikit-learn >= 1.2)see #531 (closed)
Note: this issue was inspired by #293 (closed).
(*) in the future, we may want to support/package multiple versions of Fed-BioMed (one with up to date packages for secure/production deployments, one more laxist on package versions). This is beyond the scope of this issue.
Edited by VESIN Marc