Skip to content

renan-r-santos/pixi-kernel

Repository files navigation

Pixi kernel

image image image Actions status codecov uv Ruff

Per-directory Pixi environments with multi-language Jupyter kernels.

JupyterLab launcher screen showing Pixi kernel

Pixi kernel supports Jupyterlab 4, Python 3.9+ and Pixi 0.39.0+ using pyproject.toml and pixi.toml configurations.

Disclaimer: This project is not affiliated with Pixi, and not an official Pixi plugin.

Quick Start

This assumes you want a Python kernel. For other languages, check the Kernel support table and replace ipykernel with the desired kernel package.

  1. Install Pixi and pixi-kernel alongside JupyterLab using your favorite package manager.
  2. Restart JupyterLab.
  3. Create a new directory and initialize a Pixi project with pixi init and pixi add ipykernel.
  4. Select the Python Pixi kernel and you are good to go.

See the Pixi docs for more information on how to use Pixi.

Configuration

Custom Pixi binary location

By default, pixi-kernel will try to find the Pixi binary in this order:

  1. Use shutil.which("pixi") to find Pixi in your PATH
  2. Check for a configuration file stored at:
    • Linux/macOS: $HOME/.config/pixi-kernel/config.toml
    • Windows: $Env:USERPROFILE\.config\pixi-kernel\config.toml
  3. Check the default Pixi installation location:
    • Linux/macOS: $HOME/.pixi/bin/pixi
    • Windows: $Env:USERPROFILE\.pixi\bin\pixi.exe

If you have Pixi installed in a non-standard location, you can create a configuration file to specify its path:

pixi-path = "/path/to/your/pixi"

Kernel support

Pixi kernel supports the following kernels:

Language Kernel Package name
Python IPython Kernel ipykernel
R IR Kernel r-irkernel

Support for other kernels and languages can be added by opening an issue or a pull request, see CONTRIBUTING.

Pixi environments

Pixi kernel supports multiple Pixi environments in a single Pixi project. To select a specific environment, use JupyterLab property inspector, save your notebook and restart your kernel.

JupyterLab property inspector showing Pixi environment selector

If an environment cannot be determined, Pixi kernel will fallback to the value in the PIXI_KERNEL_DEFAULT_ENVIRONMENT environment variable, if specified. Otherwise, the default Pixi environment will be used.

JupyterHub deployments with limited permissions

If you're using pixi-kernel on JupyterHub and cannot access the environment where JupyterLab is installed, you can use the following workaround:

  1. Install pixi-kernel locally: pip install pixi-kernel --user
  2. Install Pixi
  3. Restart your JupyterLab server

See #62 and #51 for more information.

Limitations

Pixi kernel only works with the default environment in VSCode.

Related

About

Jupyter kernels using Pixi for reproducible notebooks

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •