Crate of the Week

bstr: A string type for Rust that is not required to be valid UTF-8

7 Likes

cargo-scout: A tool to run clippy and just emit warnings on the (git) diff of your crate. See also:

4 Likes

I'll self-nominate the time crate, which recently had a 0.2 release.

2 Likes

attohttpc: HTTP client, light-weight sync alternative to reqwest, reviewed favourably in Lightweight alternative for `reqwest`? - #19 by dpc. Porting from reqwest to attohttpc reduced binary size & compilation times of bin crate to about half: Replace reqwest by attohttpc to reduce cargo bloat · strohel/goout-calendar@fa44937 · GitHub

4 Likes

I nominate UniCase, the easiest and cleanest way to impliment case insensitivity.

sqlx: The Rust SQL Toolkit.

SQLx is a modern SQL client built from the ground up for Rust, in Rust.

  • Truly Asynchronous . Built from the ground-up using async-std using async streams for maximum concurrency.
  • Type-safe SQL (if you want it) without DSLs. Use the query!() macro to check your SQL and bind parameters at compile time. (You can still use dynamic SQL queries if you like.)
  • Pure Rust . The Postgres and MySQL/MariaDB drivers are written in pure Rust using zero unsafe code.
10 Likes

That looks amazing, I hope there'll soon be a SQLlite equivalent, so far anything SQLlite has unsafe :confused:

1 Like

shrinkwraprs

Seen here (Traits to impl to mimic `Rc`? - #2 by CAD97), thanks to them as I hadn't heard of it before

7 Likes

I haven't heard of shrinkwraprs either. Thanks, @drmason13, for the suggestion :kissing_heart:. That crate looks really useful. :nerd_face:

1 Like

cxx: Safe interop between Rust and C++

17 Likes

redshirt - an OS prototype where binaries are WASM, run in ring 0.

12 Likes

dashmap - Blazing fast concurrent HashMap in Rust.

4 Likes

fasteval - Fast and safe evaluation of algebraic expressions.

6 Likes

mqtt-async-client - An MQTT 3.1.1 client written in Rust, using async functions and tokio.

I'd like to nominate cargo-husky - a pre-commit tool that has zero setup costs - just check out a repo that uses it. (tl/dr: It's a dev-dependency crate that has a build.rs that sets up git pre-commit hooks if they're not already there.) - it's already saved me a bunch of time!

https://github.com/rhysd/cargo-husky

7 Likes

https://crates.io/crates/tinyvec

5 Likes

Rather literally, THAT'S AWESOME!

Kind of writing Rust in a vacuum here so seeing some of the code examples is a great help.

https://crates.io/crates/bitmatch

5 Likes

OpenAPI support for the Warp web framework:

1 Like

Parametrized tests:

https://crates.io/crates/test-case

10 Likes