Crate of the Week

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.

I'd like to self-nominate password-worker

It's a fully generic, statically dispatched password worker that uses a rayon thread pool to hash passwords outside of any async runtime threads.

PasswordWorker is Send + Sync + Clone + 'static, clones are shallow copies pointing to the same threadpool, and all methods only use &self, so you don't need a Mutex or Arc to include it in the various shared state extractors offered by frameworks like axum.

I have tested compatibility with tokio and async-std runtimes.

I really enjoyed making it, PRs open!

2 Likes

I'd like to self-nominate EDMA - embedded database management tool

EDMA is an interactive terminal app for managing multiple embedded database systems simultaneously with powerful byte deserializer support.

It integrates with top embedded databases in Rust ecosystem: RocksDB, ReDB, SQLite...

I am working on the Desktop version of EDMA to deliver a better user interface, open for public contributions!

1 Like

I'd like to self-nominate Rinf(Rust in Flutter)

Preview

Rinf is a production-ready framework for creating beautiful and performant cross-platform apps using Flutter and Rust with batteries fully included. Simply add this framework to your app project, and you're all set to write Flutter and Rust together!

Visit the demo running on the web to experience the smoothness and delightfulness that comes from the combination of Flutter and Rust. You can also dive into the example code.

  • :white_check_mark: Linux: Tested and supported
  • :white_check_mark: Android: Tested and supported
  • :white_check_mark: Windows: Tested and supported
  • :white_check_mark: macOS: Tested and supported
  • :white_check_mark: iOS: Tested and supported
  • :white_check_mark: Web: Tested and supported

It's truly easy to set up. It only takes about about a minute or two to fully setup your app. No other solution provides this level of convenience.

5 Likes

See optimized assembly of any function in your program. It's like a local version of rust.gotbolt.org. Useful for optimizing (even for non-asm-experts).

9 Likes

I'd like to nominate Oort.

Oort is a "programming game" where you write Rust code to control a fleet of spaceships. Your code is responsible for the engines, weapons, radar, and communications of ships ranging from tiny missiles to massive cruisers.

Apologies if this doesn't qualify since it's not strictly a standalone crate, but it's pretty cool in any case.

6 Likes

I would like to self-nominate webpage-rs, a small library to fetch info about a web page: title, description, language, HTTP info, links, RSS feeds, Opengraph, Schema.org, and more.

It is used in e.g. Lemmy to display an image and title text for submitted links.

5 Likes