Welcome to Album’s documentation!

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.

Where to go next

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.

Contents: