Extension Jupyter Notebook


Extension Basics

Title
Jupyter Notebook
Name
ckanext-jupyternotebook
Type
Public extension
Description
Integrates JupyterHub with CKAN for executing and editing interactive Jupyter notebooks. Uses DockerSpawner for isolated user environments with guest access support.
CKAN versions
Download-Url (zip)
Last commit
18 days ago (2026-02-19 13:39:00)
Url to repo
Category
Authentication & Security


Background Infos

Description (long)
Show details

ckanext-jupyternotebook Plugin

This plugin integrates JupyterHub with CKAN, allowing users to execute and temporarily edit interactive Jupyter notebooks within the CKAN environment. The plugin makes data exploration and analysis more accessible and integrated.

Features

  • Integration of Jupyter Notebooks within CKAN
  • Temporary notebook editing and execution
  • Utilize DockerSpawner to create isolated Docker containers for each user
  • Guest user access without login
  • Admin-configurable maximum number of concurrent guest users

How it works

  1. Users access Jupyter notebooks through the CKAN interface
  2. Each user is provided with a temporary, isolated Docker container
  3. Users can edit notebook cells and install libraries during their session
  4. After a predefined timeout, all changes are automatically reverted
  5. Guest users can access notebooks without logging in, subject to availability

Architecture

The extension consists of two main components:

  1. CKAN Extension (ckanext-jupyternotebook)

    • Core CKAN plugin functionality
    • Views and templates for notebook interaction
    • Controllers for handling notebook operations
  2. JupyterHub Component (jupyterhub)

    • Runs as a separate Docker container
    • Manages notebook instances
    • Provides API endpoints for user management

Installation

git clone git@github.com:SDM-TIB/ckanext-jupyternotebook.git
pip install -e ./ckanext-jupyternotebook
pip install -r ./ckanext-jupyternotebook/requirements.txt
Version
0.0.1
Version release date
(not set)
Contact name
Ariam Rivas
Contakt email
Contact Url
(not set)


Installation Guide

Configuration hints

Requires JupyterHub component running as Docker container. Configure env vars for JupyterHub URL, timeout, user limits, CPU/memory limits.

Plugins to configure (ckan.ini)
jupyternotebook
CKAN Settings (ckan.ini)
# CKAN_JUPYTERNOTEBOOK_URL=https://your-domain/jupyter/
# CKAN_JUPYTERHUB_BASE_URL=/your-path/jupyter
# CKAN_NETWORK=your-docker-network
# CKAN_STORAGE_NOTEBOOK=/path/to/notebook/storage
# CKAN_API_JUPYTERHUB=http://jupyterhub:6000
# CKAN_JUPYTERHUB_TIMEOUT=1200
# CKAN_JUPYTERHUB_USER=100
# CKAN_JUPYTERHUB_PERCENTAGE_CPU=50
# CKAN_JUPYTERHUB_MEMORY_LIMIT=1G
DB migration to be executed
(not set)
<< back to Extensions