Crate of the Week

https://lib.rs/double-checked-cell-async

Async DoubleCheckedCell helps avoid race conditions when a program needs to initialize data asynchronously and lazily.

2 Likes

https://github.com/skallwar/suckit

SuckIT allows you to recursively visit and download a website's content to your disk.
Much faster than tools like HTTrack.

7 Likes

stdext is a crate with minor additional features for std. It is designed to be more agile in terms of getting a new std feature to your codebase, and less strict in terms of added features.

2 Likes

The assert_equal macro looks very useful. Checking the difference between structs is indeed painful with the standard assert_eq.

3 Likes

https://github.com/jswrenn/typic

4 Likes

I nominate nnnoiseless, a port of Xiph's RNNoise (written in C) to safe Rust. The release was accompanied by a blog post by the author, where they explain some of the porting process as well as subsequent performance optimizations that lead to the port overtaking the original C version in their benchmark. There has been a discussion on the subreddit.

9 Likes

Another audio related blog post:

https://coaxion.net/blog/2020/07/live-loudness-normalization-in-gstreamer-experiences-with-porting-a-c-audio-filter-to-rust/

1 Like

pre - Helper for compile-time checking some aspects of unsafe functions.

3 Likes

sophia a Rust toolkit for RDF and Linked Data.

1 Like

deltoid, a library for working with delta's.

2 Likes

polyfuse, a library for implementing FUSE filesystems, with async/.await support. It comes with complete examples and a blog post in Japanese.

6 Likes
3 Likes

I'd like to nominate neli, a crate for working with Linux Netlink sockets in a type-safe way, including rtnetlink for network configuration.

4 Likes

I nominate bevy, a game engine that was released yesterday after having been in development for six months by a single person. The website and documentation look really good.

crates.io link
author's announcement tweet

21 Likes

cargo-c: applet to build and install C-ABI compatibile dynamic and static libraries.

It produces and installs a correct pkg-config file, a static library and a dynamic library, and a C header to be used by any C (and C-compatible) software.

6 Likes

Is self-promotion allowed?

yottadb

Rust bindings for YottaDB. YottaDB is a multi-language NoSQL database. The Rust bindings just had their 1.0 release.

https://crates.io/crates/yottadb
repository: YottaDB / Lang / YDBRust · GitLab
documentation: yottadb - Rust

4 Likes

Yep. :slight_smile:

1 Like

probe-run integrates running on embedded devices into vscode

blog post:

4 Likes

Nominating ruut as talked about in the Rustconf talk.

Github: https://github.com/harrisonb/ruut

1 Like

Macro that enables working with enums like a range of numbers, allowing getting min/max or previous/next variants of an enum.

7 Likes