rust-script
cargo-script-mvs
Our great sponsors
rust-script | cargo-script-mvs | |
---|---|---|
25 | 9 | |
1,126 | 35 | |
- | - | |
8.0 | 5.3 | |
3 months ago | 20 days ago | |
Rust | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rust-script
-
Rust 101
There is also rust-script[1] which runs "Rust files and expressions as scripts without any setup or compilation step." I wrote a data loader[2] in it for my Observable Framework project and have been very happy with its performance and overall ease including hot-reloading.
[1] https://rust-script.org
[2] https://observablehq.com/framework/loaders#routing
-
How to convince my boss that Rust is usable
To address your concerns about non-trivial building process making Rust less suitable for small scripts : https://rust-script.org/ Work is actively being done. (not by me)
-
I made a scriptable spaced repetition CLI with Rust and Rhai!
I started this as a little script made with rust-script, which took only a few hours to mock up, and then I was able to refactor the core logic into a much larger scriptable system over only about a day. And, Rust being Rust, it worked first time once I got it compiling! Also, I have to say, having a full-blown custom scripting engine just work is a novelty coming from web programming, and Rhai is a great choice if you need this sort of functionality in your own projects!
-
Organizing a large collection of Rust "scripts"?
Use rust-script ! Instead of having a folder for each script, your script could be a single file, just like you would in python. Then you can put all the files in a single directory with a readme describing the functionality and use-case of each script.
-
Pre-RFC: `cargo-script` for everyone
In case you didn't notice in the Prior Art section, rust-script is the most actively maintained descendant of cargo-script (from which the cargo-eval crate is forked as well).
-
Rust tech stack
Someone even wrote https://rust-script.org/ to make that "shell scripting using Rust" use-case more convenient.
-
would you use rust for scripting?
Is rust-script close enough?
-
Why is Rust always advertised as system programming not general purpose programming?
That may have been more of the originator of the idea, but what I believe I had used was rust-script, looking into it more. That one isn't maintained.
-
How has learning Rust been a benefit to you in other programming areas?
If you want that, check out rust-script.
- rust-analyzer changelog #134
cargo-script-mvs
-
This Week in Rust #497
The eRFC was intentionally light on details so the Pre-RFC / IRLO thread and the demo best reflect what we hope to accomplish which are pretty detailed as-is.
-
Rust went from side project to world’s fastest growing language
> A) is easy to write one off scripts that do a job fast, with minimal thinking and effort. I am thinking of Python and Ruby. For me I can write code with high velocity in these languages.
Once I wrap up some other projects, I plan to explore this space a little bit within Rust.
imo the biggest bang for the buck is just having good `#!` support. Probably mid-year I expect to have a Pre-RFC up for single-file cargo packages. See https://github.com/epage/cargo-script-mvs/discussions/15.
A bigger effort is a batteries included, non-zero cost stdlib. I've started writing up my thoughts at https://github.com/ergo-rs/ergo.
For more background on why I think these are important, see https://epage.github.io/blog/2021/09/learning-rust/.
Would love feedback on these ideas and other ways to make Rust easy to use without sacrificing what makes Rust it is.
-
Rust as bash scripting replacement?
This is something I'm interested. Every time I write a bash or Python script, I think "why didn't I do this in Rust?". The first barrier is in the same line as your thoughts which is why I've been investigating the various cargo-script spin-offs and working towards an MVP for a Pre-RFC.
-
Val on Programming: What makes a good REPL?
Something I've been thinking a lot about for Rust is what can and should a REPL experience be for a compiled language (ie what are reasonable compromises).
There seem to be two repls that haven't gotten much traction:
- https://github.com/google/evcxr/blob/main/evcxr_repl/README....
- https://github.com/sigmaSd/IRust
There have been little and big nits that have held me back from wanting to push these further, including
- Bad defaults (having to opt-in to panic handling)
- Command syntax feeling out of place and likely not beginner friendly
- Limits on variable preservation
- Lack of introspection (at least irust as `:type`)
So far I've been punting on wanting to improve this area by instead focusing on polishing up a rust script solution in the hopes of getting it merged: https://github.com/epage/cargo-script-mvs
-
Quick Tip: You don't need to create a new cargo project if you want to test if something works in rust
rust-script is the most up-to-date version I could find. See https://github.com/epage/cargo-script-mvs/discussions/15
-
Creating an Easy Mode for Rust
cargo-script has been forked or reimplemented several times.
-
clap with Ed Page :: Rustacean Station
cargo-script: I've done some initial analysis and recorded my thoughts on what cargo-script in Rust should look like. If people are interested in this or other individual / company on-boarding improvements, I'd love to talk!
-
When not to use Rust?
Fully agree with this though I also feel there is room for experimentation and improvement in this area. I've previously blogged on this and have started researching cargo-script. Hopefully later I'll get to my standard-adjacent library.
What are some alternatives?
cargo-script - Cargo script subcommand
evcxr
gcpp - Experimental deferred and unordered destruction library for C++
rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]
dotfiles - My configuration files and personal collection of scripts.
IRust - Cross Platform Rust Repl
cargo-script - Cargo script subcommand
team - CLI working group
rust-cli-boilerplate - Rust project boilerplate for CLI applications
runner - Tool for running Rust snippets