Crate of the Week


#263

Suggestion for next week, competition for im
Needletail
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!


#264

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.


#265

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

https://crates.io/crates/extfsm

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 …


#266

https://crates.io/crates/exonum
An extensible framework for blockchain software projects.


#267

cute: Python like comprehensions in Rust


#268

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:

https://crates.io/crates/shawshank

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.


#269

whatlang: https://github.com/greyblake/whatlang-rs


#270

Tarpaulin

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/lib.rs: 7/8
src/unused.rs: 0/4

58.33% coverage, 7/12 lines covered

#271

aesni

AES (Rijndael) block ciphers implementation using AES-NI


#273

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


#274

Juggernaut, an experimental neural network, written in Rust.


#275

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


#276

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 …


#277

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


#278

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/github.com-1ecc6299db9ec823/cargo-tarpaulin-0.3.13/src/lib.rs:26:15

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


#279

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.


#280

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:


#281

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

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


#282

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.


#283

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