A unified toolkit for aggregating standalone jupyter notebook tools.
Project description
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, andJupyterShutdownKernelTool. - 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file swarmauri_toolkit_jupytertoolkit-0.4.0.dev7.tar.gz.
File metadata
- Download URL: swarmauri_toolkit_jupytertoolkit-0.4.0.dev7.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0412ede358e1dc854535d10305e1813aa0b67ab467dee1cc5d4772edfa225c38
|
|
| MD5 |
51ff5349b8165c52802da6e7d22ab6e7
|
|
| BLAKE2b-256 |
3d8232e787af78d1c0009575c90d1744ffcf434f53c72a4dc79841da5996f3e3
|
File details
Details for the file swarmauri_toolkit_jupytertoolkit-0.4.0.dev7-py3-none-any.whl.
File metadata
- Download URL: swarmauri_toolkit_jupytertoolkit-0.4.0.dev7-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cf5f2262373041dcfa82c9b322472a14dacb5126ef0393954341f1757067ba3
|
|
| MD5 |
76133f3df46fdf93251b96d587cf9852
|
|
| BLAKE2b-256 |
cadfd425fe3b94e314d31de816b10d9c2df90f791165dc5230938bd1d90e3387
|