Crate of the Week


Suggestion for next week, competition for im
A bioinformatics library to blaze through .fastq and .fasta files, allowing quick, low-overhead parsing and custom processing of basic genomics data.

I use this in production, and am very happy with it!


cargo-make task runner and build tool for rust.
I wrote it and using it for my open source and company internal projects.
Really helps to speed up dev and standardize the build process.


Of course I need to nominate my own, heavy duty extended final state machine crate :wink: :wink:

Rust, with the extremely easy async programming needed something like this for a long time. Not a toy but very extensive library geared towards production use …

An extensible framework for blockchain software projects.


cute: Python like comprehensions in Rust


I’d like to nominate shawshank. I was having a lot of trouble with string cloning and fixing that through keeping all strings in one place and having references everywhere else. When I found Shawshank I was so happy, it really easy to use :slight_smile:

Shawshank gives a simple arena datastructure and interface for interning data. It’s basically an arena with maximal sharing, when you give it the same data twice it will only keep one copy. Give it some data to own, it gives you back an id to access it later. With the id you can get a borrow to data, or remove (disintern) the data.





A code coverage tool created specifically for rust as a cargo subcommand.

cargo tarpaulin
Launching test

running 1 test
test tests::bad_test ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured

Coverage Results
src/ 7/8
src/ 0/4

58.33% coverage, 7/12 lines covered



AES (Rijndael) block ciphers implementation using AES-NI


Exa, a modern replacement for ls, written in Rust.


Juggernaut, an experimental neural network, written in Rust.


match_all RFC, this crate was created for RFC#2003. It provides the following macros: “match_all”, “for_match”, and “for_match_all”


great crate :wink: Sigh, not an obvious name to find it … BTW, internationalization support for it would be cool, i.e. you can intern multiple languages and pull one you need or if nothing there, pull out default language. It would need to read the usual GNU internationalizaiont .po stuff though …


Good idea. Pinging @kinghajj (should have done that when I nominated the crate)


Tarpaulin looks like a great crate (link in email broken it’s tarpaulin-cargo) but unfortunately doesn’t compile. On latest nightly

error[E0432]: unresolved import nix::sys::ptrace
–> /Users/prz/.cargo/registry/src/

I know that nix crate was moving stuff around, maybe that’s it …


pest (PEG parser) is a good candidate as Crate of the Week. It is quite simple to get used to it, grammar is easy to learn and read. 1.0 is approaching (beta.3 at the time of writing. Works especially fine for languages and text parsing. Not to forget, it’s fast. Doc does exist.


Candidate for crate-of-the-week: derive_builder. It was already crate-of-the-week in issue 169, but I think it’s cool enough to get another mention after six months or so. :wink:


Another candidate: brain, a high-level programming language that compiles to brainfuck.

I’m not sure if it’s useful, but it’s awesome.


I’ll suggest one of my own crates. enum-primitive-derive This helps improve the ergonomics when having to wrap up existing code by allowing you to crate C-like enums to encompass #define’s and then transition back and forth between them easily. It was a pattern I’ve written many times over the years and finally wrote a custom derive for it to hopefully make it easier for everyone.


Yet another candidate: partition, a crate to partition an unordered slice in place.