Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

apibean-jupyter

apibean-jupyter is an infrastructure library for embedding and managing a Jupyter Server as a reusable Python component.

Instead of treating Jupyter as a standalone application, apibean-jupyter allows you to launch, configure, and control a Jupyter Server programmatically, making it suitable for tools, GUIs, notebooks automation, and managed processes.


Why apibean-jupyter?

Jupyter is often started as a CLI tool (jupyter lab, jupyter server), which makes it difficult to:

  • Embed Jupyter inside another application
  • Manage its lifecycle from Python code
  • Integrate it with process managers or dashboards
  • Reuse the same configuration across tools

apibean-jupyter solves this by exposing Jupyter Server as a first-class Python object with a clear lifecycle and extension points.


Features

  • Embed Jupyter Server via a simple Python API
  • Optional CLI for quick launching
  • Clean separation between core logic and UI/tooling
  • Plugin hooks for customization (kernels, extensions, reporters)
  • Designed for uv run workflows and managed environments
  • No dependency on GUI frameworks

Installation

pip install apibean-jupyter

Or run it directly with uv:

uv run --with apibean-jupyter apibean-jupyter --root notebooks

Quick Start (Python API)

from apibean_jupyter import JupyterServer

server = JupyterServer(
    root_dir="notebooks",
    ip="127.0.0.1",
)

print("Starting Jupyter at:", server.url)
server.start()

Command Line Usage

apibean-jupyter --root notebooks

Show server information without starting:

apibean-jupyter --info

Using with uv run

apibean-jupyter is designed to work well with uv:

uv run --with apibean-jupyter apibean-jupyter --root notebooks

It can also be embedded into other tools that depend on it.


Extending via Plugins

apibean-jupyter provides a lightweight plugin system to hook into the server lifecycle:

  • Pre/post initialization
  • Pre/post server start
  • Shutdown handling

This allows you to implement features such as:

  • Kernel mapping
  • JupyterLab extension configuration
  • Metrics and reporting
  • Integration with process managers

Relationship to the apibean ecosystem

apibean-jupyter is part of the apibean ecosystem, a collection of libraries and tools focused on testability, automation, and developer tooling.

It is designed to be used alongside:

  • apibean-notebook – notebook automation and analysis
  • apibean-client – API and service interaction

Design Philosophy

  • Prefer composition over inheritance
  • Keep CLI logic thin and reusable
  • Avoid tight coupling with UI frameworks
  • Make production behavior explicit and reproducible

License

MIT License

Release files for apibean-jupyter 0.1.0a4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apibean-jupyter 0.1.0a4
File Size Uploaded
apibean_jupyter-0.1.0a4.tar.gz 15.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for apibean-jupyter 0.1.0a4
File Interpreter ABI Platform
apibean_jupyter-0.1.0a4-py3-none-any.whl Python 3 none any Details

Total release size: 29.2 kB

Release files / apibean_jupyter-0.1.0a4.tar.gz

Download URL apibean_jupyter-0.1.0a4.tar.gz
Size 15.6 kB
Tags Source
SHA-256 checksum
How to use checksums
2359f811585db1fe6f21e485ad5603c175d0d504b86546836b9c2bd46a53b356
BLAKE2b-256 checksum
How to use checksums
d0277713e51db7d69e70039b8307e181e45b35ae2cde8b01761bfea5bf304a4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.5

Release files / apibean_jupyter-0.1.0a4-py3-none-any.whl

Download URL apibean_jupyter-0.1.0a4-py3-none-any.whl
Size 13.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2d7c84ac887392d7a6c2ceeef34e028166ff07571bac873424548f7afd05fe94
BLAKE2b-256 checksum
How to use checksums
cb8a6454eac9850796809be3706eccdd9c9fcb0709fdff4ab757f9f6fe411625
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.5
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page