-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
⬆️ prune dependencies of simcore-sdk package and downstream services #2664
⬆️ prune dependencies of simcore-sdk package and downstream services #2664
Conversation
Codecov Report
@@ Coverage Diff @@
## master #2664 +/- ##
========================================
- Coverage 78.1% 78.0% -0.1%
========================================
Files 636 636
Lines 26060 26064 +4
Branches 2524 2524
========================================
- Hits 20363 20353 -10
- Misses 5032 5044 +12
- Partials 665 667 +2
Flags with carried forward coverage won't be shown. Click here to find out more.
|
12badd0
to
975b945
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice!
Could you please add the description of this PR as notes in the repository? It will be useful in the future to prune dependencies.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cool, that is a nice tool.
Now concerning the instructions to do this, don't you think this should go in some markdown file in the repo? like that it will go into the limbos of github.
aiofiles aiohttp aiopg packaging pydantic SQLAlchemy tenacity tqdm trafaret yarl
4bd7342
to
8289a68
Compare
What do these changes do?
Libraries evolve ans some of the dependencies are not anymore in use but remain listed in their requirements file. This is one of many maintenance PR to prune these deprecated dependencies.
We start with
packages/simcore-sdk
. With the help of pipreqs we discover which dependencies are actually in usesimcore-sdk
and comparing withpackages/simcore-sdk/requirements/_base.in
revealed deprecated ones (see changes in_base.in
to detect which were actually pruned)Then
simcore-sdk
's pruned reqs was propagated downstream (only the changes in simcore-sdk!) to services likeThis exercised also revealed:
requirements/constraints.txt
) were added and not propagated downstream. For that reason, some of the services above added some more changes. Among them, an incompatibility between the latestaiohttp
andaiopg
due to impossible constraints on theasync-timeout
library. Added toconstraint.txt
to all services using both libraries.tests/integration/02/test_computation.py::test_start_pipeline
Steps to prune a package and all services downstream
pip install pipreqs
pipreqs packages/simcore-sdk/src/simcore_sdk
produces arequirements.txt
filepackages/simcore-sdk/requirements/_base.in
and remove unused libraries.packages
has to be reviewed manuallymake touch reqs
/packages/simcore-sdk/requirements/_base.in
in all the repo including only*.in
files.aiohttp
for this example.Related issue/s
ITISFoundation/osparc-issues#428
How to test
all tests affected