Skip to main content

A tool designed to execute all cells in a Jupyter Notebook using nbconvert’s ExecutePreprocessor, capturing outputs for testing and reporting.

Project description

Swarmauri Logo

PyPI - Downloads Hits PyPI - Python Version PyPI - License PyPI - swarmauri_tool_jupyterexecutenotebook


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 timeout for notebooks with long-running cells to avoid CellTimeoutError.
  • Set allow_errors=True (default in the tool) so execution continues after a failing cell while error traces are still recorded.
  • Combine with JupyterClearOutputTool or 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

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

File details

Details for the file swarmauri_tool_jupyterexecutenotebook-0.9.3.dev5.tar.gz.

File metadata

  • Download URL: swarmauri_tool_jupyterexecutenotebook-0.9.3.dev5.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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_tool_jupyterexecutenotebook-0.9.3.dev5.tar.gz
Algorithm Hash digest
SHA256 04ac1ee87d59395e066423474ddcc939e9074105361b49379d3e45dcde14f7f3
MD5 4785bfa6c3be0f11854b9cc0f8de8ab4
BLAKE2b-256 f83f2a3cc1ab8579451724e502a170a895c0bf04745cecb8081117dc5dcb74a7

See more details on using hashes here.

File details

Details for the file swarmauri_tool_jupyterexecutenotebook-0.9.3.dev5-py3-none-any.whl.

File metadata

  • Download URL: swarmauri_tool_jupyterexecutenotebook-0.9.3.dev5-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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_tool_jupyterexecutenotebook-0.9.3.dev5-py3-none-any.whl
Algorithm Hash digest
SHA256 8d06d4ebbf2f2c91d0a8434d8683bf9944f033cebdac2ceadf3d3dc306234b2f
MD5 e54920a6ef7e939eafa32e9026a0571f
BLAKE2b-256 5b4f613187924338247247f27da1f93dff84f53acf2818c87899b4fb704eda91

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