Crate of the Week

I'd like to nominate duplicate: an (almost) zero-dependency proc macro crate, which allows easy parametric code duplication. No more writing ad hoc macro_rules! with broken formatting and intellisense! This crate allows you to write your functions, types and impls as normal, with all the usual tooling benefits, and substitute certain identifiers with multiple (token) expressions.

This is particularly invaluable when writing tests for various integer types. No longer do you need to choose between readability and code deduplication!

11 Likes

I'd like to nominate https://crates.io/crates/include_dir it just saved my week

4 Likes

[self-nomination]

I'd like to nominate mockito - a HTTP mocking library for Rust with a sync & async interface, support for multiple hosts/servers, spying, complex matchers, and other goodies.

boilermates – A boilerplate generator for similar structs

I'd like to nominate Cornucopia which just kept a ton of bad SQL editing bugs from escaping my development environment. It's exactly what I need and I wish I had brought it into my code a lot sooner.

Nominating Speedy2D --- simple, minimal API for building interactive programs. Speedy2D gives you:

  • Window
  • Event loop
  • Canvas backed by a GPU
  • Text rendering
8 Likes

Thanks, Alex, for pointing out Speedy2D!

tokio-tungstenite
This crate is based on tungstenite-rs Rust WebSocket library and provides Tokio bindings and wrappers for it, so you can use it with non-blocking/asynchronous TcpStream s from and couple it together with other crates from Tokio stack.

I would like to self-nominate nix-init, a tool to generate Nix packages from URLs with dependency inference for Rust packages. It just got its first release on crates.io which can be compiled without Nix.

2 Likes

with the recent release of faer 0.5, i would like to self-nominate it again. faer is a collection of linear algebra libraries with a focus on correctness, portability, and high performance that matches or surpasses the commonly used C/C++ libraries.

the latest release adds an implementation of the singular value decomposition that uses state of the art algorithms and manages to beat basically every other library i've benchmarked against.

https://crates.io/crates/faer

7 Likes

I recently discovered Typst, a modern, lighter-weight, more principled, faster, incrementally-compiled LATEX alternative.

16 Likes

I'd like to nominate keshvar. This library contains collection of all sorts of useful information for every country (and their subdivisions).

2 Likes

I would like to self-nominate spacedisplay. This is a small terminal app for analyzing used disk space with very small memory footprint and fast scanning.

demo

1 Like

I would like to self-nominate namaka, a snapshot testing tool for Nix inspired by insta

cfg_boost: Revamped syntax and macros to easily manage all #[cfg] parameters in one package.

Self-nominating onlyerror, which I recently published. It's a #[derive(Error)] macro with support for no_std on nightly compilers.

4 Likes

New big update for mitmproxy -> Tauri Migration and new UI, leave a feedback!

I'd like to nominate burn (crates.io, Github), a framework for neural network models.

I have recently been using it in anger and have found it really decent with a very helpful community.

2 Likes

I'd like to nominate zino: a full-featured application framework for Rust which emphasizes simplicity , extendibility and productivity .

I'd like to nominate manyhow, a newly released crate of a friend.

It combines anyhow and proc_macro_error (which sadly seems abandoned), to make error reporting in proc macros easy.