# Community-maintained guide to crates

**URL:** <https://internals.rust-lang.org/t/community-maintained-guide-to-crates/8481>\
**Category:** documentation\
**Created:** [September 26, 2018, 9:49pm UTC](https://internals.rust-lang.org/t/community-maintained-guide-to-crates/8481 "2018-09-26T21:49:17Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![repax](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/repax/32/1342_2.png) [@repax](https://internals.rust-lang.org/u/repax)\
**Post date:** [September 26, 2018, 9:49pm UTC](https://internals.rust-lang.org/t/community-maintained-guide-to-crates/8481/1 "2018-09-26T21:49:17Z")

</div>

The categories listed on [crates.io](http://crates.io) are a good means of classifying crates – if you know what you are looking for – but I got the idea of a Community Wiki as a guide to the landscape of everyday crates in the Rust ecosystem.

Do you think the need or benefit is there, and the liveliness of the community to maintain such a wiki?

The Community Wiki could be a place for sharing tips, code and cross-crate commentaries. Perhaps starting with the various Working Groups, crates central to their domains could be introduced and presented. For some domains, perhaps a process-oriented (what-do-you-want-to-do) exposition could be used.  
Crates-io today has a [list of categories](https://crates.io/categories) but what I would like to see, I guess, is a more human touch to it. 🤗  
 Other things that could be of interest on this wiki:

- Directory of crates suitable for no-std/embedded
- Security best-practices and recipes
- FFI handbook
- “Super groups”, or _topics_ of crate categories.
- Rust-by-example-style tips for the crates of the community, open for anyone to contribute to.

---

<div class="post-metadata">

**Author:** ![notriddle](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/notriddle/32/14082_2.png) [@notriddle](https://internals.rust-lang.org/u/notriddle)\
**Post date:** [September 26, 2018, 10:51pm UTC](https://internals.rust-lang.org/t/community-maintained-guide-to-crates/8481/2 "2018-09-26T22:51:46Z")

</div>

Isn’t that basically what the [cookbook](https://github.com/rust-lang-nursery/rust-cookbook) and [awesome list](https://github.com/rust-unofficial/awesome-rust) are?

---

<div class="post-metadata">

**Author:** ![repax](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/repax/32/1342_2.png) [@repax](https://internals.rust-lang.org/u/repax)\
**Post date:** [September 26, 2018, 11:43pm UTC](https://internals.rust-lang.org/t/community-maintained-guide-to-crates/8481/3 "2018-09-26T23:43:16Z")

</div>

In part, but a wiki doesn’t require approved PRs for additions or changes to be published. I want a more inclusive form.

Perhaps it’s also still too much of a generated “list” and not enough of a living document with links and sections?

It would also be useful to integrate this information with [crates.io](http://crates.io) as this is where crates are found. I think crates-io is the natural centrepoint of the community, where everybody goes, and the place where the biggest impact is possible. I might be wrong about that.

---

<div class="post-metadata">

**Author:** ![kornel](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/kornel/32/2711_2.png) [@kornel](https://internals.rust-lang.org/u/kornel)\
**Post date:** [September 27, 2018, 9:02am UTC](https://internals.rust-lang.org/t/community-maintained-guide-to-crates/8481/5 "2018-09-27T09:02:16Z")

</div>

I think curation outside of crates-io is a good idea.

On crates.rs I’ve already created three new categories that don’t exist on crates-io: Math, Machine Learning, and Cryptocurrencies. IMHO categories work well when they have 50-100 crates, so I’m happy to add more and especially split the existing large ones.

I am considering adding even smaller categories for specific tasks, e.g. error handling. There are a few sites “Are We \* Yet” for web frameworks, machine learning. These are pretty cool IMHO.

The difficulties I see is in keeping them up to date long term. When I look at Awesome Rust list, I don’t know if there are still awesome, or something else has come since. These list tend to add stuff easily, but remove only when the crates obviously rot.

---

<div class="post-metadata">

**Author:** ![repax](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/repax/32/1342_2.png) [@repax](https://internals.rust-lang.org/u/repax)\
**Post date:** [September 28, 2018, 9:27am UTC](https://internals.rust-lang.org/t/community-maintained-guide-to-crates/8481/6 "2018-09-28T09:27:46Z")

</div>

> [@kornel](#):
>
> IMHO categories work well when they have 50-100 crates, so I’m happy to add more and especially split the existing large ones.

Crates.rs looks very good! More categories and/or filters could reduce the list lengths to something manageable.

> [@kornel](#):
>
> The difficulties I see is in keeping them up to date long term.

What to do about crate rot? Perhaps a default sorting algorithm could be useful within each category, taking various properties into account: recent downloads, does the crate build?, last update...

Another, somewhat related idea, I had was linking/adding a public comment section to crate pages, a bit like the [User Contributed Notes on the PHP website](http://php.net/manual/en/language.oop5.php). But perhaps that would be more of a [docs.rs](https://docs.rs) thing. I guess my main problem is that I feel that the information is too dispersed: crates-io/rs, docs.rs, cookbook, awesome list, wg pages... Maybe that's just me feeling a bit lost. 😄

---

<div class="post-metadata">

**Author:** ![brycx](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/brycx/32/14538_2.png) [@brycx](https://internals.rust-lang.org/u/brycx)\
**Post date:** [September 29, 2018, 11:07am UTC](https://internals.rust-lang.org/t/community-maintained-guide-to-crates/8481/7 "2018-09-29T11:07:29Z")

</div>

I think this is a very good idea. I made [a similar suggestion](https://internals.rust-lang.org/t/proposal-security-working-group/8282/5) in the Security WG proposal, regarding crates under the cryptography category. Though this more meant as a officially endorsed list, where listed crates had been reviewed, I think a community effort like this one could work in conjunction with the Security WG if they decide to implement my suggestion.

Or a community-wiki could be a starting point of something the Security WG could base their list off of, taking crates listed there and review further.

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/system/32/14092_2.png) [@system](https://internals.rust-lang.org/u/system)\
**Post date:** [March 25, 2019, 8:30am UTC](https://internals.rust-lang.org/t/community-maintained-guide-to-crates/8481/8 "2019-03-25T08:30:56Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
