Skip to main content

Thin control plane for Jupyter notebook execution with jobs, attribution, and runtime lifecycle

Project description

Hypernote

  • Notebook-first - Hypernote is a thin execution control plane on top of Jupyter shared documents.
  • One notebook truth - notebook edits, execution, and late-open JupyterLab views all operate on the same logical document.
  • Agent-first surface - the Python SDK is primary, and the CLI is a thin shell over it.
  • Ephemeral control plane - Jupyter owns durable .ipynb contents and outputs; Hypernote owns in-memory runtimes, jobs, and attribution.

What it ships

  • notebook-first SDK in hypernote/sdk.py
  • agent-first CLI in hypernote/cli/main.py
  • Jupyter server extension for execution and runtime control
  • notebook-scoped runtime lifecycle with attach, detach, recovery, and stop
  • job polling and input() round-trips for headless execution
  • live-server and browser regression coverage for shared-document behavior

Quick start

uv sync
uv run hypernote --help
uv run hypernote create tmp/demo.ipynb
uv run hypernote ix tmp/demo.ipynb -s 'value = 20 + 22\nprint(value)'
uv run hypernote status tmp/demo.ipynb --full

Install tiers

  • hypernote
    • core + server + shared-doc runtime
    • use this for real Hypernote SDK/server usage
  • hypernote[lab]
    • adds the JupyterLab collaboration bundle
    • use this when you want the full collaborative JupyterLab experience
  • hypernote[dev]
    • adds test, lint, browser, and local dev tooling
    • use this for local development and CI

Examples:

uv sync
uv sync --extra lab
uv sync --extra dev

Mental model

Jupyter owns:

  • notebook persistence
  • shared YDoc document state
  • kernel and session primitives
  • notebook rendering in JupyterLab

Hypernote owns:

  • runtime lifecycle around a notebook
  • job coordination and stdin round-trips
  • actor attribution
  • SDK, CLI, and thin REST handlers

Documentation

Verification

For local development and CI, install the dev tier first:

uv sync --extra dev
uv run ruff check hypernote tests
uv run python -m pytest -q

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

hypernote-0.1.2.tar.gz (152.1 kB view details)

Uploaded Source

Built Distribution

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

hypernote-0.1.2-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

Details for the file hypernote-0.1.2.tar.gz.

File metadata

  • Download URL: hypernote-0.1.2.tar.gz
  • Upload date:
  • Size: 152.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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}

File hashes

Hashes for hypernote-0.1.2.tar.gz
Algorithm Hash digest
SHA256 58fcf5abf7702e8cd37a87149d7d8e1dbd07f1c2f75f975e127107d6f3d8120b
MD5 d3572a28c72bbb99ec753268f36dbc79
BLAKE2b-256 24056a8fe1be8fad01282c87778075632cb2b135553fb23052d30fdc06c33b51

See more details on using hashes here.

File details

Details for the file hypernote-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: hypernote-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 31.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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}

File hashes

Hashes for hypernote-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 88a64bfb100a5ae0d25966e7f2346a02ee54baa25ae2c294c2fab20b529ee7d2
MD5 4ed827c07594d4f98d27363a2410d164
BLAKE2b-256 3625b987167e967ef7f987421ae4cb8e089a4d2f7363f8c83a7e3503c2bd5d88

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