Skip to main content

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

Project description

Hypernote

  • JupyterLab-first - Hypernote is a thin execution control plane for a Hypernote-enabled JupyterLab server.
  • 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 src/hypernote/sdk.py
  • agent-first CLI in src/hypernote/cli/main.py
  • Jupyter server extension for execution and runtime control
  • subshell-routed execute, interrupt, and restart so JupyterLab stays usable while Hypernote is running cells
  • notebook-scoped runtime lifecycle with attach, detach, recovery, and stop
  • job polling and input() round-trips for agent automation without requiring an open Lab tab
  • live-server and browser regression coverage for shared-document behavior

Quick start

uv sync
uv run hypernote --help
uv run hypernote setup serve
uv run hypernote setup doctor
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

For another repo's environment, install Hypernote there (uv add hypernote --dev) and run the same bootstrap command from that repo.

Install

The default install includes the JupyterLab integration stack Hypernote needs: JupyterLab, shared-document support, server-side notebook execution, and the collaboration/docprovider frontend packages.

Use hypernote[dev] only for local development and CI tooling.

Examples:

uv sync
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

Design discipline

  • shared behavior should have one owner, usually the SDK for agent-facing observation rules
  • command and payload variants should preserve one contract unless a difference is explicit and documented
  • adapters should normalize valid upstream shape differences at the boundary
  • tests should cover invariants across variants, not only the main workflow

Documentation

Verification

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

uv sync --extra dev
uv run ruff check src/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.3.0.tar.gz (198.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.3.0-py3-none-any.whl (51.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hypernote-0.3.0.tar.gz
  • Upload date:
  • Size: 198.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.3.0.tar.gz
Algorithm Hash digest
SHA256 89ec7f74a7b23fcb4bf75983f47c1a555e92461b293e5a776f2d46d5d17f546b
MD5 454bdd0a61189adde059e62deef2df27
BLAKE2b-256 64ab3398c0dfe404b0691c49727b74a46e0c859acfaf6295834ee7273b4f964c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hypernote-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 51.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f24ef6c2e87e22a34fc66b81465d1c5c489a59e5a38bde36e03a1aea00ada764
MD5 c0230b030a48a1ab0694277d6607dcf4
BLAKE2b-256 a52f7cf500d74b3b8f6d2483b05cbe841645d56019fd84e01674c19fd539ba1e

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