Rust Development tools

Open-source Rust projects categorized as Development tools

Top 23 Rust Development tool Projects

  • Clippy

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

    Project mention: -🎄- 2022 Day 1 Solutions -🎄- | reddit.com/r/adventofcode | 2022-11-30

    This includes: - rust-analyzer as the LSP. It will give you a lot of auto-completions, auto-imports, rename symbol etc. - rust-fmt for formatting. This will let you forget about formatting, and make your code more readable for others. - clippy for linting. Clippy is one of my biggest reasons for liking rust, it's awesome

  • just

    🤖 Just a command runner

    Project mention: Why you should adopt Makefile in all of your projects | reddit.com/r/programming | 2022-11-29

    Also check out just - similar to Make but with several improvements: no .PHONY targets, multiple language support, env var handling, command line arguments, automatic listing of targets, basic flow control and string manipulation functions, and command line completion. It's almost a drop-in replacement for make but with much better capabilities and ergonomics.

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

  • PyO3

    Rust bindings for the Python interpreter

    Project mention: Is the statement true, that Python and its ecosystem lacks speed for mission-critical large-scale applications? | reddit.com/r/Python | 2022-11-27

    Rust: https://github.com/PyO3/pyo3

  • neon

    Rust bindings for writing safe and fast native Node.js modules.

    Project mention: Zig, the Small Language | news.ycombinator.com | 2022-09-07

    > rust is not well-suited for interfacing with FFI

    How so? Packages like neon [1] and rustler [2] suggest otherwise. I'm using both of those in a real product (I'm using neon directly, to write native modules for an Electron app; on the back-end, I depend on an Elixir package that uses rustler).

    [1]: https://github.com/neon-bindings/neon

    [2]: https://github.com/rusterlium/rustler

  • Rustup

    The Rust toolchain installer

    Project mention: rustup docs command opens pgadmin4 app instead | reddit.com/r/rust | 2022-10-21

    I’m looking through the rustup code trying to figure out how it actually opens the web browser.

  • rustfmt

    Format Rust code

    Project mention: Adding formatter and linter to rost_gen | dev.to | 2022-11-04

    This week, I added a formatter and linter to rost_gen (a static site generator) to improve the readability of the code and fix common issues automatically. I chose to use rustfmt for the formatter and rust-clippy for the linter.

  • Rust Language Server

    Repository for the Rust Language Server (aka RLS)

    Project mention: [RFC] Generate Cabal files from TOML | reddit.com/r/haskell | 2022-07-27

    LSP support seems to be lacking as well, at least rust doesn't seem to have Cargo.toml support? https://github.com/rust-lang/rls/issues/785

  • Scout APM

    Truly a developer’s best friend. Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.

  • Racer

    Rust Code Completion utility

    Project mention: Disable Racer and eldoc? | reddit.com/r/DoomEmacs | 2022-02-05

    I recently have decided to switch to it full time, and I've encountered some annoyances while developing in Rust in it. The default rust setup uses eldoc combined with racer, which has been deprecated for a while now, for auto completion and stuff like that.

  • quickcheck

    Automated property based testing for Rust (with shrinking).

    Project mention: Property-Based Testing in Rust with Arbitrary | reddit.com/r/rust | 2022-10-31

    I'm aware of Hypothesis and its approach, but the connection between Hypothesis and arbitrary is indeed non-obvious. Even looking over the API docs again, the most I could pick up was this on the docs of Unstructured:

  • tarpaulin

    A code coverage tool for Rust projects

    Project mention: Rust project test coverage | reddit.com/r/rust | 2022-10-14
  • cargo-make

    Rust task runner and build tool.

    Project mention: Anyone use Rust to build SaaS web apps professionally? | reddit.com/r/rust | 2022-09-11

    Cargo is a pretty robust build tool on it's own, but for that extra automated workflow oomph, I also use cargo-make

  • rust-cpython

    Rust <-> Python bindings

    Project mention: How does Rust Python ffi work? | reddit.com/r/rust | 2022-05-10

    I've never used pyo3, just cpython, but the latter at least let me do things like:

  • cbindgen

    A project for generating C bindings from Rust code

    Project mention: Hey Rustaceans! Got a question? Ask here! (47/2022)! | reddit.com/r/rust | 2022-11-21

    Or alternatively cbindgen to create the header file from the Rust source.

  • CodeLLDB

    A native debugger extension for VSCode based on LLDB

    Project mention: using VScode codeLLDB | reddit.com/r/rust | 2022-08-30

    yeah since they updated the rust compiler for windows to use a different style of debugger symbols and since they changed that in CodeLLDB the variables output have not been the same. Though i believe the owner has been trying to fix it. But any issues you do have report them on the codeLLDB git https://github.com/vadimcn/vscode-lldb

  • afl.rs

    🐇 Fuzzing Rust code with American Fuzzy Lop

    Project mention: [Gitoxide in July]: `git-config` release candidate and `cargo` slow-start | reddit.com/r/rust | 2022-08-22

    I had the same experience with pomsky, setting up cargo fuzz is simple and well worth it! I also use afl.rs, which was able to find a stack exhaustion bug that cargo fuzz didn't find.

  • proptest

    Hypothesis-like property testing for Rust

    Project mention: Hey Rustaceans! Got a question? Ask here! (32/2022)! | reddit.com/r/rust | 2022-08-09

    Hi, I'm working on a fuzzer, that fuzzes APIs based on OpenAPI specification. I'd like to implement shrinking. It means that when an interesting input (for the API) is found, I'd like to create the smallest possible input that still causes the same behaviour of the API. I'd like to implement a payload generation via proptest, because it already has the shrinking ability. I'm having issues implementing the JSON object as a proptest strategy. Here is what I tried so far. I explained it in a detail in stackoverflow question but it did not reach many people. Thanks for your help!

  • xargo

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

    Project mention: How to fully replace/reimplement std? | reddit.com/r/rust | 2022-05-20

    I think you can use xargo for this with:

  • cargo-release

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

    Project mention: What's everyone working on this week (45/2022)? | reddit.com/r/rust | 2022-11-07

    I released my first crate that provides a derive macro to easily obtain a name of a current variant in an enum as a string. I did it mostly to learn about procedural macros and the process of releasing a crate. I then found out there is strum which does this and much more. Nonetheless, I learned a lot and I found couple of nice tools like ```cargo-release and git-cliff.

  • cargo-update

    A cargo subcommand for checking and applying updates to installed executables

    Project mention: `cargo audit` can now scan compiled binaries | reddit.com/r/rust | 2022-11-02

    Would be nice if this worked with cargo-update somehow.

  • rustfix

    Automatically apply the suggestions made by rustc

    Project mention: let's start this again.. | reddit.com/r/ProgrammerHumor | 2022-06-05
  • MIRAI

    Rust mid-level IR Abstract Interpreter

    Project mention: Prusti: Static Analyzer for Rust | news.ycombinator.com | 2022-10-13

    Here's a 2020 overview of Rust verification tools https://alastairreid.github.io/rust-verification-tools/ - it says

    > Auto-active verification tools

    > While automatic tools focus on things not going wrong, auto-active verification tools help you verify some key properties of your code: data structure invariants, the results of functions, etc. The price that you pay for this extra power is that you may have to assist the tool by adding function contracts (pre/post-conditions for functions), loop invariants, type invariants, etc. to your code.

    > The only auto-active verification tool that I am aware of is Prusti. Prusti is a really interesting tool because it exploits Rust’s unusual type system to help it verify code. Also Prusti has the slickest user interface: a VSCode extension that checks your code as you type it!

    > https://marketplace.visualstudio.com/items?itemName=viper-ad...

    Now, on that list, there is also https://github.com/facebookexperimental/MIRAI that, alongside the crate https://crates.io/crates/contracts (with the mirai_assertion feature enabled) enables writing code like this

        #[ensures(person_name.is_some() -> ret.contains(person_name.unwrap()))]

  • clog-cli

    Generate beautiful changelogs from your Git commit history

  • jni-rs

    Rust bindings to the Java Native Interface — JNI

    Project mention: Scala project rewrite | reddit.com/r/scala | 2022-04-03
  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

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). The latest post mention was on 2022-11-30.

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 Clippy 8,549
2 just 7,736
3 PyO3 6,966
4 neon 6,919
5 Rustup 5,026
6 rustfmt 4,747
7 Rust Language Server 3,569
8 Racer 3,355
9 quickcheck 1,977
10 tarpaulin 1,764
11 cargo-make 1,750
12 rust-cpython 1,667
13 cbindgen 1,621
14 CodeLLDB 1,587
15 afl.rs 1,318
16 proptest 1,128
17 xargo 987
18 cargo-release 914
19 cargo-update 806
20 rustfix 784
21 MIRAI 780
22 clog-cli 771
23 jni-rs 753
Workflow assistant built for devs & their teams
Automate the mundane part of your day, with live actionable messages for your GitHub & Jira tasks.
www.zigi.ai