Crate of the Week


unidecode converts text to ASCII very well. Edit: I’ve forked it and added Emoji support!.

assert_eq!(unidecode("Æneid"), "AEneid");
assert_eq!(unidecode("étude"), "etude");
assert_eq!(unidecode("北亰"), "Bei Jing");
assert_eq!(unidecode("ᔕᓇᓇ"), "shanana");
assert_eq!(unidecode("げんまい茶"), "genmaiCha ");


human-panic - Panic messages for humans.


derive_more - Some more derive(Trait) options

This saved me some time today, and more importantly, cuts out a lot of boilerplate.


cargo-rpm - a Cargo subcommand for building RPM releases of Rust projects.


imgref: A trivial Rust struct for interchange of pixel buffers with width, height & stride


I’d like to nominate

It is a high quality crate for reading parquet files and will help revolutionize the Big Data tech stack :slight_smile:



I’ve not been aware of it, but it could be super useful to detect breakages in the API, when run on CI.
Also related -


Nominating discourse-tui for next week.

This needs more attention, really! I have not yet tested it, but lets encourage the author to make it as awesome as possible, so we can all use it for this site :smiley:


Nominating askama for next week, a crate for type-safe, compiled Jinja-like templates.


Nominating for next week


Uh, I’d like to nominate another crate: Rustbreak - a simple database library for persistence without headaches!

It is about to hit 2.0.0 (see also) and I’m sure TheNeikos would love to get some feedback on it!



The "trees" project written in rust aims at:
1. a fundamental library for storing and manipulating tree-like data structures.
2. expressing hierarchical data conveniently and compactly.


I’d like to nominate Darling:

“darling is a crate for proc macro authors, which enables parsing attributes into structs. It is heavily inspired by serde both in its internals and in its API.”


reflect - Compile-time reflection API for developing robust procedural macros .


I’ll nominate the cool crate just tweeted tonight by rust-lang, Thunder!

Zero-boilerplate pretty-printed CLI, how great!

Static Initializer Block On Types?

^— This. Thunder is a really neat idea.


I’d like to re-suggest rustbreak for next week.


rust-delegate: This crate helps remove some boilerplate for structs that simply delegates most of its methods to one or more fields.


syntect — Rust library for syntax highlighting using Sublime Text syntax definitions.

It’s really cool: it supports syntaxes and themes from sublime, and provides output at different levels of abstraction, so it’s both easy to use and powerful.


Nominating ggez - a lightweight cross-platform game framework for making 2D games with minimum friction.