Skip to content

0.5.0

Compare
Choose a tag to compare
@github-actions github-actions released this 31 May 19:32
· 92 commits to refs/heads/master since this release

New Features

  • --venv parameter available in kbatch and krun, allowing preloading of a venv. This is especially useful for scripts.
  • kpy export venv <name> --path <path> allows the export of kpy venvs to any path.
  • kapp is a new family of commands to download and manage singularity containers. Full details can be found in the docs
    • Containers are pulled by name, but resolved to their content hash. This means that if you, for instance, pull both the :latest image and the specific version :latest points to, no the image won't be pulled twice. On the other hand, if you pull :latest a second time after the container is updated, the newly updated latest image will be pulled.
    • Containers are downloaded and built safely, regardless of size. For large containers, a job is scheduled on an interactive node to build the container.
    • Containers can be aliased, providing easy access to commonly used apps
    • kapp has light wrappers around singularity shell, run, and exec, allowing for easy consumption of kapp managed containers. For complete flexibility, kapp path <container_uri_or_alias> returns the resolved path of the container
    • All containers are automatically aliased in a snakemake readable format. Calling kapp snakemake returns a path you can pass to snakemake via the CLI param --singularity-prefix, allowing snakemake to seamlessly consume any kapp managed container.

Fixes and Improvements

  • When kjupyter is called with a --venv provided, it attempts to install jupyter-lab if not already installed
  • Escaped quotes in kbatch and krun commands are properly preserved
  • kbatch properly runs sbatch scripts: #SBATCH directives will be properly parsed
  • The venv prompt name properly updates when calling kpy load. An asterisk (*) appears beside the venv name when modified (e.g. a new package is installed)
  • Better error messages

Changes

🐛 Bug Fixes