Skip to main content

Python toolkit for Jupyter runtimes, powered by runtimed Rust binaries

Project description

runtimed

Python bindings for the runtimed notebook daemon. Execute code, manage kernels, and interact with notebooks programmatically.

Installation

pip install runtimed

Quick Start

Synchronous API

import runtimed

with runtimed.Session() as session:
    session.start_kernel()
    result = session.run("print('hello')")
    print(result.stdout)  # "hello\n"

Async API

import asyncio
import runtimed

async def main():
    async with runtimed.AsyncSession() as session:
        await session.start_kernel()
        result = await session.run("print('hello async')")
        print(result.stdout)

asyncio.run(main())

Features

  • Code execution via daemon-managed kernels
  • Sync and async APIs for flexibility
  • Document-first model with automerge sync
  • Multi-client support for shared notebooks
  • Rich output capture (stdout, stderr, display_data, errors)

Session API

session = runtimed.Session(notebook_id="my-notebook")
session.start_kernel()

# Simple execution
result = session.run("x = 42")

# Document-first pattern (for fine-grained control)
cell_id = session.create_cell("print(x)")
result = session.execute_cell(cell_id)

# Inspect results
print(result.success)
print(result.stdout)
print(result.error)

# Save the notebook to disk
path = session.save()                       # Save to current path
path = session.save(path="/tmp/copy.ipynb")  # Save-as

AsyncSession API

async with runtimed.AsyncSession(notebook_id="my-notebook") as session:
    await session.start_kernel()
    result = await session.run("x = 42")

    # Or document-first pattern
    cell_id = await session.create_cell("print(x)")
    result = await session.execute_cell(cell_id)

    # Save the notebook to disk
    path = await session.save()                       # Save to current path
    path = await session.save(path="/tmp/copy.ipynb")  # Save-as

DaemonClient API

client = runtimed.DaemonClient()
client.ping()        # Health check
client.status()      # Pool statistics
client.list_rooms()  # Active notebooks

Requirements

  • runtimed daemon running (runt daemon start)
  • Python 3.9+

Documentation

See docs/python-bindings.md for full documentation.

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

runtimed-0.1.5a202603060910-cp39-abi3-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.9+Windows x86-64

runtimed-0.1.5a202603060910-cp39-abi3-manylinux_2_39_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.39+ x86-64

runtimed-0.1.5a202603060910-cp39-abi3-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

Details for the file runtimed-0.1.5a202603060910-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: runtimed-0.1.5a202603060910-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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 runtimed-0.1.5a202603060910-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e0a469e6bf2a5719a6fa2e295ce8833c1dd7199360d5f9c0bd6baa8ee9e23933
MD5 fb2f8366ebd9e3211eff7635792ce5d2
BLAKE2b-256 00371321b169d05f0606600a2c33527c4818a210744de740406bad3bce54a017

See more details on using hashes here.

File details

Details for the file runtimed-0.1.5a202603060910-cp39-abi3-manylinux_2_39_x86_64.whl.

File metadata

  • Download URL: runtimed-0.1.5a202603060910-cp39-abi3-manylinux_2_39_x86_64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.39+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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 runtimed-0.1.5a202603060910-cp39-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 55ae61507c91fd32be89a21246ce311d4edb60cd7979a8dd3a2949b152401527
MD5 331538b0b1e89d5d488c3c86e86d214b
BLAKE2b-256 b2e460c8a8ab0b8043ac87b9d6c21426ec2bb890c8a38db4a9731d18f540d612

See more details on using hashes here.

File details

Details for the file runtimed-0.1.5a202603060910-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: runtimed-0.1.5a202603060910-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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 runtimed-0.1.5a202603060910-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 722cd8bbe2484e6f3af61b40ac6fcdc8cc19a5fcb80478105c844e93e7bce5ad
MD5 6b7362484e8f02ae60043fdad463d01e
BLAKE2b-256 0f44de01dd7aafeaa49d56bc891cb7174188ccbef9fd15c4149808cde2d37d44

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