Implement a base "package" loader for package managers
To extend the archive coverage, source packages provided by package managers (see extended list at https://libraries.io/) must be considered.
Currently, it exists a PyPI loader (#419 (closed)) deployed in production and work related on the npm ingestion is in progress (#1378 (closed)).
Nevertheless, ingesting source code from package managers is a process somehow similar for all of them, notably it includes:
- the querying of an API (usually a RESTful one) to get relevant metadata about a package
- the retrieval of the package source code (usually in tarball form) for ingestion into the archive
This calls for a common base implementation for loading content from package managers into the archive.
That task is here to track the progress on the subject.
Migrated from T1389 (view on Phabricator)