Crate of the Week


pretty_assertions - “Overwrite assert_eq! with a drop-in replacement, adding a colorful diff.”


Congratulations to pretty_assertions for making it into TWiR 175!

As a happy user of fst without any further involvement, I hope I’m not violating etiquette by re-nominating fst.
Please tell me if I’m overstepping!

I nominated fst a few hours after TWiR 174 came out, because 174 didn’t have any crate “for lack of nominations”. I can understand my suboptimal timing may have caused it to accidentally not be considered for 175.
I’d say 12 collected likes (at time of writing) is enough show of support to give it a rematch for 176.


I’ve used fst and it’s great.


Hi guys,
I would like to nominate Official Aerospike Client for Rust as the Crate Of The Week.


Saw this the other day, tests for your README.


Hello! I saw this in my RSS reader today:

Sadly, for lack of nominations we have no Crate of this Week.

Therefore, I’d like to nominate trace-error for a crate of the week. In a nutshell, it exports try!() macro replacements that thread error tracebacks behind the scenes. In author’s words:

more lightweight and less macro-based alternative to error_chain


Hello. I’ve been working on a binary crate to generically decode protobuf messages:

I’d like to submit it for crate of the week consideration.



stdweb - A standard library for the client-side Web.


indicatif: “A rust library for indicating progress in command line applications to users.”



I would like to nominate PX8. It is an Open Source Fantasy Console !

You can create tiny game in full Rust, or use Python/Lua. You have a built-in editor where you can modify your sprites.

Thank you


I nominate remove_dir_all by @Aaronepower.

You know that remove_dir_all function in std? Yeah, it basically doesn’t work on windows, because files with open handles can’t be deleted, and there are plenty of situations where this happens unexpectedly.

The remove_dir_all crate tries hard to really delete directories on windows. It is used now by the tempdir crate, and similar code is open-coded within rustup and rust-installer.


I would like to nominate oath2 - library for 2 factor authentication. It has all 3 OATH protocols implemented: HOTP, TOTP and OCRA.
Edit: author of the original lib oath has merged all changes from ocra2. Now ocra2 is abandoned.


I’d like to nominate array_tool once again. I’ve been giving it some TLC and it’s getting better. It includes the following features:


  • unique
  • shift
  • unshift
  • intesect
  • intersect_if
  • join
  • times
  • union


  • grapheme bytes iterator
  • squeeze
  • justify
  • substitute characters at marked indexes
  • word wrap
  • seek end of white space after index given


comp-rs: “Pure-macro Do notation and List-comprehension for Option, Result and Iterator.”


Am I allowed to make another suggestion for the next issue of TWIR ?
If yes, this also showed up today:

caldyn: “This crate provide run-time evaluation of mathematical expressions, embedded in strings, containing constants and user-provided variables.”


Sure you are! In fact, you even hit upon the ‘correct’ way of doing multiple suggestions: one post per suggestion, so that the number of :heart:-likes can be used to vote which crate should be this weeks winner.


I just released an include_dir crate for embedding an entire directory tree into your binary. Think of it like include_str!(), but on steroids!

Use cases I can think of would be bundling in static assets for your web app so deployment is just a case of copying around a single binary, or game assets like images, media, and textures.

In the future I’m hoping to turn this into a proc_macro, but for now you can copy/paste a build script from the docs, include!() it, and everything else should Just Work.


I’d like to nominate structopt. It’s just so great, i can’t even get into it. I cannot thank the author @TeXitoi enough!


I’d like to highlight strum, because it helps bridging between enums and strings and it is heavily inspired by serde.


im, an immutable data structures crate, just got updated to 3.0.