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 | sh

Single 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