QGIS-ResourceSharing
QGIS-ResourceSharing copied to clipboard
Improve the integration of external libraries
Currently
External Python packages are stored raw in the folder ext_libs in the repository, resulting in:
- hard to track dependencies updates
- in contradiction with the git philosophy (only 'your' code)
- the entire packages are loaded, including useless artifacts (tests, examples, docs...) and making it much heavier than necessary
- packages authors are not aware that their software is being used.
Proposed behavior
- create a requirements file listing external packages and use
pipto retrieve them during development and packaging workflows. - remove raw files from
- move
ext_libsas a subfolder of this project packageresource_sharing
Deducted development workflow
- Clone the repository
- Run
python -m pip install --no-deps -U -r requirements.txt -t resource_sharing\ext_libs - Use the
.gitignorefile to exclude unwanted dod folders.
Misc: connect with dependabot to track updates
Deducted CI workflow
- Clone the repository
- Run
python -m pip install --no-deps -U -r requirements.txt -t resource_sharing\ext_libs - Run classical operations: lint, tests, packaging, deployment.
@havatv is possible to repoen please? it's still a WIP. Still unachieve:
- remove raw libs
- adapt CI and packaging workflows