You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MONAI has an existing policy for deprecating components it defines here. For dependencies there isn't as clear a policy to follow in regards to which versions of Python, Numpy, Pytorch, etc. to support. It's important to support older environments as much as is practical so that users with frozen environments have the fewest issues with new versions of MONAI. There are a few considerations that vary by library which need to be composed into a clear policy:
Pytorch's releases have for a long time never been out of sync, that is there have been no bug fixes for old versions for a very long time, and so old versions immediately become out-of-support. This is an issue with known security vulnerabilities in older versions which won't be fixed, so Bump min torch to 1.13.1 to mitigate CVE-2022-45907 unsafe usage of eval #8296 has been proposed to remove old versions from the CICD system. A subsequent PR will remove more versions further as discussed here .
Numpy has released version 2.x which introduced some incompatibilities with other dependencies, though MONAI itself should be compatible. This has created the situation where we have to specify that MONAI requires 1.x to prevent pip from installing incompatible combinations of libraries. At some point this will be fixed and the version restriction can be removed.
Other dependencies may deprecate versions, or vulnerabilities discovered for them.
All this means we need to determine:
How old are the versions of dependencies we want to support.
How to decide when to remove support for certain dependency versions and by whom.
How to respond to discovered vulnerabilities.
How and when to re-analize the dependencies that we have to determine if version requirements are still suitable.
Who may add or remove dependencies, even optional ones.
Who may mark other repositories as archived or de-archive them (I'm thinking specifically of archiving GenerativeModels).
The text was updated successfully, but these errors were encountered:
This has created the situation where we have to specify that MONAI requires 1.x to prevent pip from installing incompatible combinations of libraries.
I would suggest the creation of a new GitHub issue documenting which monai dependency does not have support for numpy 2 which is preventing the numpy < 2 from being removed. Most major python packages have been updated to be compatible with both Numpy 1 and 2 by following https://numpy.org/doc/stable/dev/depending_on_numpy.html#numpy-2-0-specific-advice. The numpy GitHub repository has a pinned issue about numpy 2 ecosystem compatibility detailing which versions of major python packages added numpy 2 support.
How old are the versions of dependencies we want to support.
As it relates to versions of dependencies to support as well as versions of Python to support, my recommendation would be to consider adopting SPEC0. This is because monai is ultimately dependent on the core base of numpy.
MONAI has an existing policy for deprecating components it defines here. For dependencies there isn't as clear a policy to follow in regards to which versions of Python, Numpy, Pytorch, etc. to support. It's important to support older environments as much as is practical so that users with frozen environments have the fewest issues with new versions of MONAI. There are a few considerations that vary by library which need to be composed into a clear policy:
All this means we need to determine:
The text was updated successfully, but these errors were encountered: