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
We should pin everything deeply in requirements.txt. Entries that are not direct dependencies of MWDB Core should be marked with a comment that describes which dependency relies on that entry. These entries should be updated along with version bump of related direct dependency.
e.g.
prance==0.21.8.0 # dependency of apispec
requirements.txt entries might be order-sersitive (I'm not sure, maybe it changed in newer pip versions) so pip freeze > requirements.txt is not enough, we should find a good tool to make these entries semi-automatically.
The text was updated successfully, but these errors were encountered:
Using locked dependencies should be optional in case of non-isolated environments to prevent introducing the dependency hell. That's why I'm against locking deeply all dependencies on setup.py level.
Locked dependencies might work well for Docker builds and CI builds and will make them more reproducible. These environments should be targeted by this issue.
One of considered solutions is using a packaging tool that supports dependency lock files:
I would also wrap it with extra script that chooses only these packages that are in the actual requirements.txt file
That file can be used in Dockerfile to install the exact version of all dependencies
Additional nice thing is that locked dependencies will be tracked by Dependabot, so we can better track for vulnerabilities that can be introduced by vulnerable packages installed in deployed images.
Feature Category
Describe the problem
Inappropriate dependency pinning (especially packages that are dependencies of our dependencies) sometimes breaks installation of stable releases.
Examples:
prance
as unpinned dependency of apispecDescribe the solution you'd like
We should pin everything deeply in
requirements.txt
. Entries that are not direct dependencies of MWDB Core should be marked with a comment that describes which dependency relies on that entry. These entries should be updated along with version bump of related direct dependency.e.g.
requirements.txt
entries might be order-sersitive (I'm not sure, maybe it changed in newer pip versions) sopip freeze > requirements.txt
is not enough, we should find a good tool to make these entries semi-automatically.The text was updated successfully, but these errors were encountered: