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.4.1.dev3.tar.gz.

File metadata

  • Download URL: swarmauri_toolkit_jupytertoolkit-0.4.1.dev3.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","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.4.1.dev3.tar.gz
Algorithm Hash digest
SHA256 66e84b4c466d7268970eefdc962dc8504b0a1cba5d0d417964f4c17fad16a584
MD5 ad6bcdbcc9dab813fcbac0bf6a1795ac
BLAKE2b-256 2c7b987d55766e348a9f772d9b4e86c3ab676d949163e95d633ca9ad9399beb8

See more details on using hashes here.

File details

Details for the file swarmauri_toolkit_jupytertoolkit-0.4.1.dev3-py3-none-any.whl.

File metadata

  • Download URL: swarmauri_toolkit_jupytertoolkit-0.4.1.dev3-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","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.4.1.dev3-py3-none-any.whl
Algorithm Hash digest
SHA256 71768f26bf96f84e0d341eac566d664ebb072b83d3ee7e4c876028e07816bc2a
MD5 8d699cb1d501c9c7d625a7f90b7d74d4
BLAKE2b-256 d65034777f0e023987362ad431755365c938145d72e024a0faf8d132a2d5b6e0

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