this post was submitted on 17 Nov 2023
13 points (93.3% liked)

Rust

7098 readers
29 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 2 years ago
MODERATORS
 

I love browsing crates.io and blessed.rs for interesting and useful crates to experiment with. What are your favorite?

I'm especially interested in those simple ones that do one thing and do it will, like uuid, tempfile, and notify.

top 6 comments
sorted by: hot top controversial new old
[–] sebsch@discuss.tchncs.de 12 points 2 years ago (1 children)

I mean serde is -- in my understanding -- the most useful crate out there. It does exactly one thing and that very well.

[–] abir_vandergriff@beehaw.org 9 points 2 years ago

Dtolney, the author for serde, has a stupid amount of libraries that fit this.

Other than serde, he owns syn, thiserror, anyhow, and async-trait.

He's practically the Atlas of the Rust ecosystem.

[–] Vorpal@programming.dev 7 points 2 years ago

Here are some I found and used in my own code:

  • itertools
  • regex
  • anyhow and thiserror (error handling)
  • indoc (indented/formatted multi line string literals)
  • strum (various derive macros for enums)
  • petgraph (for working with general graphs)
  • winnow is a great (and fast) parser combinator library.
  • bpaf, clap and xflags are three different command line argument parser libraries. Which one to use depends on the needs of the project and if you need to match the behaviour of an existing non-rust program (as I needed to in one case)
[–] SWW13@lemmy.brief.guru 4 points 2 years ago

If you are looking for something specific or a category of crate you may want to checkout lib.rs, a great alternative frontend for crates.

[–] d_k_bo@feddit.de 2 points 2 years ago* (last edited 2 years ago)

I like isolang for handling ISO-639 language codes.

(Disclaimer: I contributed to it)


In the async world, I love the smol stack where each functionality is split into an independent subcrate.

[–] rutrum@lm.paradisus.day 2 points 2 years ago

This is the first time I'm hearing about blessed.rs, thank you. Havent used lib.rs since they closed the source. Thanks for sharing.

I wrote a string case conversion library called "convert-case". Most people use "heck". They use different patterns, and different naming conventions. I prefer mine (more features), but it also came out long after heck became standard.