etalab / udata-gouvfr

Skin and customization for the French opendata portal based on udata. This project is not maintained anymore. Consider using https://github.com/etalab/udata-front as an alternative.
https://www.data.gouv.fr/fr/
GNU Lesser General Public License v2.1
25 stars 33 forks source link

Smarter pip-tools dependency management #626

Closed abulte closed 3 years ago

abulte commented 3 years ago

This PR adds a (quite complex despite my best efforts :-/) workflow to handle processing dependencies through pip-tools, with the added difficulty of a dependency to udata.

Three use cases have been handled:

The pre-commit does not handle udata.pip compilation, as this would be too long to run on each concerned commit (needs a git clone of udata). The CI does the job of verifying that requirements are up to date / compatible re udata.


The recommandation from py packaging is that dependencies should not be pinned in install_requires but rather in requirement files https://packaging.python.org/discussions/install-requires-vs-requirements/. Applying this recommendation gets us out of trouble with our new setup of pip-tools on our local dev env.

Things that still not to be adresse with the pip-tools mechanism:


Following use cases should be handled in this PR:

TODO: