Skip to main content

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


Download files

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

Source Distribution

uvnb-0.1.0.tar.gz (4.0 kB view hashes)

Uploaded Source

Built Distribution

uvnb-0.1.0-py3-none-any.whl (4.3 kB view hashes)

Uploaded Python 3

Supported by

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