Skip to main content

Jupyter kernels using Pixi for reproducible notebooks

Project description

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
R Ark R Kernel ark

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 https://github.com/renan-r-santos/pixi-kernel/issues/62 and https://github.com/renan-r-santos/pixi-kernel/issues/51 for more information.

Limitations

Pixi kernel only works with the default environment in VSCode.

Related

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pixi_kernel-0.7.1.tar.gz (714.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pixi_kernel-0.7.1-py3-none-any.whl (45.4 kB view details)

Uploaded Python 3

File details

Details for the file pixi_kernel-0.7.1.tar.gz.

File metadata

  • Download URL: pixi_kernel-0.7.1.tar.gz
  • Upload date:
  • Size: 714.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pixi_kernel-0.7.1.tar.gz
Algorithm Hash digest
SHA256 b8788c9f07e24397576947771ef81fc3cb58d374e245939bf4f5a4a827edaf1f
MD5 ce86607b486b2220b96f97c2dedf466a
BLAKE2b-256 57329cd86c46272ce0c10cfe9dbf1966afbd8faa4452c9ba97974977b2fe6572

See more details on using hashes here.

Provenance

The following attestation bundles were made for pixi_kernel-0.7.1.tar.gz:

Publisher: release.yml on renan-r-santos/pixi-kernel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pixi_kernel-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: pixi_kernel-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 45.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pixi_kernel-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 93b51c8a95ca58fb4b743cb2ce5d73b951f467e7c39b0c766f20e05bdf950478
MD5 1d423ccf6af8e393c07ff254d031c8ba
BLAKE2b-256 c436ce5f75aa7c736a663a901766edc3580098c7ea3959a0e878363a54a3714e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pixi_kernel-0.7.1-py3-none-any.whl:

Publisher: release.yml on renan-r-santos/pixi-kernel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page