- swh.lister.julia.lister module
- swh.lister.julia.tasks module
The Julia lister lists origins from a Git repository, the Julia General registry. The main Registry.toml file list available Julia packages. Each directory match a package name and have Toml files to describe the package and its versions.
Julia origins are Git repositories hosted on Github. Each repository must provide its packaged releases using the Github release system.
As of July 2023 Julia General registry list 9714 packages names.
Origins retrieval strategy#
To build a list of origins we clone the Julia General registry Git repository, then read the Registry.toml file to get the path to packages directories. Each directory have a Package.toml file from where we get the Git repository url for a package.
There is only one page listing all origins url.
Origins from page#
The lister is stateless and yields all origins url from one page. Each url corresponds to the Git url of the package repository.
Activate the virtualenv and run from within swh-lister directory:
pytest -s -vv --log-cli-level=DEBUG swh/lister/julia/tests
Testing with Docker#
Change directory to swh/docker then launch the docker environment:
docker compose up -d
Then schedule a julia listing task:
docker compose exec swh-scheduler swh scheduler task add -p oneshot list-julia
You can follow lister execution by displaying logs of swh-lister service:
docker compose logs -f swh-lister