A utility to run UV against Jupyter notebooks
Project description
uvnb
A utility to run UV against Jupyter notebooks.
Quickstart
You can install this tool via:
uv pip install uvnb
Usage
The goal of uvnb
is to allow you to run Jupyter notebooks with dependencies via UV by leveraging the script metadata. By doing this, you can just define your dependencies in the notebook metadata and quickly run it.
This tool assumes that you have metadata in the first cell that looks like this:
# /// script
# requires-python = ">=3.11"
# dependencies = [
# "requests<3",
# "rich",
# ]
# ///
import requests
from rich.pretty import pprint
resp = requests.get("https://peps.python.org/api/peps.json")
data = resp.json()
pprint([(k, v["title"]) for k, v in data.items()][:10])
From here you can run the notebook, or start a Jupyter server via the command line.
python -m uvnb
Usage: python -m uvnb [OPTIONS] COMMAND [ARGS]...
CLI for working with Jupyter notebooks.
Options:
--help Show this message and exit.
Commands:
run Run a Jupyter notebook.
start Start Jupyter notebook server.
UV to the max
Fun fact, you don't have to install this tool beforehand. You can just run it with uv
:
uv run --with nbuv python -m nbuv
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file uvnb-0.1.0.tar.gz
.
File metadata
- Download URL: uvnb-0.1.0.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7c163d712d67c08786d27b8c47bcf6a00553666069858ffcca83ea259048b78 |
|
MD5 | 3ce1c669d768a5247475127ae1ee4139 |
|
BLAKE2b-256 | f2603f2266d2ec6f53b4fc7ac84dbbe02da7c98fabeff4e92f3c79f26e3ecdd2 |
File details
Details for the file uvnb-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: uvnb-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a816c504e32a35d83350bf1aa14bc02f3ed542cb191ed86839b4d63821f8c20 |
|
MD5 | abea4792faa9e8c1b06953157cc52dd8 |
|
BLAKE2b-256 | ace9ee8a966167209c3b7e3f15dfc69884c1ee86017a53c05c15f9d0195b839a |