Blogr is a fast, lightweight static site generator built in Rust for creating and managing blogs. Write in Markdown, preview with a built-in terminal editor, and deploy to GitHub Pages with a single command. Blogr also comes with a built-in newsletter management system, which you can manage right from the terminal using its beautiful TUI.
I would like to self nominate rustest at crate of the week.
Rustest is a testing framework inspired by pytest, rstest and others...
It provides parametrized tests and test fixtures system with fixture teardown, fixture matrix or fixture dependency...
It is also (almost) compatible with standard rust test library, allowing smooth transition to rustest.
tokio-netem provides a toolbox of Tokio AsyncRead /AsyncWrite adapters that let you emulate latency, throttling, slicing, terminations, forced shutdowns, data injections and data corruption without touching your application code. Compose them around TcpStream (or any Tokio I/O type) to run realistic integration tests and chaos experiments.
let mut stream = TcpStream::connect("localhost:80")
.await?
.throttle_writes(32 * 1024) // 32 KB/s`
.slice_writes(16); // flush writes every 16B
I'd like to promote disjoint_impls as a crate of the week.
Crate fully resolves this longstanding Rust issue and enables writing non-overlapping (disjoint) impls distinguished by a set of associated types (no special syntax required):
disjoint_impls! {
pub trait MyTrait {}
impl<T: Dispatch<Group = u32>> MyTrait for T {}
impl<T: Dispatch<Group = i32>> MyTrait for T {}
}
I would like to self-nominate rust_readability, a package that can assess the complexity of texts using a variety of well-established readability formulas.
The package includes implementations of the Lix, Rix, Flesch-Kincaid, and Automated Readability Index methods, among others, and can handle both files and strings.
I want to nominate mitsein, which is a crate that provides non-empty collections.
It has both the generic NonEmpty<T> wrapper as well as aliases like Vec1.
It has macros for constructing non-empty collections.
It supports more collections than any other non-empty crate I could find. It has feature flags for popular crates like serde, schemars, smallvec, itertools and others. I've been looking for a crate like this for a really long time, and I finally found it.
The author is also really active, the library is very well documented, and there are constant commits to it. When asking questions in his issue tracker, he gives long thought-out responses and takes lots of care. I want it to be featured in crate of the week!
I've been doing some work at work with resilience4j on some Java projects, and some unrelated stuff with various REST API clients in Rust. I wanted some of the tools that r4j has and building a tower crate to handle it has been a fun project, so I'm self-nominating my new crate:
Interested folks can read more here. Rust is allowing us to move fast in development and be hundreds (or even thousands) times faster than comparable tools:
I would like to self-nominate asyncapi-rust which generates AsyncApi specs for WebSockets or other async protocols, similar to how utoipa does for REST apis.
GuardianDB - A high-performance, decentralized database built on IPFS with advanced P2P networking, access control, and real-time synchronization capabilities - More details here