Crate of the Week

Self-ish nominating rustdoc-types, which contains the types to deserialize the output of rustdoc --output-format json, allowing programatic access to a crates API without having to use all of rustc or rust-analyzer.


Build concurrent and multi-stage data ingestion and data processing
pipelines with Rust+Tokio. TokioSky allows developers to consume data efficiently
from different sources, known as producers, such as Apache Kafka and others.
inspired by elixir broadway

sadness_generator - Rust

sadness-generator is a simple crate that provides multiple ways to make any program it is executed in very sad.

From Jake Shadle's post on crash reporting: Crash reporting in Rust

This is a fun little crate I used while testing that just provides different ways to crash a program. I published it in case it might be useful for other people, but mostly because I liked the name.


velcro, a drop-in vec! (and also hashmap! etc) replacement equipped with a "splat" or "spread" operator:

let a = vec![1, 2, 3];
let b = vec![0, ..&a, 4, ..(5..8)];
assert_eq!(b, vec![0, 1, 2, 3, 4, 5, 6, 7]); 

(via simonbuchan on i.r-l.o)


Parallel parser for compressed data archives of OpenStreetMap:


I want to self-nominate pgfplots. This is a Rust library to generate publication-quality figures. It is still WIP, but can currently generate multiple types of plots (virtually accepting any LaTeX's pgfplots key).

Thanks to the tectonic crate, you can even generate high-quality plots without having a LaTeX distribution installed in your system.


I have been using dxf-rs to extract data from autocad files.
I want to nominate this crate because it has saved me a lot of time.


I'd like to put in a self-plug for aliri_braid. It's a crate than enables the easy and ergonomic creation of strongly-typed newtype wrappers around string values, supporting multiple string-like types, including the standard String, SmartString (for small-string optimizations), ByteString (for Bytes-backed strings), and more.

Examples of usage and the generated impls and documentation can be found on the sibling aliri_braid_examples crate.


Nominating cargo vet, an alternative to cargo crev to audit your dependencies. These tool would really benefit from a network effect of public audits.


I'd like to (somewhat) self-plug error-stack. It's a new error-handling library which lets you efficiently attach any arbitrary (thread-safe) data to the Err arm of a Result. And before you ask why we wrote yet another error library :grinning: we've got the answers in this post which goes through some of the philosophy. It's gotten some really positive feedback already and we think it'll be really helpful to a lot of people!

(Also small shout-out, it's based on some of the really cool work being done in core with the Provider API)


I’d like to nominate atom_syndication (‘Library for serializing the Atom web content syndication format.’).

I'd like to nominate TicKV (Tiny Circular Key Value). It's a small file system allowing key value pairs to be stored in Flash Memory. It doesn't require any dependencies and works with no_std

It's designed to allow embedded Rust applications to store data in flash, while maintaining loss resilience, wear leveling and a low memory and storage overhead. It even allows the tests to be run on your host machine, so it can be developed locally, which is pretty cool!


I nominate cap-std, a version of standard library designed to support capability-based security. Currently it seems to be mostly focused on file system access.


I'd like to self-nominate coprosize, which has just reached v1.0.0. It's just a tool for the study of dino dung :poop: but this is the only computer program of this kind in any programming language. :crab:


I like to nominate bevy_reflect - especially for its TypeUuid that also supports generics and helps a lot building runtime composable structures! (Note that generic supporting TypeUuid is currently unreleased AFAICS)

1 Like

Shame: A shader EDSL for writing render and compute pipelines in rust.


dacquiri - Rust just stumbled upon this and it looks super interesting


I'd like to self-nominate my newly published crate bnum. It provides arbitrary, fixed size signed and unsigned integer types that extend the functionality of Rust's primitive integers, using const generics.


I’d like to self-nominate cismute, which provides specialization-like hack on stable Rust.


Cool!, I'm your first :star2: :slight_smile: