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
- Print scheduled time for batch pvandyken (33)
- kapp pvandyken (35)
🐛 Bug Fixes
- Fix kbatch treatment of scripts and in-job krun pvandyken (34)
- Improve quoting of commands pvandyken (32)
- Jupyter autoinstall pvandyken (31)