Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

uv-kernel-manager

uv-kernel-manager registers the Python environments created by uv projects as Jupyter kernels. It is designed for a single JupyterLab installation shared across many projects, each with its own project-local .venv.

The PyPI distribution is uv-kernel-manager; the command is uv-kernel; the Python package is uv_kernel.

How it works

JupyterLab installation
        │
        ├── Python 3.12 (analytics) ──> analytics/.venv/bin/python
        └── Python 3.13 (forecasting) ─> forecasting/.venv/bin/python

Run uv-kernel register from a uv project to create a standard, user-level Jupyter kernelspec pointing at that project's interpreter. The command suggests a label in the form Python <major.minor> (<project-name>), such as Python 3.13 (forecasting), and lets you accept it or provide a label that is more meaningful to you.

The tool manages kernelspecs only. It does not install, start, configure, or upgrade JupyterLab; it also does not create or otherwise manage your uv projects or their virtual environments.

Prerequisites

  • uv on your PATH
  • A uv project with a pyproject.toml and a synchronized .venv (uv sync)
  • JupyterLab or another Jupyter frontend installed wherever you normally run it

register adds ipykernel to the current project's development dependencies by default. Use --no-add-ipykernel only when it is already installed or you do not want the command to change project dependencies.

Installation

Install the tool permanently with uv:

uv tool install uv-kernel-manager

Then run the uv-kernel command from a project directory:

cd path/to/forecasting
uv sync
uv-kernel register
jupyter lab

During registration, the tool shows the suggested Jupyter label:

Register kernel as: Python 3.13 (forecasting)
Press Enter to continue, or enter a custom name:

Press Enter to use it, or type a custom label. For scripts and other non-interactive usage, accept the suggestion with --yes or set it explicitly with --name:

uv-kernel register --yes
uv-kernel register --name "Forecasting — production"

To run without installing it, use uvx:

uvx uv-kernel-manager register
uvx uv-kernel-manager status

Commands

Command Purpose
uv-kernel register Prompt for a label and add the current project's .venv as a Jupyter kernel.
uv-kernel register --yes Register with the suggested label without prompting.
uv-kernel register --name "NAME" Register with an explicit Jupyter label.
uv-kernel status Show whether the current project is registered.
uv-kernel refresh Recreate the current project's kernel with its current interpreter and settings.
uv-kernel unregister Remove the current project's managed kernel.
uv-kernel list List every kernel managed by this tool.
uv-kernel clean Report managed kernels whose project or interpreter no longer exists.
uv-kernel clean --yes Remove the stale managed kernels reported by clean.
uv-kernel doctor Show diagnostic information about uv, the project, and Jupyter kernel locations.

Use --json with reporting commands when scripting, for example:

uv-kernel --json list
uv-kernel --json status

For a non-interactive JSON registration, include either --yes or --name:

uv-kernel --json register --yes
uv-kernel --json register --name "Forecasting — production"

Safety and ownership

Every kernel created by this tool includes a structured metadata.uv-kernel ownership record. unregister, refresh, and clean act only on kernels with that record; manually installed kernels and kernels managed by other tools are left untouched. Kernel directory names also begin with uv-kernel-, but the metadata marker—not the directory name—is the ownership check.

clean is intentionally non-destructive unless you explicitly pass --yes.

Build from source

To build the package locally, clone the repository and install its development dependencies:

uv sync --dev
uv build

The wheel and source distribution are written to dist/. To install the local checkout as a tool, run:

uv tool install .

Development

Run the test suite and validate built package metadata before contributing:

uv run pytest
uv run twine check dist/*

You can also run the command directly from the checkout:

uv run uv-kernel --help

Contributing

Contributions are welcome. Please open an issue or pull request with a focused change, include tests when behavior changes, and run the checks above before submitting.

Metadata

Release files for uv-kernel-manager 0.1.1a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uv-kernel-manager 0.1.1a1
File Size Uploaded
uv_kernel_manager-0.1.1a1.tar.gz 64.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for uv-kernel-manager 0.1.1a1
File Interpreter ABI Platform
uv_kernel_manager-0.1.1a1-py3-none-any.whl Python 3 none any Details

Total release size: 73.1 kB

Release files / uv_kernel_manager-0.1.1a1.tar.gz

Download URL uv_kernel_manager-0.1.1a1.tar.gz
Size 64.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1ee6d9c002bc67e454099292059233e86a1028046d32164e238e6c5aef633fa0
BLAKE2b-256 checksum
How to use checksums
08e290d686964396e165f943fdb9314372d054d9535a5d2472cb12bf0a71720f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / uv_kernel_manager-0.1.1a1-py3-none-any.whl

Download URL uv_kernel_manager-0.1.1a1-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
540186a8df8699845e8c661ac0f53710551495e5b3db79dd2084a911a37cfcb9
BLAKE2b-256 checksum
How to use checksums
138669f6a42a859b14b23d4cb74a7b8d7ece3ec6739ba5029f6195b65c5b3c18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.1.3

2 release files

0.1.2

2 release files

This release

0.1.1a1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page