Skip to main content

A standalone Jupyter kernel for DataLab with optional live synchronization

Project description

DataLab-Kernel

A standalone Jupyter kernel providing seamless, reproducible access to DataLab workspaces, with optional live synchronization to the DataLab GUI.


Overview

DataLab-Kernel is a custom Jupyter kernel designed to bridge DataLab and the Jupyter ecosystem.

It enables scientists and engineers to:

  • run reproducible analyses in Jupyter notebooks,
  • interact transparently with DataLab’s internal workspace when DataLab is running,
  • share notebooks that can be replayed with or without DataLab,
  • combine narrative, code, and results without sacrificing interactive visualization.

DataLab-Kernel is not a replacement for DataLab’s GUI.
It is a complementary execution layer that turns DataLab into a hybrid scientific platform: GUI-driven when needed, notebook-driven when appropriate.


Key Features

  • Single, stable user API

    • workspace for data access and persistence
    • plotter for visualization
    • sigima for scientific processing
  • Two execution modes, one notebook

    • Live mode: automatic synchronization with a running DataLab instance
    • Standalone mode: notebook-only execution, fully reproducible
  • Reproducibility by design

    • Analyses can be saved and reloaded using .h5 files
    • Notebooks run unchanged across environments
  • Performance-aware

    • Optimized data handling when DataLab is attached
    • No unnecessary serialization for large datasets
  • Decoupled architecture

    • Installable independently of DataLab
    • DataLab is a privileged host, not a requirement

Typical Usage

img = workspace.get("i042")
filtered = sigima.proc.image.butterworth(img, cut_off=0.2)
workspace.add("filtered_i042", filtered)
plotter.plot("filtered_i042")

Depending on the execution context:

  • the result appears inline in the notebook,
  • and, if DataLab is running, it also appears automatically in the DataLab GUI, with views and metadata kept in sync.

Execution Modes

Live Mode (DataLab-attached)

  • DataLab launches a Jupyter server and starts kernel-datalab.
  • The kernel detects DataLab at runtime.
  • Workspace operations and visualizations are synchronized with the GUI.

Two connection methods are supported:

  • Web API (recommended): HTTP/JSON connection using DATALAB_WORKSPACE_URL and DATALAB_WORKSPACE_TOKEN environment variables
  • XML-RPC (legacy): Automatic connection when DataLab is running with remote control enabled

Standalone Mode (Notebook-only)

  • The kernel is used like any standard Jupyter kernel.
  • No DataLab installation or GUI is required.
  • Data are managed locally and persisted to .h5 files.

The same notebook runs unchanged in both modes.


Installation

Standalone usage

pip install datalab-kernel sigima
jupyter lab

Then select DataLab Kernel from the kernel list.

With DataLab

When installed alongside DataLab, the kernel is automatically available and can be launched directly from the DataLab interface.


Persistence and Sharing

Workspace state can be saved and reloaded:

workspace.save("analysis.h5")
workspace.load("analysis.h5")

This enables:

  • sharing notebooks and data with collaborators,
  • replaying analyses without DataLab,
  • resuming workflows inside DataLab by reopening the associated project.

Documentation

  • User contract and behavior: see plans/specification.md
  • Vision and architectural principles: see plans/architecture.md

Project Status

DataLab-Kernel is under active design and development.


License

This project is released under an open-source license (see LICENSE file).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datalab_kernel-0.1.0.tar.gz (38.8 kB view details)

Uploaded Source

Built Distribution

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

datalab_kernel-0.1.0-py3-none-any.whl (48.6 kB view details)

Uploaded Python 3

File details

Details for the file datalab_kernel-0.1.0.tar.gz.

File metadata

  • Download URL: datalab_kernel-0.1.0.tar.gz
  • Upload date:
  • Size: 38.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for datalab_kernel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 997c8f3866e41d96da8e2c974e5f2472213df3fbb67be64abdd1d063e87758c2
MD5 62bee12f44bc1429907985486a5016d9
BLAKE2b-256 eb86fa9c10cb44f61bdf9a6909b6224c1ac8fbb22a999e91d92daf39e5f2a589

See more details on using hashes here.

File details

Details for the file datalab_kernel-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: datalab_kernel-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 48.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for datalab_kernel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5cb35a057d2d0200d7fa6851a5317c9d421fd5bd3b25f027562825b5d5dba28f
MD5 f504557d3b3c6ef45d04c3982c3a0dfe
BLAKE2b-256 0da044b9b2e75e08704c4c6dd4f4d7ed412f3fe732292c1743578f979ab4b996

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