Skip to main content

A unified toolkit for aggregating standalone jupyter notebook tools.

Project description

Swarmauri Logo

PyPI - Downloads Hits PyPI - Python Version PyPI - License PyPI - swarmauri_toolkit_jupytertoolkit


Swarmauri Toolkit · Jupyter Toolkit

A one-stop Swarmauri toolkit that bundles the Jupyter kernel, execution, export, and validation tools under a single interface. Instantiate JupyterToolkit and you instantly gain access to twenty standalone tools covering notebook lifecycle tasks: launching kernels, running cells, converting notebooks, exporting formats, and more.

  • Pre-registers commonly used Jupyter utilities such as JupyterStartKernelTool, JupyterExecuteNotebookTool, JupyterExportHtmlTool, and JupyterShutdownKernelTool.
  • Ensures each tool shares the same Swarmauri component metadata so agents can discover capabilities automatically.
  • Useful for agents, pipelines, or CLI scripts that need rich notebook automation without manually wiring every tool.

Requirements

  • Python 3.10 – 3.13.
  • The underlying Jupyter tool packages (installed automatically as dependencies).
  • Access to a local or remote Jupyter runtime for kernel operations.

Installation

Pick the package manager that fits your project; each command installs the toolkit plus all underlying Jupyter tools.

pip

pip install swarmauri_toolkit_jupytertoolkit

Poetry

poetry add swarmauri_toolkit_jupytertoolkit

uv

# Add to the current project and update uv.lock
uv add swarmauri_toolkit_jupytertoolkit

# or install into the active environment without modifying pyproject.toml
uv pip install swarmauri_toolkit_jupytertoolkit

Tip: Some tools depend on Jupyter client libraries (jupyter_client, nbformat, nbconvert). Make sure your environment includes any system packages required by those libraries (for example LaTeX when exporting to PDF/LaTeX).

Quick Start

from swarmauri_toolkit_jupytertoolkit import JupyterToolkit

toolkit = JupyterToolkit()

# Start a kernel and execute a notebook
start = toolkit.tools["JupyterStartKernelTool"]()
print(start)

run = toolkit.tools["JupyterExecuteNotebookTool"](
    notebook_path="reports/daily.ipynb",
    timeout=120
)
print(run)

# Export the executed notebook to HTML
export = toolkit.tools["JupyterExportHtmlTool"](
    notebook_path="reports/daily.ipynb",
    output_path="reports/daily.html"
)
print(export)

# Gracefully shut down the kernel
shutdown = toolkit.tools["JupyterShutdownKernelTool"](
    kernel_id=start["kernel_id"],
    shutdown_timeout=10
)
print(shutdown)

JupyterToolkit.tools is a dictionary keyed by tool name. Each entry is the ready-to-call Swarmauri tool instance.

Usage Scenarios

Build a Notebook Orchestration Service

from fastapi import FastAPI, BackgroundTasks
from swarmauri_toolkit_jupytertoolkit import JupyterToolkit

app = FastAPI()
toolkit = JupyterToolkit()

@app.post("/execute")
def execute(data: dict, background: BackgroundTasks):
    nb_path = data["notebook_path"]
    background.add_task(
        toolkit.tools["JupyterExecuteNotebookWithParametersTool"],
        notebook_path=nb_path,
        parameters=data.get("parameters", {})
    )
    return {"status": "queued", "notebook": nb_path}

Trigger parameterized notebook runs via HTTP and reuse the toolkit’s pre-wired execution tool.

Enhance a Swarmauri Agent With Notebook Skills

from swarmauri_core.agent.Agent import Agent
from swarmauri_core.messages.HumanMessage import HumanMessage
from swarmauri_standard.tools.registry import ToolRegistry
from swarmauri_toolkit_jupytertoolkit import JupyterToolkit

jupyter_toolkit = JupyterToolkit()
registry = ToolRegistry()
registry.register(jupyter_toolkit.tools["JupyterExecuteCellTool"])
registry.register(jupyter_toolkit.tools["JupyterReadNotebookTool"])
registry.register(jupyter_toolkit.tools["JupyterWriteNotebookTool"])

agent = Agent(tool_registry=registry)
response = agent.run(HumanMessage(content="Execute cell 3 from analytics.ipynb"))
print(response)

Combine multiple notebook operations so the agent can read, modify, and execute notebooks within a single conversation.

Convert Notebooks in Bulk

from pathlib import Path
from swarmauri_toolkit_jupytertoolkit import JupyterToolkit

toolkit = JupyterToolkit()
export_html = toolkit.tools["JupyterExportHtmlTool"]
export_md = toolkit.tools["JupyterExportMarkdownTool"]

for notebook in Path("notebooks").glob("*.ipynb"):
    export_html(notebook_path=str(notebook), output_path=str(notebook.with_suffix(".html")))
    export_md(notebook_path=str(notebook), output_path=str(notebook.with_suffix(".md")))

Run multiple exporters without manually instantiating each tool.

Troubleshooting

  • Kernel start failures – Ensure the environment has a working Jupyter kernelspec (e.g., python3). Check permissions when running inside containers or restricted hosts.
  • Export errors – Some exporters (LaTeX/PDF) require external dependencies. Install TeX Live or pandoc as appropriate.
  • Tool lookup mistakes – Use toolkit.tools.keys() to inspect available tool names; they map 1:1 to the underlying packages (JupyterExecuteNotebookTool, JupyterValidateNotebookTool, etc.).

License

swarmauri_toolkit_jupytertoolkit is released under the Apache 2.0 License. See LICENSE for details.

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 Distribution

Built Distribution

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

File details

Details for the file swarmauri_toolkit_jupytertoolkit-0.3.3.dev13.tar.gz.

File metadata

  • Download URL: swarmauri_toolkit_jupytertoolkit-0.3.3.dev13.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • 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 swarmauri_toolkit_jupytertoolkit-0.3.3.dev13.tar.gz
Algorithm Hash digest
SHA256 40a8e2577497b455848e6b43d781cb330919cd97287a7230a04f4b562678f912
MD5 b9f746f2a994973fb5321c828295a126
BLAKE2b-256 3521bf1ea64c376d76853aa5e7c1e9c4af728356570372f7df7955bb993ce2be

See more details on using hashes here.

File details

Details for the file swarmauri_toolkit_jupytertoolkit-0.3.3.dev13-py3-none-any.whl.

File metadata

  • Download URL: swarmauri_toolkit_jupytertoolkit-0.3.3.dev13-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • 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 swarmauri_toolkit_jupytertoolkit-0.3.3.dev13-py3-none-any.whl
Algorithm Hash digest
SHA256 2749bb8daacd7f9dc993e6d8bb005dd5a3b8845b4ff3237877056758360f6f31
MD5 cd5295205cddf0601cedcbdc24503693
BLAKE2b-256 5f3f0fa9829e1e0c17489c18b8684128b87b244a4aa9de8ea2e91e01e109428e

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