Skip to main content

Absconda

PyPI version License: MIT Python 3.10+

Turn conda environments into optimized container images for development and HPC deployment.

Absconda bridges the gap between conda's reproducible environments and container-based workflows. Define your scientific computing environment once with conda, then deploy it anywhere—Docker, Singularity/Apptainer, HPC clusters—with production-ready optimizations.

Key Features

🚀 Multi-Stage Builds - Automatic optimization that reduces image sizes by 40-60%
🔐 Policy Validation - Enforce security and compliance rules organization-wide
🏗️ Remote Builders - Offload builds to cloud instances with automatic provisioning
🧪 HPC Integration - Singularity/Apptainer support with module files and wrappers
📦 R + renv Support - Combine conda environments with R package management
🎯 Flexible Deployment - Multiple modes: full-env, tarball, requirements, export-explicit
🔧 Custom Templates - Jinja2-based system for advanced customization

Quick Start

Installation

# Install from PyPI
pip install absconda

# Or with pipx (recommended)
pipx install absconda

# Verify installation
absconda --version

Basic Usage

1. Create a conda environment file:

# environment.yaml
name: my-analysis
channels:
  - conda-forge
  - bioconda
dependencies:
  - python=3.11
  - numpy=1.26
  - pandas=2.1
  - scikit-learn=1.3

2. Build a Docker image:

absconda build \
  --file environment.yaml \
  --repository ghcr.io/myorg/my-analysis \
  --tag latest \
  --push

3. Use the image:

docker run --rm ghcr.io/myorg/my-analysis:latest python -c "import numpy; print(numpy.__version__)"

For HPC with Singularity:

# Build, push, pull SIF, and generate wrappers + module in one step
absconda deploy \
  --file environment.yaml \
  --repository ghcr.io/myorg/my-analysis \
  --tag latest \
  --commands python,pip,jupyter

# Or build/push first, then deploy from the image reference
absconda publish \
  --file environment.yaml \
  --repository ghcr.io/myorg/my-analysis \
  --tag latest

absconda deploy ghcr.io/myorg/my-analysis:latest \
  --commands python,pip,jupyter

See the Quick Start Guide for a complete walkthrough.

Documentation

For New Users

Guides

How-To Guides

Examples

Complete working examples with explanations:

Reference

For Contributors

Why Absconda?

The Problem

Scientific computing has conflicting requirements:

  • Reproducibility: Need exact package versions
  • Portability: Must run on laptops, HPC clusters, cloud
  • Performance: Large conda environments create huge containers
  • HPC Reality: Singularity/Apptainer, not Docker; module systems, not Docker Compose

The Solution

Absconda solves this by:

  1. Starting with conda - Use the ecosystem you already know
  2. Optimizing automatically - Multi-stage builds reduce image sizes by 40-60%
  3. Targeting HPC - Native Singularity support with modules and wrappers
  4. Enforcing policies - Organization-wide security and compliance
  5. Enabling remote builds - Build on powerful cloud instances, not your laptop

Compared to Alternatives

Feature Absconda repo2docker docker-conda Manual Dockerfile
Multi-stage optimization ✅ Automatic ❌ No ❌ No ⚠️ Manual
Singularity integration ✅ Built-in ❌ No ❌ No ⚠️ Manual
HPC modules ✅ Built-in ❌ No ❌ No ⚠️ Manual
Policy enforcement ✅ Yes ❌ No ❌ No ❌ No
Remote builders ✅ Yes ❌ No ❌ No ❌ No
R + renv support ✅ Yes ⚠️ Limited ❌ No ⚠️ Manual
Custom templates ✅ Jinja2 ❌ No ❌ No ✅ Full control

Real-World Example

Complete workflow for deploying to NCI Gadi HPC:

# 1. Build optimized Docker image (locally or on GCP)
absconda build \
  --file rnaseq-env.yaml \
  --repository ghcr.io/lab/rnaseq \
  --tag v1.0 \
  --remote-builder gcp-builder \
  --push

# 2. Deploy to HPC: pull SIF, generate wrappers and module
ssh gadi.nci.org.au
absconda deploy ghcr.io/lab/rnaseq:v1.0 \
  --commands python,pip \
  --image-cache /apps/rnaseq/v1.0 \
  --output-dir /apps/rnaseq/v1.0/wrappers \
  --module-dir /apps/Modules/modulefiles

# 3. Use in PBS job
module load rnaseq/v1.0
python analysis.py  # Uses containerized environment transparently

The result: reproducible, optimized, compliant environments deployed consistently from development through production.

Use Cases

🔬 Research Computing

  • Reproducible analysis pipelines
  • Sharing environments with collaborators
  • Publishing with computational papers
  • Archive environments for long-term reproducibility

🏢 Multi-User HPC

  • Centralized environment management
  • Policy enforcement across teams
  • Module system integration
  • Singularity deployment at scale

☁️ Cloud + HPC Hybrid

  • Build in cloud (fast, powerful VMs)
  • Deploy to HPC (Singularity)
  • Consistent environments across platforms
  • Cost-optimized with remote builders

🧬 Bioinformatics

  • Bioconda + R/Bioconductor workflows
  • GPU-accelerated analysis
  • Large-scale genomics pipelines
  • Compliance with data policies

Project Status

Absconda is production-ready and actively maintained. It powers scientific computing workflows for research teams at the Garvan Institute and beyond.

Current version: 0.2.5
Python support: 3.10, 3.11, 3.12, 3.13+
License: MIT

Getting Help

Contributing

Contributions welcome! See Contributing Guide.

Areas needing help:

  • Documentation improvements
  • Example workflows
  • Testing on different platforms
  • Feature requests and feedback

Acknowledgments

Developed at the Garvan Institute of Medical Research by the Swarbrick Lab.

Built with:

License

MIT License - see LICENSE for details.


Ready to get started? → Installation Guide

Have questions? → GitHub Discussions

Metadata

Release files for absconda 0.4.0

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

Source distribution (sdist)

Source distribution for absconda 0.4.0
File Size Uploaded Provenance Actions
absconda-0.4.0.tar.gz 92.8 kB With provenance Details for absconda-0.4.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for absconda 0.4.0
File Interpreter ABI Platform Actions
absconda-0.4.0-py3-none-any.whl Python 3 none any Details for absconda-0.4.0-py3-none-any.whl

Total release size: 171.5 kB

Release files / absconda-0.4.0.tar.gz

Download URL absconda-0.4.0.tar.gz
Size 92.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b1a25b280f1af834ccfc763f65ffc9e2f569769c4210c56eeec842869a7a8f23
BLAKE2b-256 checksum
How to use checksums
84ec4662f8202821a822167582d59e76bbca9536cc112ec74ffd0b3d2e242c1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / absconda-0.4.0-py3-none-any.whl

Download URL absconda-0.4.0-py3-none-any.whl
Size 78.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3cf8116d09725042299833f2f32ce0c93791041e016beca7ea5431297ec388c5
BLAKE2b-256 checksum
How to use checksums
5ff54a4d1ff3f1e755d6b6740a5b775b47b63f2b7bcfc6c072ab4b7b5c2b0242
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Security for absconda 0.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for absconda-0.4.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files Full provenance

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