QGIS-ResourceSharing icon indicating copy to clipboard operation
QGIS-ResourceSharing copied to clipboard

Improve the integration of external libraries

Open Guts opened this issue 5 years ago • 1 comments

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 pip to retrieve them during development and packaging workflows.
  • remove raw files from
  • move ext_libs as a subfolder of this project package resource_sharing

Deducted development workflow

  1. Clone the repository
  2. Run python -m pip install --no-deps -U -r requirements.txt -t resource_sharing\ext_libs
  3. Use the .gitignore file to exclude unwanted dod folders.

Misc: connect with dependabot to track updates

Deducted CI workflow

  1. Clone the repository
  2. Run python -m pip install --no-deps -U -r requirements.txt -t resource_sharing\ext_libs
  3. Run classical operations: lint, tests, packaging, deployment.

Guts avatar Oct 14 '20 08:10 Guts

@havatv is possible to repoen please? it's still a WIP. Still unachieve:

  • remove raw libs
  • adapt CI and packaging workflows

Guts avatar Oct 19 '20 09:10 Guts