Guix-Jupyter 0.2.1 released!

Ludovic Courtès — January 25, 2021

We are pleased to announce Guix-Jupyter 0.2.1, a new release of our Guix-powered Jupyter kernel for self-contained and reproducible notebooks.

Guix-Jupyter logo.

Truth be told, participants in the User Support Tools for HPC workshop earlier today were (un)lucky enough to use the short-lived 0.2.0 release where they uncovered a bug in a multi-user setup, which 0.2.1 fixes.

Getting it

You can obtain it straight from Guix and spawn Jupyter Notebook with:

guix environment --ad-hoc jupyter guix-jupyter -- jupyter notebook

Alternatively, you can get the source from Git:

git clone https://gitlab.inria.fr/guix-hpc/guix-kernel guix-jupyter
cd guix-jupyter
git checkout v0.2.1  # or a887e449cbf248113b25eac05507bd949c826554
git tag -v v0.2.1

What’s new?

We announced Guix-Jupyter a bit more than a year ago with the goal of:

  1. Making notebooks self-contained or “deployment-aware”, so that they automatically deploy the software (and data!) that they need—effectively treating software deployment and data as a first-class input to the computation described in the notebook.
  2. Making said deployment bit-reproducible: run the notebook on one machine or another, today or two years from now, and be sure it’s running in the exact same software environment. We’re building on Guix support for reproducible builds and for “time travel”.

That very first version demonstrated what can be achieved, and it addressed what remains a very relevant issue in the Jupyter world—if in doubt, just try to run a notebook from one of the many galleries out there.

This new version polishes various user interface aspects. New ;;guix describe and ;;guix search “magic” commands have been added, providing the same functionality as the same-named guix commands.

Guile picture language in a notebook.

;;guix environment and ;;guix pin commands entail software deployment. Depending on whether the requested software packages or Guix revision are already in cache, downloading and/or building everything that’s needed can take time. Build and download progress is now reported in the cell that triggered it, which improves the user experience.

Various bugs and glitches such as graceless error handling have also been fixed.

Last but not least: users of the built-in GNU Guile will enjoy its ability to render SVG images produced by the picture language.

Guile picture language in a notebook.

Enjoy!

Please let us know about issues or improvements you’ve made, and get in touch with us on the guix-science mailing list or on the usual Guix communication channels!

  • MDC
  • Inria
  • UBC
  • UTHSC