Crate of the Week

One crate per message, so they can get likes as votes.

2 Likes

I nominate boolinator. :slight_smile:

1 Like

Ok, if only 1 crate, I nominate rayon.
This crate is so good that I think that most applications should have a dependency on it.
Very easy to plug some concurrency into your application, and that it does very well.

12 Likes

Should such "most things should have a dependency on it" things be [eventually] included in std?

1 Like

I am not sure rayon is the kind of thing that should go into the std.
Libraries like crossbeam are probably more appropriate for the std. Lock-free containers(data structures). Most containers are appropriate for inclusion in the std :slightly_smiling:
If a library is to opinionated it might not be good for the std, although, I don't think rayon is very opinionated on how things should be done(unless the work-stealing implementation is considered opinionated - I don't think the implementation can be swapped at the moment, although it is configurable).
I think the current implementation of the HashMap(in the std) is more opinionated since it decides by default to be oriented on security, although most users might not need that.

@llogiq @nasa42 What's your opinion on having Crate of the Week come right after Notable New Crates & Project Updates?
My feeling is that most people stop right when they see the technical PRs and RFCs...
Personally I would move Crate of the Week and Quote of the Week more to the top.

It could look something like this:

  • Blog posts and new crates that is nice to keep up-to-date with
  • Nice crate
  • A funny(with occasional exceptions) quote

And that's pretty much where most can stop so they don't get overwhelmed.

  • And then comes technical stuff if you are interested in these details
  • Additional info

Or:

  • Blog posts and new crates
  • Nice crate
  • Technical stuff
  • Additional info
  • A funny quote(It somewhat looks nice when you know that you can scroll to the bottom to always find that 1 quote there)

Thanks @LilianMoraru, following your suggestions, I've moved "Crate of the Week" above "Updates from Rust Core".

2 Likes

Are we allowed to nominate our own crates? If so, I'll add wrapping_macros :slight_smile:

Sure, why not?

Back to nagging – please nominate & vote for our crates of the week! Previous week's crates (in alphabetical order) were:

alias cargo-count chrono clap clippy conrod crossbeam Diesel glium handlebars herbie-lint hyper itertools lazy_static nom preferences quickcheck quick_error racer ramp rayon roaring rotor rustfmt toml winapi

I would like to nominate lalrpop. It's an LR(1) parser generator, where the syntax is written using a nice, quite Rust like language, and it's compiled into Rust code as a part of the build process. There's also the option to use your own token type and tokenizer, which is very nice for more advanced projects.

6 Likes

Well, if we're allowed to plug our own projects, tempfile is pretty useful (especially for testing as tempfile() returns a normal File object).

2 Likes

I would like to nominate cargo-benchcmp which makes it so easy to compare benchmark changes!

Edit: Vote for the renegade :motorcycle: Python script. Utility beats rustic purity.

3 Likes

I would like to nominate eventual. It's a library that provides Future and Stream like abstractions and has a very easy to use interface.

1 Like

Sounds useful, but it's not a crate nor even written in Rust. A Python CotW? :fearful:

Haha, I didn't think about that. I've just been busy using this handy script a lot.

1 Like

Port it to Rust and turn it into a cargo subcommand! :slight_smile:

This one is not on crates.io but I nominate gaol, to plug some more security into our applications.

Note that it does not support Windows yet.

2 Likes

Please nominate & vote for our crates of the week! Previous week's crates (in alphabetical order) were:

alias cargo-count chrono clap clippy conrod crossbeam Diesel glium handlebars herbie-lint hyper itertools LALRPOP lazy_static nom preferences quickcheck quick_error racer ramp rayon roaring rotor rustfmt tempfile toml winapi

Nominating GFX, which has been slowly and steadily exploring the field of low-level graphics API abstractions. It recently got a D3D11 backend and an application launcher, making the dream of cross-API development in Rust to come true.

5 Likes