Crate of the Week

derive_more - Some more derive(Trait) options

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

5 Likes

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

3 Likes

I'd like to nominate https://crates.io/crates/parquet

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

3 Likes

Nominating https://github.com/rust-lang-nursery/rust-semverver

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 - https://github.com/rust-lang/cargo/issues/5500

6 Likes

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:

1 Like

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

3 Likes

Nominating https://crates.io/crates/x86_64 for next week

1 Like

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!

1 Like

trees:

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.
2 Likes

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."

3 Likes

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

7 Likes

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

Zero-boilerplate pretty-printed CLI, how great!

15 Likes

^--- This. Thunder is a really neat idea.

1 Like

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.

5 Likes

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.

3 Likes

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

5 Likes

Nominating clap-verbosity-flag - easily add a --port flag to CLIs using structopt.

This crate allows passing -v for log level warn. -vv for log level info. -vvv for log level debug. You get the picture. Using it is quite straight forward too:

extern crate clap_verbosity_flag;

// ...
#[derive(Debug, StructOpt)]
struct Cli {
    #[structopt(flatten)]
    verbose: clap_verbosity_flag::Verbosity,
}

I like this crate a lot because it allows reusing rather complex behavior through rather simple means. I think being able to import CLI flags from crates has a lot of potential for Rust's command line experience, which is why I think this is worth nominating as crate of the week.

Full disclosure, I was around in Paris when people came up with both the approach & the crate. I'm also part of the CLI WG, just like the author of the crate. Despite that I think it's an important crate to share, hence the nomination! :sparkles:

6 Likes

I saw SIMDNoise on /r/rust and I thought it was pretty rad.

4 Likes