Rust Development tools

Open-source Rust projects categorized as Development tools

Top 23 Rust Development tool Projects

Development tools
  1. just

    🤖 Just a command runner

    Project mention: I'll think twice before using GitHub Actions again | news.ycombinator.com | 2025-01-20

    theoretically we could also use https://just.systems/ or https://mise.jdx.dev/ instead of directly calling gh actions but I haven't tried gh actions personally yet , If its really the nightmare you are saying , then that's sad.

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. PyO3

    Rust bindings for the Python interpreter

    Project mention: Rust Bindings for the Python Interpreter | news.ycombinator.com | 2025-01-11
  4. Clippy

    A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/

    Project mention: Automated Testing and Dev Containers | dev.to | 2024-11-15

    Firstly, I added a section to run the code formatter rustfmt and the linter clippy:

  5. Rustup

    The Rust toolchain installer

    Project mention: Go automatically downloads a newer toolchain if needed | news.ycombinator.com | 2024-08-20

    It seems like that will change in the (near) future according to the following github issue[0]. A quote from one of the developers, rami3l, in that thread[1]:

    > My current plan is indeed to remove implicit installations entirely.

    [0]: https://github.com/rust-lang/rustup/issues/3635

    [1]: https://github.com/rust-lang/rustup/issues/3635#issuecomment...

  6. rustfmt

    Format Rust code

    Project mention: Automated Testing and Dev Containers | dev.to | 2024-11-15

    Firstly, I added a section to run the code formatter rustfmt and the linter clippy:

  7. Racer

    Rust Code Completion utility

  8. CodeLLDB

    A native debugger extension for VSCode based on LLDB

  9. cargo-make

    Rust task runner and build tool.

    Project mention: Static search trees: 40x faster than binary search | news.ycombinator.com | 2024-12-31

    Well, I don't use makefiles to deploy software with Rust. I also have never used lex or yacc, but I bet there are similar tools in the ecosystem, or wrappers for those. That would obviate what I will offer below.

    Often a new language in a project would define an application boundary. So those would be different containers or services. I may deploy via container images, or an OS specific installer, etc. If we aren't crossing an application boundary I may use FFI. Sometimes I use https://rust-lang.github.io/rust-bindgen/ to smooth that over for C dependencies. There is also a nice concept called a build.rs file: https://doc.rust-lang.org/cargo/reference/build-script-examp.... There's also tools like: https://github.com/casey/just and https://sagiegurari.github.io/cargo-make/

    I rarely use multiple languages with Rust. A lot of interpreted languages have bindings through crates and can go in to a project through Cargo. If it involves JS/TS on desktop, I'm usually using Tauri for that. Guess it depends on the system?

    Hopefully that helps. You can also still use a Makefile if you want I just haven't dealt with one in a long time.

  10. tarpaulin

    A code coverage tool for Rust projects

  11. cbindgen

    A project for generating C bindings from Rust code

    Project mention: SlateDB – An embedded database built on object storage | news.ycombinator.com | 2024-10-01

    Rust is just another programming language that’s quite similar to C++. The main difference is there’s like 4 types for String (some are references and some are owned) and methods for a struct go in a `impl StructName` block after the struct definition instead of inside it.

    I don’t really know rust either but I’m currently writing some bindings to expose Rust libraries to NodeJS and not having too much trouble.

    For rust -> c++ I googled one time and found this tool which Mozilla seems to use to call Rust from C++ in their web browser, maybe it would “just work”: https://github.com/mozilla/cbindgen?tab=readme-ov-file

  12. quickcheck

    Automated property based testing for Rust (with shrinking).

  13. rust-cpython

    Rust <-> Python bindings

  14. proptest

    Hypothesis-like property testing for Rust

    Project mention: Proptest: property testing in Rust | dev.to | 2024-12-27

    In this post, I will tell you how I used property testing with the Proptest library in Rust to ensure the correctness of a bunch of generated serialization/deserialization code for the Apache Kafka protocol.

  15. afl.rs

    🐇 Fuzzing Rust code with American Fuzzy Lop

  16. cargo-release

    Cargo subcommand `release`: everything about releasing a rust crate.

    Project mention: Changelog-Driven Releases | news.ycombinator.com | 2024-04-23

    My problem with maintaining a changelog during development is it can serve as a source of merge conflicts. Instead, I follow Covnentional Commit style and manually write my changelog entries based on the commits. I have a tool [0] that can show me the relevant commits for a package in my repo and automates the entire release process, including doing sanity checks.

    I also feel like releasing from CI is hard, especially if you have multiple packages in a repo [1], including

    - You can't as easily introspect the process

    - You can't as easily recover from failure

    - Getting a lot of the nuance right, like handling releases concurrent to merging of PRs, is difficult

    - When the workflow is an ever-present "release PR" that you merge when ready has issues with selecting which packages to release and at what version

    I have been considering making a tool to generate changelogs from fragments. Been keeping notes at https://github.com/epage/epage.github.io/issues/23

    [0]: https://github.com/crate-ci/cargo-release

    [1]: https://github.com/MarcoIeni/release-plz/discussions/1019

  17. jni-rs

    Rust bindings to the Java Native Interface — JNI

  18. cargo-update

    A cargo subcommand for checking and applying updates to installed executables

  19. xargo

    The sysroot manager that lets you build and customize `std`

  20. cargo-modules

    Visualize/analyze a Rust crate's internal structure

  21. clog-cli

    Generate beautiful changelogs from your Git commit history

  22. Mockito

    HTTP mocking for Rust! (by lipanski)

  23. j4rs

    Java for Rust

    Project mention: J4rs – 'Java for Rust' allows effortless calls to Java from Rust and vice-versa | news.ycombinator.com | 2024-09-26
  24. stainless

    Organized, flexible testing framework for Rust

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Rust Development tools discussion

Log in or Post with

Rust Development tools related posts

Index

What are some of the best open-source Development tool projects in Rust? This list will help you:

# Project Stars
1 just 23,257
2 PyO3 12,802
3 Clippy 11,655
4 Rustup 6,254
5 rustfmt 6,136
6 Racer 3,356
7 CodeLLDB 2,658
8 cargo-make 2,635
9 tarpaulin 2,580
10 cbindgen 2,500
11 quickcheck 2,440
12 rust-cpython 1,813
13 proptest 1,774
14 afl.rs 1,676
15 cargo-release 1,371
16 jni-rs 1,293
17 cargo-update 1,266
18 xargo 1,094
19 cargo-modules 1,022
20 clog-cli 865
21 Mockito 703
22 j4rs 662
23 stainless 454

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com

Did you know that Rust is
the 5th most popular programming language
based on number of references?