Crate of the Week

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

Nominating fs-err.

When you use std::fs, you may get very unhelpful errors like
The system cannot find the file specified. (os error 2)
that don't show the path of the file on which the error occured.

fs-err wraps the functions in std::fs and adds the path information to the error while staying compatible with std::io::Error.
Saved me the pain of adding the error context myself everywhere.

13 Likes

Nominating https://github.com/lukaslueg/volkswagen/tree/HEAD/volkswagen because it's funny.

6 Likes

Looks interesting...

4 Likes
1 Like

Not sure if this has been featured before:

For concatenating idents!

3 Likes
1 Like

https://crates.io/crates/genpdf
From the readme: "A user-friendly PDF generator written in pure Rust."


That's from the official unicode consortium!
12 Likes

That definitely gives me some ideas for the time crate! The formatting is (unsurprisingly) based on the Unicode standard, bit it is something to look at.

1 Like

An alternative to derive-builder
2 Likes

0.1 release was just announced: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.1

4 Likes