Crate of the Week

I nominate pikkr, a new approach to JSON parsing that does not need to perform tokenization, and leverages SIMD and speculative parsing.

https://github.com/pikkr/pikkr

8 Likes

I would like to unhumbly nominate my own crate: Mocktopus.

It's a powerful mocking framework for Rust, which requires almost zero setup effort. Its announcement got a very positive response on Reddit and I believe, it will make a good impact on Rust testing workflow.

2 Likes

Can I nominate a crate that I maintain: ipnetwork

This helps to deal with IPv4 and v6 CIDRs in pure Rust.

I nominate rug, a crate to provide arbitrary-precision integers, rational numbers, floating-point numbers and complex numbers, complete with supporting functions like trigonometric and exponential functions. Many functions have different versions which consume, borrow, or borrow mutably. Operator overloading is provided too. The implementation uses the C libraries GMP, MPFR and MPC.

3 Likes

I nominate darling, which derives attribute parsing into structs for custom derives. Would have saved me a bunch of time if I knew of it earlier.

2 Likes

I'd like to shamelessly plug my little project luftpost -- German for "air mail" -- which watches and notifies via E-Mail about luftdaten.info air pollution particulates sensors.

The German based project luftdaten.info offers a very easy do-it-yourself instruction on how to build an inexpensive yet powerful particulates sensor. These sensors regularly measures the particulates concentration and transmits the resulting data to luftdaten.info where it is processed and displayed on a world map. Even though most sensors are deployed in Germany you can find sensors all over the world. luftpost monitors these sensors and sends nicely formatted E-Mails with graphs, when thresholds are exceeded.

4 Likes

I nominate indicatif, a library for rendering progress bars in command-line applications: https://crates.io/crates/indicatif

4 Likes

Wow, this thread is massive. Perhaps there should be a new thread each week. Or better yet, a new thread each week in a Crate of the Week category.

2 Likes

Less radical is a new thread each month or 3 monthes or 6 monthes.

Does anyone notice how my post is quoted, yet discourse says that it was actually @achanda? That's a bit weird.

1 Like

Fixed the quotation block metadata. The quotation text was manually edited to the one I intended to quote .

I'd like to propose https://crates.io/crates/version-sync which the author just announced in the 'What are you working on' thread.

https://github.com/TheNeikos/rustbreak

2 Likes

https://crates.io/crates/tomlq

I'd like to nominate my crate abrute. It's got a good feature set now. It's a brute force AES file decryptor.

https://github.com/Smithay/smithay

1 Like

I'd like to nominate if_chain, a macro to help combat the rightward drift caused by nested if and if let statements.

6 Likes

I would like to nominate my crate (highly biased) seq, a lightweight, generic sequence container for stack-memory-oriented list management, avoiding dynamic memory allocation while traversing a tree-data-structure. Intended for nested function-calls.

1 Like

I was originally going to criticize if_chain saying people should rewrite their code so you don't get the rightward drift in the first case, but reading the accompanying blog post I realized I've had this exact problem when wanting to write lints or a toy language. That's a +1 from me.

4 Likes

Linkified, because it took me at least three levels of indirection to find it. Nice read!

5 Likes