Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

runcell

RunCell is an AI-powered JupyterLab extension for working with notebooks, code, and data more efficiently inside JupyterLab.

It allow you to use LLM like Claude/GPT/Gemini, etc to analysis your notebooks and work in your jupyter lab env.

Requirements

  • JupyterLab 4.4 or newer

Installation

Install RunCell from PyPI:

pip install runcell

Then start JupyterLab as usual:

jupyter lab

Non-interactive Agent runtime (preview)

Python programs can call the same headless workspace Agent runtime directly:

import asyncio

from runcell_agent_runtime import (
    AgentRunRequest,
    AgentRuntime,
    AgentRuntimeConfig,
    resolve_runtime_credential,
)


async def main():
    runtime = AgentRuntime(
        AgentRuntimeConfig(
            workspace_root="/absolute/workspace",
            remote_backend_url="https://service.runcell.dev",
            credential=resolve_runtime_credential(),
        )
    )
    handle = await runtime.start(AgentRunRequest("Inspect this workspace"))
    result = await handle.result(timeout_seconds=900)
    print(result.assistant_text)


asyncio.run(main())

Non-Python programs can use the machine-only one-shot process adapter. It reads one JSON object from stdin and writes one JSON result line to stdout; diagnostics go to stderr.

python -m runcell_agent_runtime <<'JSON'
{
  "api_version": 1,
  "workspace_root": "/absolute/workspace",
  "remote_backend_url": "https://service.runcell.dev",
  "message": "Reply with exactly: pong",
  "result_timeout_seconds": 900,
  "permission_preferences": {"global_mode": "ask_every_time"}
}
JSON

Authentication uses RUNCELL_AGENT_USER_TOKEN when explicitly set, otherwise the existing RunCell OAuth token store (normally ~/.d5m/tokens/current.json). The token never belongs in the stdin JSON or command arguments.

result_timeout_seconds limits the wait after the run starts; it is not a full process or Agent wall-clock limit. If the run reaches a permission request, times out, or pauses for credits, the adapter reports that state and attempts to cancel the process-local run before exiting. Use explicit permission preferences for unattended write operations.

Local Agent Development

From packages/d5m-ai, use the dev agent process manager to run the local development stack:

yarn dev:agent:start

This starts four long-running processes:

  • server: ../../d5m_ai_server/venv/bin/python run_d5m_server.py from the repo root when that backend venv exists, otherwise venv/bin/python run_d5m_server.py
  • jupyter: venv/bin/jupyter lab --LabApp.extension_manager=readonly
  • watch: yarn watch
  • tailwind: npx @tailwindcss/cli -i ./style/tailwind.css -o ./style/tailwindDist.css --watch=always

The manager writes logs and PID files under .dev-agent/, which is ignored by git:

.dev-agent/logs/server.log
.dev-agent/logs/jupyter.log
.dev-agent/logs/watch.log
.dev-agent/logs/tailwind.log
.dev-agent/pids/*.pid

Useful commands:

yarn dev:agent:status
yarn dev:agent:logs
yarn dev:agent:logs:follow
yarn dev:agent:restart:server
yarn dev:agent:restart:jupyter
yarn dev:agent:stop

To send a single Agent V2 task through the Jupyter proxy without driving the UI:

yarn dev:agent:send --message "Create a new notebook with a simple scatter plot" --allow-tools

This calls the local-only POST /api/d5m_ai/v2/agent/dev/send endpoint. The response is JSON with request_id, session/job metadata, streamed events, assistant text, tool calls, tool outputs, and any notebooks created via create_notebook. Pass --notebook path/to/file.ipynb to make an existing notebook the active target. The same request id is forwarded to the remote Agent V2 server so Jupyter and server logs can be correlated.

Learn More

For documentation, product updates, and the latest setup information, visit www.runcell.dev.

Metadata

Release files for runcell 0.2.6a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for runcell 0.2.6a1
File Interpreter ABI Platform
runcell-0.2.6a1-py3-none-any.whl Python 3 none any Details

Release files / runcell-0.2.6a1-py3-none-any.whl

Download URL runcell-0.2.6a1-py3-none-any.whl
Size 7.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
61d52af0250506d26a68aae6bfcdc80a15a173410948f186426044c18e79102a
BLAKE2b-256 checksum
How to use checksums
f30e4ceef7957f43438b984a3de8ffe9937e1c3ead3c977ba74a5652a1a04708
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.9

Release history Release notifications | RSS feed

0.2.7

1 release file

0.2.6

1 release file

This release

0.2.6a1 This release

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.25

1 release file

0.1.24

1 release file

0.1.23

1 release file

0.1.22

1 release file

0.1.21

1 release file

0.1.20

1 release file

0.1.19

1 release file

0.1.18

1 release file

0.1.17

1 release file

0.1.16

1 release file

0.1.15

1 release file

0.1.14

1 release file

0.1.13

1 release file

0.1.12

1 release file

0.1.11

1 release file

0.1.10

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page