
A lightweight DAG scheduler for R
Define multi-step R workflows in YAML. Run them with a single binary.
curl -fsSL https://raw.githubusercontent.com/cynkra/daggle/main/install.sh | shSingle Binary
One go build produces a static binary. No database, no message broker, no Python. The only prerequisite is R.
YAML-Defined
Declarative DAG definitions: easy to read, diff, and review. A JSON Schema is provided for editor autocomplete.
R-Native
Every step is assumed to be R. Auto-detects renv, enforces R version constraints, parses R-specific outputs. 27 step types from script: to targets: to connect:.
Built-in Dashboard
daggle serve --port 8787 serves a read-only status UI alongside the REST API. For custom dashboards, wrap the API with daggleR + Shiny.
daggle sits between cron + Rscript and heavy workflow engines like Airflow. It knows what R is, how R fails, and what R users need to automate.
| Question | Before daggle | With daggle |
|---|---|---|
| When should this run? | crontab | trigger: { schedule: ... } in YAML |
| What if it fails? | Check syslog manually | Retries with exponential backoff, on_failure hooks |
| What if it hangs? | Kill it manually | Timeout with SIGTERM/SIGKILL to entire process group |
| Who gets told? | Nobody | Hooks (R expressions – slackr, blastula, whatever you want) |
| What happened last time? | cat /var/log/syslog |
daggle status, structured events |
| Can independent steps run in parallel? | No | Automatic from DAG structure |