Crate of the Week

Self-nominating embed_it.

A crate that helps you to embed assets into your binary and generates structs / trait implementations for each file or directory

Unlike include_dir and rust-embed it generates strongly-typed structures to avoid problems with hardcoded paths and vanished files.

In addition, it allows you to choose what exactly should be compiled, for example, if you only need file metadata or only a hash of a certain type, then you can embed them only

The simplest example:

#[derive(Embed)]
#[embed(path = "$CARGO_MANIFEST_DIR/assets")]
pub struct Assets;

assert_eq!(
    Assets
        .dir_1()
        .subdir()
        .readme()
        .content(), 
    b"My content"
);

4 Likes

Self-nominating check_config.

In our company we have a lot of repo's. Some config for tools like ruff, is included in the repo ie via a pyproject.toml. The build pipeline can check if the latest config is used via check_config. When we want to change the config, ie using a different line length, we can update the config via check_config --fix.

See check-config for usage and examples.

1 Like

Interesting project! Btw, the links in the ReadMe file are mostly dead.

Thanks. Links are fixed

Self nominate Docker Utils: A friendly Rust crate that simplifies Docker container management with a clean and intuitive API.

I wrote this crate a while ago because a lot of existing crates back then relied on the Docker Api and therefore were often outdated or not functioning anymore. However, I have a CI setup where testcontainers isn't an option hence I wrote the DockernUtils that only rely on the much more stable Docker CLI.

https://crates.io/crates/docker_utils

unsure if binaries are eligible, but if they are, i'd like to nominate fend.

It's a very featureful calculator an it boots up very fast, even on hdd systems.

3 Likes

Nominating Vello.

It is a 2D graphics rendering engine, with a focus on GPU compute. It can draw large 2D scenes with interactive or near-interactive performance, using wgpu for GPU access.

I've used it recently, and let me tell you what: Vello made it easy to get > 100 fps with 90000 small circles, which is great news for any semi-decent particle system simulator. All I had to do is to split them into chunks using rayon, return a Scene for each chunk, and merge these subscenes into one scene, which is then rendered. This is a very fast 2D engine, yet the code reads like render_circle(...) rather than the usual 1000 lines to draw a triangle. Thanks to Vello, I still don't know how to write shaders and don't need to.

3 Likes

I would like to nominate Ratzilla - A library for building terminal-themed web applications with Rust and WebAssembly. Powered by Ratatui.

I presented the project in Rust devroom at FOSDEM 2025. The talk will be published soon.

1 Like

Self nomination: ferrunix. A crate for runtime dependency injection.

Self nomination esp32-mender-client
A Mender client for esp32 - to perform :

  • Firmware Update for IoT devices, EV.
  • Edge AI model update
  • Remote Command

on going development, calling for contribution

2 Likes

Hi, I'd like to nominate my own crate haru_cmaes for several reasons:

  • it's a straight port from a python implementation, so python users might feel welcome on terms of reliability
  • it runs very fast, as I have taken intended steps to ensure performance, and I continue to do so,
  • it has both detailed and express interfaces to accommodate different user profiles,
  • I have provided (in the repo) several examples on how to use this cmaes optimizer

Optimization seeking users should find my crate interesting.

That is it.

Thanks.

Brother i am pleased to hear your create has both detailed and express interfaces to accommodate different user profiles etc etc

But you forgot to mention what it actually does, or even what broad topic it's related to!

2 Likes

I assume maulberto3 didn't link their project because new users have some limitation on links they can add to their posts. Here are links to the docs, crates.io and repo of the project and the wikipedia entry for the CMA-ES algorithm:

2 Likes

Hello @ergates Thank you for the warm interest and boy what a miss. My crate is all about optimization i.e. finding the best solution of any problem. Typical theoretical examples are traveling salesman problem, knapsack problem, solving sudoku, etc. For more real-world and/or business examples, think anything that needs to be optimal, even under constraints... This crate can find it!

And thanks @jofas for the links, second miss of mine in a row, talk about streaks :smiley:

Nominating the iggy.rs crate; Iggy is the persistent message streaming platform written in Rust capable of processing millions of messages per second at low latency.

Self-nominating nt-time.

This crate is a Windows file time library. The file time is a 64-bit unsigned integer value that represents the number of 100-nanosecond intervals that have elapsed since “1601-01-01 00:00:00 UTC”, and is used as timestamps such as NTFS and 7z. Windows uses a file time to record when an application creates, accesses, or writes to a file.

Self-nominating sysexits-rs.

This crate provides the system exit code constants as defined by <sysexits.h>. This implements the Termination trait, so this can be returned from the main function.

Self-nominating CastWright, which automates creating asciicasts. In the simplest form, given input $ echo "Hello world!", it'll generate an asciicast like:

$ echo "Hello world!"
Hello world!
Demo asciicast by CastWright

CastWright Demo (v0.0.5)

2 Likes

Self-nominating probe-zmq: Probe is a TUI ZMQ PUB/SUB monitor and debugger.

Bonus points for the yaml-based syntax!

https://crates.io/crates/httpmock

2 Likes