Closed PyDeps closed 2 years ago
Hi @PyDeps,
Thank you for the suggestions. However, I believe your analysis is flawed as dependencies also relate to the versions of Python supported and tested by packages, as well as important bug fixes that may be included without changing the package API.
Taking psutil
as an example, psutil
1.2.0 was released in Nov 2013 and there are years of bug fixes including a few issues that have affected this project. You have also chosen a few version ranges that do not include the current dependency versions tested.
The current constraints are for the oldest versions supported and tested. I can add upper bounds for semantic versioning, but this has not been a historic source of bugs for the dependencies used in this project.
Regards, Stennie
Hi, In mtools, inappropriate dependency versioning constraints can cause risks.
Below are the dependencies and version constraints that the project is using
The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict. The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.
After further analysis, in this project, The version constraint of dependency numpy can be changed to >=1.16.0rc1,<=1.18.5. The version constraint of dependency matplotlib can be changed to >=1.3.0,<=3.0.3. The version constraint of dependency psutil can be changed to >=1.2.0,<=5.9.1.
The above modification suggestions can reduce the dependency conflicts as much as possible, and introduce the latest version as much as possible without calling Error in the projects.
The invocation of the current project includes all the following methods.
The calling methods from the numpy
The calling methods from the matplotlib
The calling methods from the psutil
The calling methods from the all methods
@developer Could please help me check this issue? May I pull a request to fix it? Thank you very much.