Rust Cargo

Open-source Rust projects categorized as Cargo

Top 23 Rust Cargo Projects

  • cargo-edit

    A utility for managing cargo dependencies from the command line.

    Latest mention: Rust GUI: Introduction, a.k.a. the state of Rust GUI libraries (As of January 2021) | dev.to | 2021-01-18

    I usually employ cargo add from cargo edit (to install it: `cargo install cargo-edit), but you can add the dependency straight to Cargo.toml

  • cargo-watch

    🔭🚢 Watches over your Cargo project's source.

    Latest mention: Rust is a hard way to make a web API | news.ycombinator.com | 2021-01-15

    A few points:

    > Once your code is compiled, everything’s amazing! But in my case, this basic API - which wasn’t even feature-complete and was by no means a complex system - took more than ten minutes to compile...Caching helps as long as you don’t have to rebuild cached dependencies.

    The author glossed over that last part, but at least from a workflow perspective, it makes a huge difference. In my experiments writing a web server in Rust, I used cargo-watch (https://github.com/passcod/cargo-watch) to automatically rebuild each time I made a change. The turnaround time was usually 1-2 seconds - nearly as fast as restarting a Node server, and about the same amount of time it takes me to alt-tab and test the change. I was using Serde, a high-level HTTP framework, and several other crates. It didn't matter, because they never had to be rebuilt.

    > Rust makes you think about dimensions of your code that matter tremendously for systems programming...It makes you think about real but unlikely corner cases and make sure that they’re handled...These are all valid concerns. But for most web applications, they’re not the most important concerns.

    I disagree strongly (at least about corner cases). Maybe you don't want to bother with this stuff when you're still in the prototyping phase, but once a service is fairly well established, it's definitely beneficial to be forced to think about corner-cases (both in libraries/IO, and in your own business logic that you've hopefully modeled with Rust's powerful type system). This IMO is one of Rust's main benefits; it's been called "the practical Haskell" before, and while its ecosystem isn't yet the most practical one for web servers, it is much more so than Haskell's.

    > The Rust ecosystem is not web-centric

    This is the strongest point, in my opinion. Rust's web ecosystem is definitely still in the early days, and this is partly because Rust's benefits aren't nearly as extreme in this usecase as they are in other usecases. There is for sure a chicken-and-egg problem as not enough companies are using Rust for web servers, which means not as much time is getting invested in the relevant libraries. I hope this changes; I don't know for sure that it will. It feels like it is, but very slowly. That said:

    > Unfortunately, a lot of the incredibly exciting work in the Rust ecosystem has nothing to do with web application servers. There are some promising web frameworks - even a somewhat higher-level framework - but they’re undoubtedly in a niche. Even Actix, the main web framework, has a very top-heavy set of contributors.

    The author failed to mention or wasn't aware of Rocket (https://rocket.rs/), an up-and-coming Rust web framework that's extremely exciting and provides a programming model that's strikingly similar to Flask or Express. It's still in 0.X releases, the current release doesn't build on stable rustc (though the master branch does!), you're still going to have a hard time finding SDKs for auth and payment and cloud, etc.

    But the important thing is that it shows what's possible. Web servers can be ergonomic to write in Rust, benefiting from its wonderful type system and performance, with very few sacrifices. Hopefully enough companies will start catching on to that, and the ecosystem will flesh out.

  • tarpaulin

    A code coverage tool for Rust projects

    Latest mention: 📽 2 videos about rust code coverage in VSCode | dev.to | 2020-10-11

    cargo tarpaulin: analyzes your rust code and gives you code coverage data

  • cargo-make

    Rust task runner and build tool.

  • xargo

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

    Latest mention: Hey Rustaceans! Got an easy question? Ask here (53/2020)! | reddit.com/r/rust | 2020-12-28

    If you need to pass arguments to rustc, try cargo rustc or RUSTFLAGS instead of invoking it manually. If you're cross-compiling, check out cross (uses Docker) or xargo.

  • cargo-fuzz

    Command line helpers for fuzzing

    Latest mention: fast-float - a super-fast float parser in Rust | reddit.com/r/rust | 2021-01-10

    I've fed it cargo-fuzz and it has discovered at around 200 distinct execution paths within 5 minutes, without any crashes or panics. We'll see what happens after I leave it overnight, but the initial results are very encouraging!

  • cargo-outdated

    A cargo subcommand for displaying when Rust dependencies are out of date

    Latest mention: [Utility] Announcing version-checker - It Does What It Says on the Tin and More, Trust Me | reddit.com/r/rust | 2021-01-12

    So it merges functionality of cargo-outdated and cargo-audit?

  • rustfix

    Automatically apply the suggestions made by rustc

  • cargo-release

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

    Latest mention: 🦀 Publishing My First Rust Crate | dev.to | 2021-01-11

    Use cargo-release and setup pre-release hooks and replacements.

  • cargo-deb

    A cargo subcommand that generates Debian packages from information in Cargo.toml

    Latest mention: Debian Discusses Vendoring–Again | news.ycombinator.com | 2021-01-13

    Cargo already has one: https://crates.io/crates/cargo-deb

  • cargo-script

    Cargo script subcommand

  • cargo-update

    A cargo subcommand for checking and applying updates to installed executables

    Latest mention: Is there a tool like cargo outdated for crates installed via cargo? | reddit.com/r/rust | 2020-12-27
  • kondo

    Save disk space by cleaning non-essential files from software projects.

    Latest mention: Build Times And Target Directory Size | reddit.com/r/rust | 2020-08-27
  • cargo-lipo

    Cargo subcommand to automatically create universal libraries for iOS.

  • cargo-benchcmp

    A small utility to compare Rust micro-benchmarks.

  • cargo-modules

    A cargo plugin for showing a tree-like overview of a crate's modules.

  • cargo-count

    a cargo subcommand for counting lines of code in Rust projects

  • cargo-check

  • bacon

    background rust code check

    Latest mention: Et moi quand j'étais petit je ne comprenais pas qui était cette fameuse "Lady de Nantes" | reddit.com/r/france | 2020-12-24

    And here's a far consequence of this misunderstanding: https://github.com/Canop/bacon

  • cargo-testify

    Watches changes in a rust project, runs test and shows friendly notification

  • cargo-ebuild

    cargo extension that can generate ebuilds using the in-tree eclasses

  • cargo-dot

    Generate graphs of a Cargo project's dependencies

  • cargo-bitbake

    cargo extension that can generate BitBake recipes utilizing the classes from meta-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).

Index

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

Project Stars
1 cargo-edit 1,577
2 cargo-watch 1,213
3 tarpaulin 1,039
4 cargo-make 830
5 xargo 820
6 cargo-fuzz 696
7 cargo-outdated 582
8 rustfix 571
9 cargo-release 569
10 cargo-deb 507
11 cargo-script 488
12 cargo-update 467
13 kondo 346
14 cargo-lipo 274
15 cargo-benchcmp 238
16 cargo-modules 215
17 cargo-count 120
18 cargo-check 101
19 bacon 90
20 cargo-testify 67
21 cargo-ebuild 63
22 cargo-dot 37
23 cargo-bitbake 31