Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Install

Dedalo is one crate that builds one binary. Pick whichever of these fits how you already install things.

From crates.io

cargo install dedalo --locked

--locked builds against the dependency versions the release was tested with. Without it Cargo is free to pick newer ones, which is usually fine and occasionally is not the thing you want from a tool that computes payments.

Prebuilt binary, no compile

cargo binstall dedalo

cargo-binstall reads the metadata in Cargo.toml, fetches the release archive for your platform from the releases page, and skips the compile.

Install script

curl -fsSL https://raw.githubusercontent.com/dedalo-org/dedalo/main/install.sh | sh

The script verifies the published SHA-256 before it installs anything.

Note — piping a script from the network into a shell is a thing worth being awake for. Read install.sh first if you have not; it is short, and it is the same file the checksum covers.

Platforms

Releases are built for five targets:

TargetNotes
x86_64-unknown-linux-gnu
x86_64-unknown-linux-muslstatic, for containers and CI images
aarch64-apple-darwinApple silicon
x86_64-apple-darwinIntel macs
x86_64-pc-windows-msvcpublished as .zip

Every archive ships with a SHA-256 checksum and signed build provenance. To check that a binary came from this repository’s release workflow and not from somewhere else:

gh attestation verify dedalo --repo dedalo-org/dedalo

In a GitHub workflow

Do not install it by hand. Dedalo ships as an action:

- uses: dedalo-org/dedalo@v0
  with:
    command: plan
    amount: "1000"

See In CI for the whole job, including the fetch-depth: 0 that attribution needs.

As a library

The binary is a thin shell over the library in the same crate. Turning the default features off leaves the pipeline without clap, tokio or a tracing subscriber:

[dependencies]
dedalo = { version = "0.1", default-features = false }

See Using the library.

Building from a clone

git clone https://github.com/dedalo-org/dedalo
cd dedalo
cargo build --release

rustup reads rust-toolchain.toml on entry, so you get the compiler CI uses without choosing one. The minimum supported version is 1.90.0, and it is verified rather than asserted: CI builds with exactly that compiler on every pull request.

Check it worked

$ dedalo --version
dedalo 0.1.0