A tool designed to execute all cells in a Jupyter Notebook using nbconvert’s ExecutePreprocessor, capturing outputs for testing and reporting.
Project description
Swarmauri Tool Jupyter Execute Notebook
Executes all cells of a Jupyter notebook using nbclient and returns the executed NotebookNode with captured outputs.
Features
- Runs notebooks programmatically via the Swarmauri tool interface.
- Accepts optional per-cell timeout (default 30 seconds) and continues on cell errors.
- Returns the executed notebook object so downstream tools can inspect outputs or save it.
Prerequisites
- Python 3.10 or newer.
- Jupyter/nbconvert stack available (
nbclient,nbformat,ipykernel, etc.—installed automatically). - Notebook dependencies must be installed in the environment where the tool runs.
Installation
# pip
pip install swarmauri_tool_jupyterexecutenotebook
# poetry
poetry add swarmauri_tool_jupyterexecutenotebook
# uv (pyproject-based projects)
uv add swarmauri_tool_jupyterexecutenotebook
Quickstart
from swarmauri_tool_jupyterexecutenotebook import JupyterExecuteNotebookTool
executor = JupyterExecuteNotebookTool()
executed_nb = executor(
notebook_path="notebooks/example.ipynb",
timeout=120,
)
# Save the executed notebook
import nbformat, json
from pathlib import Path
Path("notebooks/example-executed.ipynb").write_text(
nbformat.writes(executed_nb),
encoding="utf-8",
)
Tips
- Increase
timeoutfor notebooks with long-running cells to avoidCellTimeoutError. - Set
allow_errors=True(default in the tool) so execution continues after a failing cell while error traces are still recorded. - Combine with
JupyterClearOutputToolor conversion tools to build end-to-end notebook pipelines.
Want to help?
If you want to contribute to swarmauri-sdk, read up on our guidelines for contributing that will help you get started.
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_tool_jupyterexecutenotebook-0.10.0.tar.gz.
File metadata
- Download URL: swarmauri_tool_jupyterexecutenotebook-0.10.0.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","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 |
8bbf62e3d5b568fd328d082718b9c40ad20767abc4eb2a27cb91965f7baa9ed7
|
|
| MD5 |
cc1dfbb29ad452f9d1bfdefec57c6c09
|
|
| BLAKE2b-256 |
27ecf32657de58b21eb371e488d67a0e5f882fa92ad899547fc4929b7facc919
|
File details
Details for the file swarmauri_tool_jupyterexecutenotebook-0.10.0-py3-none-any.whl.
File metadata
- Download URL: swarmauri_tool_jupyterexecutenotebook-0.10.0-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","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 |
b08e29ae511e5a460b22bd072d34ce1a150306aa01e5d3b56b7296bb9aa05d4d
|
|
| MD5 |
fc6f93248138e8c224f0fb032eb6dd11
|
|
| BLAKE2b-256 |
a5c97a70ec20cdcbd73520c23968c020742b91731028ce050e9d412d3f92ca8c
|