#cargo-script #script #cargo #command-line-tool #script-file

app runrust

Command-line tool to run Rust "scripts" which can make use of crates

2 stable releases

10.34.2 May 7, 2024

#1025 in Development tools

MIT/Apache

83KB
2.5K SLoC

runrust - Run Rust script

MSRV

  • Original rust-script :

    • rust-script CI Crates.io/rust-script
  • runrust :

    • runrust CI Crates.io/runrust

Run Rust script files without any setup or explicit compilation step, with seamless use of crates specified as dependencies inside the scripts.

  • Example:

set -e

cargo install runrust

cat - << EOF > my-rust-script.rs
#!/usr/bin/env runrust
//! Dependencies can be specified in the script file itself as follows:
//!
//! ```cargo
//! [dependencies]
//! rand = "0.8.0"
//! ```
use rand::prelude::*;
fn main() {
    let x: u64 = random();
    println!("A random number: {}", x);
}
EOF

chmod -c u+x my-rust-script.rs

./my-rust-script.rs
  • Output:
A random number: 9240261453149857564

Rust version 1.64 or newer required.

See the documentation at codeiter.github.io/runrust.

  • rust-script - the original project that runrust was forked from.
  • cargo-script - the unmaintained project that rust-script was forked from.
  • cargo-eval - maintained fork of cargo-script.
  • cargo-play - local Rust playground.
  • runner - tool for running Rust snippets.
  • scriptisto - language-agnostic "shebang interpreter" that enables you to write scripts in compiled languages.
  • official cargo-script RFC - in progress integration into cargo

License

runrust is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

Dependencies

~8–19MB
~259K SLoC