Metadata-Version: 2.1
Name: pixi-kernel
Version: 0.1.0
Summary: Python Jupyter kernel using Pixi for reproducible notebooks
Author-email: Renan Rodrigues dos Santos <renan.engmec@gmail.com>
License: MIT
Project-URL: Documentation, https://github.com/renan-r-santos/pixi-kernel
Project-URL: Repository, https://github.com/renan-r-santos/pixi-kernel
Keywords: kernel,jupyter,pixi
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Framework :: Jupyter
Classifier: Framework :: Jupyter :: JupyterLab
Classifier: Framework :: Jupyter :: JupyterLab :: 4
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
Requires-Python: <4.0,>=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ipykernel <7,>=6
Requires-Dist: jupyter-client <9,>=8
Requires-Dist: msgspec <1,>=0.18

# Pixi Kernel

Use per-directory Pixi environments to run Jupyter kernels. The idea behind this project is to
allow you to capture the exact state of your environment while allowing you to make use of the rich
PyPI and Conda ecosystems.

Pixi Kernel supports Python 3.8+ and Pixi 0.18+ using `pyproject.toml` and `pixi.toml`
configurations.

![JupyterLab launcher screen showing Pixi Kernel](assets/image1.png)

## Quick Start

1. Install this package with `pip install pixi-kernel` in your JupyterLab environment and restart
   it.
2. Create a new directory and notebook and select the **Pixi** kernel for the notebook.
3. Initialize a Pixi project with `pixi init` and `pixi add ipykernel`.
4. Restart the kernel and you are good to go.

See the [Pixi docs](https://pixi.sh/latest/) for more information on how to use Pixi.

## User Experience

If the Pixi Kernel is used in a project where `pixi` is not installed or the project does not have
`ipykernel` installed in the environment, starting the kernel fails.

A fallback kernel is then started showing a helpful message when you try to run the notebook. This
is a regular IPython kernel which allows you to run shell commands and hopefully fix the
configuration of the project.

## Limitations

Pixi Kernel does not support using Pixi environments other than the default one. If you have an
idea how to support this, please open an issue or check the [contributing guide](CONTRIBUTING.md)
to open a pull request.

## Related

- [Pyproject Local Jupyter Kernel](https://github.com/bluss/pyproject-local-kernel)
- [Poetry-kernel](https://github.com/pathbird/poetry-kernel)
