A list of useful and relatively mature crates for various tasks, for you need a de-facto-standard way of doing stuff.
Basically, if there's an obvious answer to a common "how do I do X" question, or if someone might ask "Why isn't X in std?", X should go here. This shouldn't become awesome-rust, we have awesome-rust for that.
Another excellent source is stdx, check it out.
Rules:
- At most two crates that do more or less the same thing
- If there's no halfway decent docs and readme, leave it out
- If it's not a go-to solution for the task it's doing, leave it out
- If you're not sure, leave it out
If you have a suggestion, amendment, flames, or other communication, open an issue. Or better, a pull request.
To do: Short descriptions, links to crates, note whether or not it is pure rust, better tables, link to arewe*yet...
- futures-rs
- mio
- tokio
- bitflags
- byteorder
- clap
- docopt
- bzip2
- flate2
- zip
- itertools
- crypto
- ring
- arrayvec
- ndarray
- vec_map
- phf
- typemap
- petgraph
- smallvec
- diesel
- seek_bufread
- tempdir
- gfx
- glium
- conrod?
- imgui-rs?
- glfw
- glutin
- sdl2
- rusttype
- genmesh
- image
- monster
- odds
- lua
- dyon
- gluon
- log
- slog
log backends (needs sorting through)
- emit
- env_logger
- fern
- ulog
Other stuff:
- log
- loggerv
- mowl
- simplelog
- num (traits, complex/bigint/rational number types, iterators, all sorts of nice stuff)
- try_from
- nalgebra
- cgmath
- noise
- typed_arena
- semver
- json
- serde_json
- toml
- combine
- nom
- lalrpop
- winapi
- num_cpus
- threadpool
- thread-scoped
- rayon
- rand
- lazy_static
- owning_ref
- rental
- thread_local
- rustc_serialize
- serde
- alto
- ears
- handlebars
- regex
- symtern
- tera
- rustyline
- termion
- chrono
- time
- hyper
- reqwest
- iron
- pencil
- cookie
- formdata
- idna
- url
- mime
- uuid