Skip to main content

A jupyter kernel with automatic PEP723 environments, using uv

Project description

Project Overview

This is a Jupyter kernel implementation that provides on-demand IPython kernels with dependencies pulled from PEP723 metadata. Each kernel instance is an on-demand virtual environment managed by uv. This kernel is compatible with notebooks modified by juv.

Installation and use

Either:

uv tool run --with uvvkernel --from jupyterlab jupyter-lab 

or just pip install uvkernel to your existing jupyter server environment.

Known limitations

  • Can't install Jupyter extensions
  • There is no UI (you can use the juv comand line tool, though!)
  • There's no graceful handling of invalid/unsolvable dependency metadata (the kernel just doesn't start)

Why use this instead of...

Juv?

Use Juv if you want to spin up a dedicated Jupyter server for a specific notebook. Use uvkernel if you prefer to have a single (maybe even shared) jupyter server, and many notebooks with individual dependencies. Use Juv for a nice command-line tool to add dependencies and do locking (in fact, you should use the command line tool to manage your notebooks for uvkernel!)

pyproject-local-kernel?

Use pyproject-local-kernel if you want to manage dependencies with pyproject.toml files, separate from your notebooks. Use uvkernel if you want the dependencies embedded in the notebook. Use pyproject-local-kernel if you want the freedom to use uv/hatch/poetry/etc. uvkernel only uses uv!

Development Commands

  1. Install uv manually.
  2. Git checkout this repository.
  3. Run the local version like this:
# Test package with jupyter-lab
uv tool run --with . --refresh-package uvkernel --from jupyterlab jupyter-lab

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

uvkernel-0.2.0.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

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

uvkernel-0.2.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file uvkernel-0.2.0.tar.gz.

File metadata

  • Download URL: uvkernel-0.2.0.tar.gz
  • Upload date:
  • Size: 27.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.20

File hashes

Hashes for uvkernel-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a55e046cfd9cc89ff9b4738f9081313903d76d575195fe4c0e1a55e3000b680c
MD5 f8d746b5acfe94d56bbb65cd71ba2bab
BLAKE2b-256 f752f37bc1f26c81604bfe525eeebad02fb5ed444d54f90f08860a98948b09c8

See more details on using hashes here.

File details

Details for the file uvkernel-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: uvkernel-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.20

File hashes

Hashes for uvkernel-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 540441e32e90c55894fca8eb3ea2180df57989d68d6843dea8fa6317ab0e4dc6
MD5 8a16dd8e0e78982f139c3af875c6e846
BLAKE2b-256 cc3d0748a858ce8229097ea92814d052e4befc3150463d8d9818a851e1ba5a7b

See more details on using hashes here.

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