Crate of the Week

I think this is an amazing example of a strongly typed JSON API, which is no small feat considering how flexible JSON is when sent from javascript or python. Ruma accomplishes this with some pretty cool macros, that are also worth checking out, and lots of custom serde impls.

ruma-events => macros
ruma-client-api => macros

3 Likes

rust_ipify is a small client library for ipify service.
Is a Client of API-bindings to retrive information about IP address and the global IP address of the machine.
You can find the Crate here

Self-nominating my own crate / side project :slight_smile: :

This is a BASIC interpreter and DOS-like environment fully written in Rust. The goal of the project is to provide a learning environment for coding, but also to offer a "fun" retro-looking computing experience.

The cool thing about this crate, which was not intended at first but that Rust made possible "for free", was targeting the web via WASM. Oh, and it now also has a cloud service running on Azure Functions, also written fully in Rust, but I haven't published the code to that...

5 Likes

Self-nominating https://github.com/Plato-solutions/siderunner

A library for running selenium .side files.

fltk-rs has just released 1.1.0, and my own experience has been very positive. Recommended!

2 Likes

trailofbits/dylint: A tool for running Rust lints from dynamic libraries.

I'm looking into this for writing application-specific lints for a large codebase.

4 Likes

Shameless self-nomination: sync_file, to concurrently read from files without race conditions.

I'd like to nominate Loadstone, a bare-metal bootloader for embedded systems, specifically systems running on Cortex-M microcontrollers.

4 Likes

Self-nomination: sycamore, a Rust library for making web applications using WebAssembly. Features include components, no VDOM, fine-grained reactivity, Server Side Rendering (SSR), Router, among others...

Sycamore is actually pretty fast (it's faster than Svelte) based on js-framework-benchmark.

9 Likes

Another self-nomination: synth is an open source declarative command line test data generator written in Rust.

3 Likes

I'll nominate Ockam.

https://crates.io/crates/ockam

I've personally tried to build some fundamental constructs like transport agnostic e2e encryption and actor libraries, but never invested enough in them. Ockam is basically doing what I had attempted and failed at, but way way way better.

I saw their blog post the other day and I think it's quite cool. e2e encryption + actors is a super cool primitive for secure and resilient services. It reminds me a bit of the hashicorp stack, but as a library.

IMO definitely worth checking out - I think frameworks like this are extremely high potential.

10 Likes

I'll nominate format_serde_error.

2 Likes

And a shameless self-nomination:

1 Like

Another Configuration Library for Rust Applications (with auto derive).

I nominate this abuse of the type system:

via reddit

3 Likes

Thank you @taiki-e!

7 Likes

Self-nomination:

2 Likes

Self-nomination:

This library is a simple schema migration library for rusqlite using user_version instead of an SQL table to maintain the current schema version.

Thus, it aims for:

  • simplicity: define a set of SQL statements. Just add more SQL statement to change the schema. No external CLI, no macro.
  • performance: no need to add a table to be parsed, the user_version field is at a fixed offset in the sqlite file format.
2 Likes

Self nomination:

This is a unix utility for letting you split stdout from a command in a GUI, then get the results back in the terminal to be passed along. It's meant to let you explore command output as a table.

Has qcell been nominated yet? It's a heavily underrated crate, particularly when working with dynamic views of trait objects (runtime polymorphism).

3 Likes