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

app rust-script

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

33 breaking releases

0.34.0 Sep 26, 2023
0.32.0 Sep 26, 2023
0.30.0 Jul 27, 2023
0.23.0 Mar 25, 2023
0.9.0 Nov 4, 2020

#121 in Development tools

Download history 1058/week @ 2023-12-23 2074/week @ 2023-12-30 3287/week @ 2024-01-06 2958/week @ 2024-01-13 2641/week @ 2024-01-20 4104/week @ 2024-01-27 3053/week @ 2024-02-03 2218/week @ 2024-02-10 3529/week @ 2024-02-17 3669/week @ 2024-02-24 3844/week @ 2024-03-02 5726/week @ 2024-03-09 2818/week @ 2024-03-16 2226/week @ 2024-03-23 2207/week @ 2024-03-30 2337/week @ 2024-04-06

10,918 downloads per month

MIT/Apache

82KB
2.5K SLoC

CI Crates.io MSRV

rust-script

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

$ cargo install rust-script
[...]

$ cat script.rs
#!/usr/bin/env rust-script
//! 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);
}

$ ./script.rs
A random number: 9240261453149857564

Rust version 1.64 or newer required.

See the documentation at rust-script.org.

  • 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.

License

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

Dependencies

~7–18MB
~238K SLoC