Reproducible Research

Apptainer & Conda: Reproducible HPC Python Environments

March 5, 2026

Build Reproducible Python Environments with Apptainer & Conda — For HPC Researchers

Your Python script runs perfectly on your laptop. You transfer it to the cluster. Runtime fails. Missing dependencies. Version conflicts. Different Python builds. You spend hours debugging environment mismatches instead of running science.

This is the researcher’s tax: environment reproduction across machines is broken by default.

What This Solves

Apptainer (formerly Singularity) is a containerization tool built for HPC clusters. Unlike Docker, it doesn’t require root privileges and integrates seamlessly with cluster job schedulers like SLURM and PBS. Combined with Conda, it lets you package a complete, reproducible Python environment—dependencies, versions, and all—into a single .sif file that runs identically on your laptop, your colleague’s machine, and any HPC node.

Apptainer Fundamentals: Building Your First Container

March 5, 2026

Build Your First Apptainer Container Without Docker — A Practical Guide for HPC Researchers

You’ve got HPC cluster access, but containerizing your workflow feels like a black box. Singularity (now Apptainer) promises reproducibility and portability, but the documentation jumps between concepts, and you’re not sure where to start. You don’t want to learn Docker first—you just want a working container on your cluster today.

Here’s the good news: Apptainer is simpler than you think, and you don’t need Docker to get started.

Convert Markdown to Jupyter Notebooks with Jupytext

March 5, 2026

Convert Markdown to Jupyter Notebooks Using Jupytext — For Researchers Who Need Executable Code

Your Markdown files are beautiful but frozen. You’ve written detailed documentation with embedded code snippets, but they’re just text—no execution, no live plots, no way to tweak parameters and see results instantly. Jupytext solves this in one command: it transforms static Markdown into fully executable Jupyter Notebooks while keeping your source file version-control friendly.

What Jupytext Does

Jupytext is a lightweight Python library that converts Markdown files containing code blocks into executable Jupyter Notebooks (.ipynb files). It preserves your Markdown text as notebook cells while converting fenced code blocks into executable code cells. The result: interactive, reproducible research documents you can run, modify, and visualize—all from a source file that remains readable as plain Markdown.

Singularity/Apptainer: Local to Cluster Workflow

March 5, 2026

Pull, Build, and Deploy Singularity Containers from Local Machine to HPC Clusters

You’ve got terabytes of data on your HPC cluster and a Python script that works on your laptop. But moving it to the cluster means wrestling with dependency conflicts, mysterious ModuleNotFoundError messages, and copying massive datasets you don’t want to duplicate. You need a way to package your entire development environment—dependencies, libraries, Python versions—and run it anywhere without breaking it. That’s where Singularity/Apptainer comes in.