Crate of the Week


#41

what about the good old https://crates.io/crates/rand ?


#42

Maybe keep a list of nominated packages, and every week create a survey using Google Forms, letting people cast a vote for a whole week (while in the meantime, accept more projects for a next voting).

Once a project wins, it should be moved to a special list of weekly winners. Project that did not win, stay in the pool of candidates).


#43

I was briefly surprised that Crates.io has something like https://www.reddit.com/r/random/ and https://en.wikipedia.org/wiki/Special:Random. Then I clicked the link.


#44

This nominating and voting would be great to integrate into Crates.io. Then crates’ pages could have more to say than just stats and links. I’d be willing to help with the planning and implementation. Would an RFC be a good starting point?


#45

As useful as many of them are, I don’t think Rust-lang crates make good nominations since I assume this whole process is to help community works get their time in the spotlight, especially the lesser-known ones.


#46

For modifying crates.io I’d recommend starting out with some discussion (e.g. an issue, forum thread, etc), although an RFC probably isn’t quite the right location for it. After that it should be relatively straightforward to implement on crates.io!


#47

This websocket library seems to be of high quality and well documented: https://crates.io/crates/ws

It’s my nomination for next week.


#48

I’d like to nominate http://nalgebra.org for next week.


#49

Nominating plutchik, because Rust has a heart. It’s being used for a generative music engine by @mindtree.
`


#50

Last week I tried being quiet about the COTW, and only got few nominations and no votes. That’s why I decided to write about itertools instead. However, for this week, I’d like to return to the “I nag you folks, and you nominate and vote” model we had previously, so here’s the first part of it. Now it’s your turn to supply the other parts. :smile:


#51

I’ll vote for octavo, a great alternative to rust-crypto that is actively maintained and pretty clean.


#52

It’s not pure rust but sodiumoxide is also a pretty nice crypto library (bindings to libnacl).


#53

Out of the two offerings so far (sodiumoxide being the other), I have to say I prefer octavo because I can get it to build on Windows.


#54

Octavo is still not ready as a crypto library. And for very long time it wont be. Trust me, I’m an author.


#55

simple_parallel because everybody likes parallel for.


#56

And again it’s Friday. Though we do have one nomination with a vote(!) I think others could appreciate the reminder, so nominate and vote for this week!


#57

I’m guessing it’d be a conflict of interest for someone to nominate one of their own crates.

Can we get a short list of previous winners with the announcement of each new voting round? I’d hate to nominate something that already won but it’d be a little too much work to go back through the past winners myself, just so I can pick something new.


#58

Ok, so here are the previous winners:

  • clap
  • lazy_static
  • quickcheck
  • itertools
  • conrod

#59

walkdir


#60

Nominating petulant-avenger-graphlibrary… aka petgraph!

It’s a well documented, indexable graph data structure library that also offers a variety of handy algos for search, sorting, etc.

Rust is renown for being tricky when it comes to designing data structures with complex ownership properties - petgraph’s indexing approach makes ownership trivial: the Graph always owns everything, but provides clever (yet simple) methods for both traversing neighbours and safely accessing multiple nodes/edges at once in useful ways.

We use petgraph’s Graph to represent the widget graph in conrod as well as the dsp graph in RustAudio’s dsp-chain.

See it here: