Self-nominating test-r, a test framework bringing some advanced features like shared dependencies, dynamic test generation, retries, etc. while remaining compatible with the built-in test harness interface.
Self nominating: Rust TcpSever
"A simple and lightweight crate for launching and using a server"
Nominating plotlars, a crate for simplifying the creation of polars
visualizations.
Self-nominating logforth, a flexible logging framework for Rust applications, providing easy log dispatching and configuration.
We use it in several data systems and observe its easy to start with and flexible to extend. Welcome users to test it out or extend with their favorite layout, appended, and filters.
Nominating GitHub - wdanilo/struct-split, which is roughly a macro-based solution to partial borrows, with actually a nice-looking interface.
Self nominating IronCalc a package for working with spreadsheets .
See also GitHub for the full idea
fixed-slice-vec
provides a stack-allocated vector backed by byte slices.
postcard
provides a #![no-std]
focused serializer/deserializer and makes communicating with, e.g., embedded devices so much simpler and nicer. I'd like to point out especially the stability of the format and the excellently documented Postcard Wire Specification.
Super-lightweight Immediate-mode Embedded GUI framework, based on the awesome embedded-graphics library
augurs, a time-series toolkit for Rust with bindings to JS & Python, offering features like forecasting, outlier detection, seasonality detection and clustering. Check out the demo!
I once made a similar crate: variable-len-reader
A library for reading/writing variable length data. Support AsyncRead/AsyncWrite in tokio.
Self-nominating include-utils
A more powerful replacement for the standard include_str
macros.
Often you only need a specific part of the file, e.g. relevant lines for an example, or section of README.md. This crate provides macros that can include only part of a file, similar to the mdbook specific feature.
Imagine that you want to include "usage" section from your repository readme file to the crate documentation. But you do not want to see in crate documentation some parts of readme file, like header, badges, etc. With theinclude_str
macro you can only include the entire file content.
But with the include_md
macro you can include only a specific section of the file.
I would like to nominate cmd_lib.
This is a library that provides a couple macros that make it much more convenient to write shell-script-like programs in Rust. In particular, spawning commands, capturing stdout, redirection and pipes are much less verbose than just using std
. It even has nice logging built in.
I still think Bash is fine for scripts of a couple dozen lines, but this has lowered the threshold for me to migrate medium-sized or multi-file scripts to Rust.
Could also be interesting from a cross-platform perspective!
Nominating OmniLED, a helper to display things like time or audio volumne on a LED matrix that some peripherials (such as gaming keyboards) have.
(somewhat self-) nominating fake, a library (and recently console utility) to generate fake data of various types.
Full disclosure: I am a co-maintainer of that crate.
Self-nominating sign-bound.
It implements signed integer types like PositiveIsize
, NegativeI32
that are guaranteed to have the most-significant bit either set or unset. The API is mostly the same as the NonZero
types. They are also layout optimized so for example Option<PositiveI32>
is the same size as an i32
.
(I am really surprised I couldn't find any other crates with these types by now)
Self-nominating terminal-colorsaurus.
It answers the seemingly simple question «Is this terminal dark or light?» for most terminals including Windows Terminal [1]. The library is used by bat and delta to automatically choose an appropriate syntax highlighting theme.
starting with Windows Terminal v1.22 which is currently in preview ↩︎
Self-nominating vidyut, a Sanskrit toolkit that provides reliable infrastructure for the next century of Sanskrit software. The Sanskrit programming community is small, and Rust was an obvious choice to give us maximum leverage over time. Includes Python bindings through pyo3 and WebAssembly bindings through wasm-bindgen.
Self-nominating getifs, a bunch of cross-platform network tools for fetching interfaces (with MTU), multicast addresses, gateway addresses, local IP addresses, private IP addresses, public IP addresses, and etc.
I'd like to nominate resvg. I think it's a really impressive library!