Crate of the Week

agree sounds nice.

There is a great story about how such secret sharding nearly caused PayPal to permanently lock itself out of its database. Which would have instantly and permanently killed the company. too long to tweet

Having Primagen read that story for us is wonderful : https://www.youtube.com/watch?v=MzescXc5SW0

2 Likes
7 Likes

I'd like to self nominate wassily, a 2d generative art library using tiny-skia

Wassily is both an API and set of tools for creating generative 2D art. It allows you to create images that can easily be scaled to any size without loss of quality. It is useful for images that are meant to be printed at large sizes or displayed on screen. Included are many generative art algorithms and utilities for dealing with colors and noise.

wasily

I would like to nominate mdbook-i18n-helpers: a crate with two mdbook plugins which enables structured translation of mdbook projects. It's used to translate Comprehensive Rust :crab: into 18 languages.

3 Likes

I would also like to nominate dprint, a super fast code formatter which I've been using for my recent projects. It formats Markdown, TypeScript, JavaScript, JSON, TOML and many other types natively via Wasm plugins.

It also formats Rust code by calling out to rustfmt — and it even formats Rust code embedded into Markdown files. Oh, and @dsherret has been extremely helpful whenever I filed a bug report or feature request!

4 Likes

I would like to nominate RustQuant.

It is a library that aims to fill the gap in the Rust ecosystem for quantitative finance.

The primary features currently implemented are option pricing, MC simulation, and autodiff.

1 Like

I'm nominating GitHub - sarub0b0/kubetui: An intuitive Terminal User Interface (TUI) tool for real-time monitoring and exploration of Kubernetes resources , a powerful & flexible Terminal User Interface (TUI) for navigating around Kubernetes resources, with mouse support.

I'd like nominate str0m a sans-IO WebRTC implementation that diverges from both the spec API and webrtc-rs, but leans into the strengths of Rust. I work on this crate alongside my colleagues @algesten and @davibe

3 Likes

I am developing an new validator valitron, it is ergonomics , and inspired by axum, now this is currently in a very early stage of development.

rsenv

Hierarchical Environment Variable Manager

Features:

  • Dependencies can form Tree or DAG.
  • Smart selection via builtin FZF.
  • Side-by-side Tree edit.
  • direnv integration
  • JetBrains integration via EnvFile plugin.

I would like to nominate RustQuant.

A Rust library for quantitative finance:

  • risk-neutral pricing,
  • automatic differentiation,
  • mathematics and statistics,
  • simulation of stochastic processes,
  • and more.
1 Like

Higher-Rank Trait Bounds (HRTBs) are tricky to use with generic async functions:

where 
     F: for<'a> Fn(&'a …) -> Fut, 
     Fut: Future<Output = 'a …> // can't use the lifetime here!

The async_fn_traits crate contains a workaround in the form of async function traits:

where F: for<'a> AsyncFn1<&'a …, Output = 'a …> // works!
3 Likes

@avhz Great crate. I fully support your nomination.

1 Like

I would like to nominate compile-time ORM rbatis , It's more like a rust version of mybatis3 but
It provides a set of commonly used built-in macros very simple means of realizing database interaction with non-intrusive design just like crud!(Table{}); and then you can use Table::insert() ,Table::insert_batch() ,Table::select_by_column(),Table::update_by_column(),Table::delete_by_column().
If the above built-in functions do not meet your needs, you can even use xml/html/py_sql to define more complex sql statements

There's even a full admin project abs_admin

2 Likes

note this can now be done with nightly clippy.
c.f. Unstable Features - The Cargo Book

I published my implementation of an MPMC channel crate today. I would be grateful if you could help me introduce it to other developers.
https://github.com/mahdi-shojaee/loole

2 Likes

I nominate my fun project: daktilo

daktilo (pronounced "duck-til-oh") is a small command-line program that plays typewriter sounds every time you press a key. It also offers the flexibility to customize keypress sounds to your liking. You can use the built-in sound presets to create an enjoyable typing experience, whether you're crafting emails or up to some prank on your boss.

1 Like

https://pest.rs/ is incredible.

4 Likes

I would like to nominate yarer https://crates.io/crates/yarer

It's a library I wrote for the processing and evaluating of mathematical expressions, with variables and functions, using Reverse Polish Notation.

Yarer can be used also from command line, and behaves in a very similar manner to GNU bc.