Skip to main content

daedalus-flow

Design, validate, and run labs of modules: reproducible analysis pipelines for data-intensive science.

status: alpha Python 3.12+ License: Apache-2.0

daedalus-flow runs a lab.yaml recipe of Python modules in dependency order and records provenance for every run. It has two main uses: compare methods on one dataset, and run one analysis across many targets.

Status: alpha. The command surface and the on-disk lineage format may still change before 1.0.

Quickstart

dae example minimal       # writes ./minimal/, a one-module lab
cd minimal && dae lab run # runs it under the built-in engine
dae flow status           # reads the latest run back

The run writes a provenance tree under minimal/dae-outputs/, one folder per step; the path is printed as lineage: when the run finishes. minimal needs nothing beyond the base install, and dae with no arguments prints the next step.

Install

pip install daedalus-flow

Requires Python 3.12 or newer. The base install pulls in no scientific stack. The extras add one dependency each:

Extra Adds For
demo numpy the demo reference lab
engine prefect the Prefect backend, engine: prefect in lab.yaml
viz grandalf the graph layouts of dae lab visualize --style
pip install "daedalus-flow[demo]"

Examples

dae example lists the bundled labs, simplest first; dae example <name> writes ./<name>/ and prints the next command to run.

Example Teaches
minimal one module, one step: the smallest lab that runs
ensemble one input fanned across many targets
parallel branches that run side by side, then a barrier join
isolation-nix per-module nix environments, two pinned library versions
complex a 30-module lab: nested and sibling collectors, a token-solo join
demo the exo-survey reference lab: three targets, two fitting methods (needs the demo extra)

dae module convert script.py scaffolds a module from an existing script.

Documentation

daedalus-flow.readthedocs.io holds the tutorials, how-to guides and reference. The same pages live under docs/, and dae --help covers the commands.

How to cite

Cite the software with the entry below, or use the "Cite this repository" button on GitHub, which reads CITATION.cff.

@software{daedalus-flow,
  author  = {Reller, Patricio},
  title   = {daedalus-flow: reproducible labs of modules for
             data-intensive science},
  year    = {2026},
  version = {0.1.0},
  url     = {https://github.com/preller/daedalus-flow}
}

Acknowledgments

daedalus-flow was developed by Patricio Reller (ORCID 0000-0003-3161-9239) at the Centre for Data Intensive Science and Industry, Department of Physics and Astronomy, University College London. Bruno Merín and Ingo Waldmann advised on the scientific direction. The work was co-funded by United Kingdom Research and Innovation (UKRI) through University College London, and by the European Space Agency (ESA).

License

Apache-2.0. The optional [viz] and [engine] extras pull in MPL- and EPL-licensed packages.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

daedalus_flow-0.1.0.tar.gz (713.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

daedalus_flow-0.1.0-py3-none-any.whl (266.6 kB view details)

Uploaded Python 3

File details

Details for the file daedalus_flow-0.1.0.tar.gz.

File metadata

  • Download URL: daedalus_flow-0.1.0.tar.gz
  • Upload date:
  • Size: 713.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for daedalus_flow-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b2ca19b25e37c06d4f4d5ce9e84435610d5d5d576065a6be745cc27f62e075b7
MD5 a5dc5edf89370545c41bf0895d839275
BLAKE2b-256 ab658ea5d888b890aecd672e29397f551844fc5d93b318d554b492b5a2595089

See more details on using hashes here.

Provenance

The following attestation bundles were made for daedalus_flow-0.1.0.tar.gz:

Publisher: publish.yml on preller/daedalus-flow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file daedalus_flow-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: daedalus_flow-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 266.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for daedalus_flow-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8841abae32ce44ded9a2f637fa8aabeb353579d4258043ca97499aeb0d10fd72
MD5 fdbf54baceb69bf33935c8c7e9675a60
BLAKE2b-256 b99f5772bd17c2e637cf753b580ee2e68bd0a74d91f78e77934e0d0c157fe6aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for daedalus_flow-0.1.0-py3-none-any.whl:

Publisher: publish.yml on preller/daedalus-flow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

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