Crate of the Week

Is self-promotion allowed?

yottadb

Rust bindings for YottaDB. YottaDB is a multi-language NoSQL database. The Rust bindings just had their 1.0 release.

https://crates.io/crates/yottadb
repository: https://gitlab.com/YottaDB/Lang/YDBRust
documentation: https://yottadb.gitlab.io/Lang/YDBRust/yottadb/

4 Likes

Yep. :slight_smile:

1 Like

probe-run integrates running on embedded devices into vscode

blog post:

4 Likes

Nominating ruut as talked about in the Rustconf talk.

Github: https://github.com/harrisonb/ruut

1 Like

Macro that enables working with enums like a range of numbers, allowing getting min/max or previous/next variants of an enum.

7 Likes

After a long refactoring the pdf crate just had its 0.7 release.
We managed to get popular enough to get copyright attacks by Adobe!

14 Likes

GlueSQL

4 Likes

CraftQL - A CLI tool to manipulate GraphQL schemas and to output a graph data structure as a graphviz .dot format

1 Like

cached: Allows you to create "memoized" functions, which apparently means their results are cached based on their inputs. :slight_smile:

7 Likes

serde-query: An efficient query language for Serde:

  • Efficient. You can extract only the target parts from a potentially large document with a jq-like syntax. It works like a streaming parser and touches only a minimal amount of elements.
  • Flexible. serde-query can work with any serde-compatible formats.
  • Zero-cost. The traversal structure is encoded as types in compile time.
11 Likes

cucumber-rust: An implementation of the Cucumber testing framework for Rust. Fully native, no external test runners or dependencies.

3 Likes

gitoxide: An idiomatic, modern, lean, fast, safe & pure rust implementation of git

16 Likes

ultraviolet: A wide linear algebra crate for games and graphics.

3 Likes

Seconded. gitoxide is incredible work, and it'd be nice to get people aware of it while it's still early, to help drive use cases and get contributors.

3 Likes

This looks really nice!

2 Likes

Nominating arrayref, which instantly solved a tedious and annoying problem (turning &[T; 16] into (&[T; 8], &[T; 8])) that was holding me up the other day. Tiny crates are the best.

This package contains just four macros, which enable the creation of array references to portions of arrays or slices (or things that can be sliced).

2 Likes

Some people have asked for s.th. similar in the past.
1 Like

This one looks handy!
1 Like

A library for setting up Rust objects inspired by factory_bot.

crates: https://crates.io/crates/beaver
docs: http://docs.rs/beaver

1 Like

Nominating cargo-about, because it lets you create the file you're legally obliged to ship with your executable according to most licenses' text. Also, it checks crates against your list of approved licenses. Where there's a choice of license, it only includes the license you've approved. By default it generates HTML, but with some fiddling about with the about.hbs it can produce nice plain text output too. Saved me a lot of time.

9 Likes