# Guix-Jupyter

> GNU Guix-enabled kernel to create self-contained, reproducible Jupyter notebooks

**Wikidata**: [Q105100285](https://www.wikidata.org/wiki/Q105100285)  
**Source**: https://4ort.xyz/entity/guix-jupyter

## Summary
Guix-Jupyter is a GNU Guix-enabled Jupyter kernel designed to create self-contained, reproducible Jupyter notebooks. It enables users to build notebooks with fully specified, reproducible environments using GNU Guix. As free software, it allows running, studying, changing, and distributing it along with modified versions.

## Key Facts
- Instance of Jupyter kernel and free software, referenced in GNU Guix directory under guix-jupyter as of 2021-01-28.
- Part of GNU Guix, based on guile-kernel, programmed in GNU Guile (Scheme implementation from 1993).
- Aliases include guix-kernel, Guix Jupyter kernel, Guix kernel for Jupyter, noyau Guix pour Jupyter.
- Versions: 0.1.0 (2019-10-09), 0.2.0 (2021-01-24), 0.2.1 (2021-01-25), 0.2.2 (2021-07-26, preferred).
- Developed by Institut National de Recherche en Informatique et en Automatique (Inria).
- Maintained by Ludovic Courtès (French computer scientist born 1980).
- Copyright held by Institut National de Recherche en Informatique et en Automatique, Pierre-Antoine Rouby, Ludovic Courtès; status copyrighted.
- License referenced via GNU Guix directory (guix-jupyter) as of 2021-01-28.
- Website: https://gitlab.inria.fr/guix-hpc/guix-kernel (English, source code).
- Source code repository: https://gitlab.inria.fr/guix-hpc/guix-kernel.git (HTTPS, Git protocol).
- Issue tracker: https://gitlab.inria.fr/guix-hpc/guix-kernel/-/issues.
- Mailing list archive: https://lists.gnu.org/archive/html/guix-science/ (via https://lists.gnu.org/mailman/listinfo/guix-science/ as of 2021-01-28).
- Guix variable name: guix-jupyter.
- Free software directory entry: guix-jupyter.
- Has effect on Jupyter notebook file.
- Movement: free software movement.
- Related to GNU Guile and free software class (sitelink_count: 120 for free software, 15 for GNU Guile).
- Ludovic Courtès announced version 0.2.1 on 2021-01-25 via info-guix and hpc.guix.info blog.

## FAQs
**What does Guix-Jupyter do?**  
It serves as a kernel for Jupyter that integrates GNU Guix to produce notebooks where environments are self-contained and fully reproducible.

**Who develops and maintains it?**  
Institut National de Recherche en Informatique et en Automatique handles development, while Ludovic Courtès, a French computer scientist born in 1980, maintains it.

**What are its release versions and dates?**  
Releases include 0.1.0 on 2019-10-09, 0.2.0 on 2021-01-24, 0.2.1 on 2021-01-25 (announced by Ludovic Courtès), and 0.2.2 on 2021-07-26 (preferred version).

**Where can I find its code and track issues?**  
Source code is at https://gitlab.inria.fr/guix-hpc/guix-kernel.git, website at https://gitlab.inria.fr/guix-hpc/guix-kernel (English source code focus), and issues at https://gitlab.inria.fr/guix-hpc/guix-kernel/-/issues.

**What is its licensing and copyright situation?**  
It falls under free software terms for running, studying, changing, and distributing; copyrighted by Institut National de Recherche en Informatique et en Automatique, Pierre-Antoine Rouby, and Ludovic Courtès, with license details in GNU Guix directory (guix-jupyter).

**How does it connect to broader projects?**  
Part of GNU Guix, based on guile-kernel, uses GNU Guile programming language, and ties into the free software movement with directory entry guix-jupyter.

## Why It Matters
Guix-Jupyter addresses reproducibility challenges in computational notebooks by leveraging GNU Guix to encapsulate entire environments, ensuring notebooks run identically across systems without hidden dependencies. This solves a core pain point in scientific computing and data science, where traditional Jupyter setups often fail due to varying library versions or OS differences, enabling true bit-for-bit reproducibility. Its free software status empowers users in the free software movement to inspect, modify, and share exact environment definitions, fostering collaboration in HPC and research communities like guix-science. By building on GNU Guile and guile-kernel, it extends Scheme-based extensibility into reproducible workflows, influencing tools listed in GNU Guix directories and advancing self-contained computing practices documented in Inria-hosted repositories.

## Notable For
- Enabling self-contained, reproducible Jupyter notebooks via GNU Guix integration, distinct from standard kernels lacking environment specification.
- Free software Jupyter kernel based on guile-kernel, programmed exclusively in GNU Guile for Scheme-centric extensibility.
- Maintenance by Ludovic Courtès, who personally announced releases like 0.2.1 across GNU mailing lists and blogs.
- Copyright shared among Inria, Pierre-Antoine Rouby, and Ludovic Courtès, with precise GitLab tagging for versions from 0.1.0 (2019) onward.
- Dedicated guix-jupyter entry in GNU Guix free software directory, with guix_variable_name for seamless package integration.
- French-language alias "noyau Guix pour Jupyter" reflecting Inria's involvement.

## Body
### Overview and Classification
Guix-Jupyter functions as a GNU Guix-enabled kernel for Jupyter notebooks. Its Wikidata description states: "GNU Guix-enabled kernel to create self-contained, reproducible Jupyter notebooks." It qualifies as an instance of Jupyter kernel and free software. Free software here means distribution under terms allowing users to freely run, study, change, and distribute it and modified versions. It belongs to the free software movement. The free software class has sitelink_count: 120; related GNU Guile has sitelink_count: 15.

### Development and Maintenance
Institut National de Recherche en Informatique et en Automatique (Inria) develops Guix-Jupyter. Ludovic Courtès maintains it. Courtès is a French computer scientist born in 1980, with citizenship France and occupation computer scientist. Copyright holders are Institut National de Recherche en Informatique et en Automatique, Pierre-Antoine Rouby, and Ludovic Courtès. Copyright status is copyrighted. License references GNU Guix directory entry guix-jupyter as of 2021-01-28.

### Technical Foundations
It is part of GNU Guix. Based on guile-kernel. Programmed in GNU Guile, a Scheme implementation from 1993 intended especially for extensions (inception references include Guile: An Interpreter Core for Complete Applications, page 102). Has effect on Jupyter notebook file. Operating system details referenced via GNU Guix directory (guix-jupyter) as of 2021-01-28.

### Versions and Releases
- Version 0.1.0 released 2019-10-09, tagged at https://gitlab.inria.fr/guix-hpc/guix-kernel/-/tags/v0.1.0 (accessed 2021-01-28).
- Version 0.2.0 released 2021-01-24, tagged at https://gitlab.inria.fr/guix-hpc/guix-kernel/-/tags/v0.2.0 (accessed 2021-01-28).
- Version 0.2.1 released 2021-01-25, announced by Ludovic Courtès in English: https://lists.gnu.org/archive/html/info-guix/2021-01/msg00000.html ("Guix-Jupyter 0.2.1 released," publication_date 2021-01-25) and https://hpc.guix.info/blog/2021/01/guix-jupyter-0.2.1-released/ ("Guix-Jupyter 0.2.1 released!," publication_date 2021-01-25), referenced as of 2021-01-28.
- Version 0.2.2 (preferred) released 2021-07-26, tagged at https://gitlab.inria.fr/guix-hpc/guix-kernel/-/tags/v0.2.2 (accessed 2021-11-21).

### Repositories and Access
Website: https://gitlab.inria.fr/guix-hpc/guix-kernel (qualifiers: English, applies_to_part source code). Source code repository URL: https://gitlab.inria.fr/guix-hpc/guix-kernel.git (HTTPS, Git protocol, mirrors  and ). Issue tracker URL: https://gitlab.inria.fr/guix-hpc/guix-kernel/-/issues. Guix variable name: guix-jupyter. Free software directory entry: guix-jupyter.

### Community and Communication
Mailing list archive URL: https://lists.gnu.org/archive/html/guix-science/, referenced via https://lists.gnu.org/mailman/listinfo/guix-science/ as of 2021-01-28. Related entities include GNU Guile and Ludovic Courtès.

## References

1. Free Software Directory
2. [Source](https://gitlab.inria.fr/guix-hpc/guix-kernel/-/tags/v0.1.0)
3. [Source](https://gitlab.inria.fr/guix-hpc/guix-kernel/-/tags/v0.2.0)
4. [Guix-Jupyter 0.2.1 released. 2021](https://lists.gnu.org/archive/html/info-guix/2021-01/msg00000.html)
5. [Guix-Jupyter 0.2.1 released!. 2021](https://hpc.guix.info/blog/2021/01/guix-jupyter-0.2.1-released/)
6. [Source](https://gitlab.inria.fr/guix-hpc/guix-kernel/-/tags/v0.2.2)
7. [Source](https://lists.gnu.org/mailman/listinfo/guix-science/)