denim 0.2.0

Denim is an alternative way to make and run Rust "scripts" with focus on minimal runtime overhead and ease of script development.
denim-0.2.0 is not a library.

Latest Version Documentation License

Denim is an alternative way to make and run Rust "scripts" with focus on minimal runtime overhead and ease of script development.

Features

  • Full real-time output of cargo command runs.
  • Support for Cargo.toml definitions within script source.
  • Sensible script templates.
  • Very low execution overhead after script was built.
  • #! support.
  • Create, build and tests scripts without interrupting existing script callers.

Non-goals

  • Run inline scripts - use cargo script(er) for this.
  • Non-Linux support.

Installation

You will need Rust installed (tested with 1.64.0).

cargo install denim

Examples

Crate new minimal script and build it.

denim new --bare hello_world

Crate new cotton prelude script and build it (this will take a moment).

denim new hello_world

Now you can run the script as any other binary. Note that you can also run the script without building it first - the build will be done silently before program is executed.

./hello_world

After making changes to script it needs to be rebuild for them to take effect. Executing script directly (e.g. ./hello_world) will execute last built version until changed script builds successfully.

denim build hello_world

Rebuild and run script after making changes.

denim run hello_world

Run tests.

denim test hello_world

Check script.

denim check hello_world