Table of Contents
Fetching ...

Packaging Jupyter notebooks as installable desktop apps using LabConstrictor

Iván Hidalgo-Cenalmor, Marcela Xiomara Rivera Pineda, Bruno M. Saraiva, Ricardo Henriques, Guillaume Jacquemet

TL;DR

LabConstrictor closes the deployment gap by bringing CI/CD-style automation to academic developers without needing DevOps expertise and allows faster access to new computational methods and promotes routine reuse across labs.

Abstract

Life sciences research depends heavily on open-source academic software, yet many tools remain underused due to practical barriers. These include installation requirements that hinder adoption and limited developer resources for software distribution and long-term maintenance. Jupyter notebooks are popular because they combine code, documentation, and results into a single executable document, enabling quick method development. However, notebooks are often fragile due to reproducibility issues in coding environments, and sharing them, especially for local execution, does not ensure others can run them successfully. LabConstrictor closes this deployment gap by bringing CI/CD-style automation to academic developers without needing DevOps expertise. Its GitHub-based pipeline checks environments and packages notebooks into one-click installable desktop applications. After installation, users access a unified start page with documentation, links to the packaged notebooks, and version checks. Code cells can be hidden by default, and run-cell controls combined with widgets provide an app-like experience. By simplifying the distribution, installation, and sharing of open-source software, LabConstrictor allows faster access to new computational methods and promotes routine reuse across labs.

Packaging Jupyter notebooks as installable desktop apps using LabConstrictor

TL;DR

LabConstrictor closes the deployment gap by bringing CI/CD-style automation to academic developers without needing DevOps expertise and allows faster access to new computational methods and promotes routine reuse across labs.

Abstract

Life sciences research depends heavily on open-source academic software, yet many tools remain underused due to practical barriers. These include installation requirements that hinder adoption and limited developer resources for software distribution and long-term maintenance. Jupyter notebooks are popular because they combine code, documentation, and results into a single executable document, enabling quick method development. However, notebooks are often fragile due to reproducibility issues in coding environments, and sharing them, especially for local execution, does not ensure others can run them successfully. LabConstrictor closes this deployment gap by bringing CI/CD-style automation to academic developers without needing DevOps expertise. Its GitHub-based pipeline checks environments and packages notebooks into one-click installable desktop applications. After installation, users access a unified start page with documentation, links to the packaged notebooks, and version checks. Code cells can be hidden by default, and run-cell controls combined with widgets provide an app-like experience. By simplifying the distribution, installation, and sharing of open-source software, LabConstrictor allows faster access to new computational methods and promotes routine reuse across labs.
Paper Structure (7 sections, 2 figures)

This paper contains 7 sections, 2 figures.

Figures (2)

  • Figure 1: LabConstrictor overview. High-level schema showing how developer inputs (Jupyter notebooks, optional external Python code, and dependency specifications) populate a GitHub template repository to produce OS-specific installers, a desktop application, and a guided notebook experience in JupyterLab.
  • Figure 2: LabConstrictor workflow for developers and end-users. (A) Authors prepare notebooks (and optional assets), initialize a custom repository from the LabConstrictor template, generate or curate requirements, and submit notebooks and dependencies through web forms (steps 1–5). GitHub Actions automate validation, notebook formatting, and environment setup (step A), and handle release packaging and generate installers for Windows, macOS, and Linux (step B). (B) End users install the desktop app via a standard installer, launch a local JupyterLab session with a welcome notebook for navigation, and run notebooks with reduced code exposure and simple execution controls.