Welcome to Album’s documentation!

PyPI version conda-forge version Supported Python versions Docker pulls Pipeline status MIT license arXiv paper Helmholtz Research Software Directory Helmholtz Imaging CONNECT

Album is an open-source framework that turns scientific routines into executable building blocks — and organizes them into a shareable, versioned, executable library of research software.

Album is built around two minimal primitives:

  • a solution — a single Python entry point that bundles metadata, arguments, an environment specification, and lifecycle hooks (install / run / test) for a scientific routine;

  • a catalog — a decentralized, git-native collection of solutions with an indexed search and an optional rendered website for discovery, provenance, and governance.

A solution is language-agnostic in practice: it can wrap tools implemented in Python, C++, R, Java, Kotlin, ImageJ/Fiji, napari, Blender, and more. Each solution declares its own micromamba environment and gets that environment provisioned in isolation at install time, so routines with conflicting dependencies coexist on one machine. Crucially, the optional post-environment install hook lets a solution download model weights, compile components, fetch external assets, or wire up GUI tools — capturing setup steps that a plain conda-style environment file cannot express. Together, these features are what make heterogeneous tools usable as building blocks of an executable library.

Solutions are reproducible, composable, and easy to evolve through an iterative Search → Implement → Share & Scale → Finalize cycle.

Iterative, collaboration-driven research-software cycle

Album supports an iterative, collaboration-driven research-software cycle: discover existing routines, adapt and validate them, share and scale them with collaborators, then finalize them for long-term reuse (from arXiv:2110.00601, Fig. 1).

Album is FAIR-aligned by design — solutions are Findable through catalog indexes and (optionally) Zenodo DOIs, Accessible via a single album install regardless of the underlying tool stack, Interoperable through typed arguments and parent/child solution reuse, and Reusable thanks to versioned, environment-pinned, executable artifacts. Album complements — rather than replaces — package managers, workflow engines, and container runtimes. It is released under the MIT license.

Because each solution is a single Python file with a machine-readable manifest, it is also amenable to LLM-assisted authoring: an LLM can draft a solution.py from natural-language requirements, and you validate it with album test before deploying. See Developing solutions for details.

Get Album

Double-click installers for Windows, macOS and Linux set up micromamba, Album and the graphical interface in ~/.album. Download them from Installing Album.

Recommended for the command line, also installs git:

micromamba create -n album album -c conda-forge
micromamba activate album

Package page: anaconda.org/conda-forge/album

Needs git on your system:

pip install album

Package page: pypi.org/project/album

The image runs the album command:

docker run --rm albumsolutions/album index

Images of every release: hub.docker.com/r/albumsolutions/album

Where to go next

Album on the web

Website

album.solutions

https://album.solutions
PyPI

Python package

https://pypi.org/project/album/
conda-forge

conda package

https://anaconda.org/conda-forge/album
Helmholtz RSD

Software directory

https://helmholtz.software/software/album
Paper

arXiv:2110.00601

https://arxiv.org/abs/2110.00601

Citing Album

If you use Album in academic work, please cite the project paper:

Albrecht, J. P., Schmidt, D., Rieckert, L., Otto, M. & Harrington, K. Album: executable building blocks for scientific imaging routines, from sharing to LLM-assisted orchestration. arXiv:2110.00601.

Citing Album has a BibTeX entry, explains how to cite individual solutions and lists publications that used Album.

Contents: