Test update of setup.py install_requires for managing transitive dependencies
Description
Zendesk Ticket IDs
Activity

Pending PR blocked on https://wazo-dev.atlassian.net/browse/WAZO-3294 .

Conclusion was that using zip archive urls (https://github.com/wazo-platform/wazo-lib-rest-client/archive/master.zip
) would serve our needs while minimizing required changes since all requirements.txt use such zip archive urls.
The setup.py were updated appropriately.

Could prevent the conflict by using the same url format as the wazo-auth-client setup.py:
So the solution would be to guarantee a consistent format for our VCS-based dependencies.

pip dependency resolution fails from conflicts between different URL formats of the same VCS dependency.
For example, in wazo-confd integration tests, the test-requirements.txt specifies:
As wazo-auth-client
specifies wazo-lib-rest-client@ git+https://github.com/wazo-platform/wazo-lib-rest-client.git@master
in it’s setup.py install_requires
, pip fails to resolve https://github.com/wazo-platform/wazo-lib-rest-client/archive/master.zip
with that transitive dependency spec, even though they both resolve to the same version of the dependency(0.2):
Hopefully there is a way to use VCS urls consistently that prevent such conflicts.
Details
Details
Priority
Assignee

Reporter

Sprint
Zendesk Support
Linked Tickets
Zendesk Support

Following discussion on improving python dependency management(https://www.notion.so/wazo/Sensible-Python-dependency-management-5e15cb887a4d4af8900daa15ec964be4), we should test the impact of updating
wazo-auth-client
'ssetup.py
to include all python dependencies ininstall_requires
, and allow pip to rely on it to install transitive dependencies when it is itself required in dependent projects(e.g.wazo-auth-cli
).The goal is to detect any unintended impact on debian packaging, before further exploring options to standardize dependency management solutions.
update wazo-auth-client setup.py to include all python dependencies in
install_requires
merge change on master to test development packaging impact
as a focus point, look at
wazo-auth-cli
debian packaging(e.g. for changes in dependencies)change
requirements.txt
ofwazo-auth-cli
to remove transitive dependencies ofwazo-auth-client
and allow pip to infer transitive dependencies through thewazo-auth-client
setup.py(testing that the ultimate goal is achieved)Once this test is completed, we can decide whether to continue updating
install_requires
andrequirements.txt
using setup.py or start migrating to pyproject.toml.