1
0
Fork 0
mirror of https://github.com/rust-unofficial/awesome-rust.git synced 2024-11-27 11:44:52 -05:00
rust/README.md

304 lines
30 KiB
Markdown
Raw Normal View History

2014-07-17 06:47:44 -04:00
# Awesome Rust
2014-07-17 09:05:35 -04:00
A curated list of awesome Rust code and resources. Inspired by the other [awesome lists](https://github.com/bayandin/awesome-awesomeness).
2014-07-17 07:02:40 -04:00
2015-05-11 03:00:13 -04:00
Ther goal is to have only projects that are mostly stable and useful to users. Projects that do not compile with Rust-nightly for a longer time should be removed.
2014-07-17 07:02:40 -04:00
- [Awesome Rust](#awesome-rust)
2015-03-06 01:52:25 -05:00
- [Applications written in Rust](#applications-written-in-rust)
2014-12-18 13:54:22 -05:00
- [Games](#games)
2015-03-23 15:04:17 -04:00
- [Libraries](#libraries)
2014-07-18 02:24:50 -04:00
- [Audio](#audio)
2014-07-20 10:24:03 -04:00
- [Build system](#build-system)
2014-07-26 06:38:16 -04:00
- [Command-line argument parsing](#command-line-argument-parsing)
2014-07-17 10:34:35 -04:00
- [Compression](#compression)
2014-07-18 02:35:28 -04:00
- [Computation](#computation)
2014-07-17 10:34:35 -04:00
- [Cryptography](#cryptography)
2014-07-20 10:06:24 -04:00
- [Database](#database)
2015-05-29 23:04:18 -04:00
- [Data structures](#data-structures)
2014-12-16 15:49:42 -05:00
- [Date and time](#date-and-time)
2014-07-20 08:56:41 -04:00
- [Encoding](#encoding)
2015-05-21 14:06:39 -04:00
- [Filesystem](#filesystem)
2014-07-21 02:21:16 -04:00
- [Game development](#game-development)
2014-07-21 01:56:17 -04:00
- [Games](#games)
2014-07-20 09:02:45 -04:00
- [GUI](#gui)
2014-10-12 06:37:13 -04:00
- [Image processing](#image-processing)
2014-12-13 04:40:25 -05:00
- [Mobile](#mobile)
2014-07-20 10:30:14 -04:00
- [Network programming](#network-programming)
2014-12-16 15:49:42 -05:00
- [Platform specific](#platform-specific)
2014-07-20 10:31:40 -04:00
- [Template engine](#template-engine)
2015-05-08 02:09:30 -04:00
- [Testing](#testing)
- [Text processing](#text-processing)
2014-07-20 10:30:14 -04:00
- [Web programming](#web-programming)
2014-07-17 09:05:35 -04:00
- [Resources](#resources)
2015-03-03 02:03:29 -05:00
- [Tools](#tools)
2015-05-08 04:07:17 -04:00
- [IDEs](#ides)
2014-07-17 07:02:40 -04:00
2015-03-06 01:52:25 -05:00
## Applications written in Rust
2014-12-18 13:46:25 -05:00
2015-05-10 10:51:16 -04:00
* [buster/rrun](https://github.com/buster/rrun) — A command launcher for Linux, similar to gmrun [<img src="https://travis-ci.org/buster/rrun.svg?branch=master">](https://travis-ci.org/buster/rrun)
2015-04-08 14:05:55 -04:00
* [BurntSushi/xsv](https://github.com/BurntSushi/xsv) — A fast CSV command line tool (slicing, indexing, selecting, searching, sampling, etc.) [<img src="https://travis-ci.org/BurntSushi/xsv.svg?branch=master">](https://travis-ci.org/BurntSushi/xsv)
2014-12-18 13:54:22 -05:00
* [gchp/iota](https://github.com/gchp/iota) — a simple text editor written in Rust [<img src="https://travis-ci.org/gchp/iota.svg?branch=master">](https://travis-ci.org/gchp/iota)
2015-06-08 03:24:01 -04:00
* [kbknapp/docli](https://github.com/kbknapp/docli-rs) - a command line utility for managing DigitalOcean infrastructure [<img src="https://travis-ci.org/kbknapp/docli-rs.svg?branch=master">](https://travis-ci.org/kbknapp/docli-rs)
2014-12-18 13:54:22 -05:00
* [Servo](https://github.com/servo/servo) — a prototype web browser engine written in Rust
2015-04-09 08:21:18 -04:00
* [thoughtram/clog](https://github.com/thoughtram/clog) — a [conventional changelog](https://github.com/ajoslin/conventional-changelog/blob/master/CONVENTIONS.md) port (generates a changelog from git metadata) [<img src="https://travis-ci.org/thoughtram/clog.svg?branch=master">](https://travis-ci.org/thoughtram/clog)
2015-03-21 12:31:41 -04:00
* [uutils/coreutils](https://github.com/uutils/coreutils) — cross-platform Rust rewrite of the GNU coreutils [<img src="https://travis-ci.org/uutils/coreutils.svg?branch=master">](https://travis-ci.org/uutils/coreutils)
2014-12-18 13:50:33 -05:00
### Games
2015-01-22 13:20:52 -05:00
* [Coeuvre/rust-2048](https://github.com/Coeuvre/rust-2048)
2014-12-18 13:50:33 -05:00
* [lifthrasiir/angolmois-rust](https://github.com/lifthrasiir/angolmois-rust) — a minimalistic music video game which supports the BMS format [<img src="https://travis-ci.org/lifthrasiir/angolmois-rust.svg?branch=master">](https://travis-ci.org/lifthrasiir/angolmois-rust)
2014-12-18 13:52:08 -05:00
2014-07-17 09:05:35 -04:00
2015-04-14 02:14:45 -04:00
## Libraries
2014-10-11 09:02:35 -04:00
2014-07-18 02:24:50 -04:00
### Audio
2015-01-22 13:17:52 -05:00
* [bjz/openal-rs](https://github.com/bjz/openal-rs) — [OpenAL 1.1](http://www.openal.org/) bindings [<img src="https://travis-ci.org/bjz/openal-rs.svg?branch=master">](https://travis-ci.org/bjz/openal-rs)
2015-05-20 07:51:14 -04:00
* [GuillaumeGomez/rust-fmod](https://github.com/GuillaumeGomez/rust-fmod) — [FMOD](http://www.fmod.org/) bindings [![Build Status](https://api.travis-ci.org/GuillaumeGomez/rust-fmod.png?branch=master)](https://travis-ci.org/GuillaumeGomez/rust-fmod)
2015-04-14 02:16:08 -04:00
* [JeremyLetang/ears](https://github.com/JeremyLetang/ears) — a simple library to play Sounds and Musics, on top of OpenAL and libsndfile [<img src="https://travis-ci.org/jeremyletang/ears.svg?branch=master">](https://travis-ci.org/jeremyletang/ears)
2015-04-14 02:15:30 -04:00
* [JeremyLetang/rust-portaudio](https://github.com/JeremyLetang/rust-portaudio) — [PortAudio](http://www.portaudio.com/) bindings [<img src="https://travis-ci.org/jeremyletang/rust-portaudio.svg?branch=master">](https://travis-ci.org/jeremyletang/rust-portaudio)
2015-04-14 02:12:42 -04:00
* [RustAudio](https://github.com/RustAudio)
2015-04-14 02:13:10 -04:00
* [samdoshi/portmidi-rs](https://github.com/samdoshi/portmidi-rs) — [PortMidi](http://portmedia.sourceforge.net/portmidi/) bindings [<img src="https://travis-ci.org/samdoshi/portmidi-rs.svg?branch=master">](https://travis-ci.org/samdoshi/portmidi-rs)
2014-07-18 02:24:50 -04:00
2014-07-20 10:24:03 -04:00
### Build system
2015-01-22 13:17:52 -05:00
* [Cargo](http://crates.io/) — the Rust package manager
2014-07-20 10:24:03 -04:00
* CMake
2014-10-12 07:35:55 -04:00
* [SiegeLord/RustCMake](https://github.com/SiegeLord/RustCMake) — an example project showing usage of CMake with Rust [<img src="https://travis-ci.org/SiegeLord/RustCMake.svg?branch=master">](https://travis-ci.org/SiegeLord/RustCMake)
2014-07-20 10:24:03 -04:00
2014-07-26 06:38:16 -04:00
### Command-line argument parsing
2014-10-12 13:35:27 -04:00
* [docopt/docopt.rs](https://github.com/docopt/docopt.rs) — a Rust implementation of [DocOpt](http://docopt.org) [<img src="https://travis-ci.org/docopt/docopt.rs.svg?branch=master">](https://travis-ci.org/docopt/docopt.rs)
* [kbknapp/clap-rs](https://github.com/kbknapp/clap-rs) — a simple to use, full featured command-line argument parser [<img src="https://travis-ci.org/kbknapp/clap-rs.svg?branch=master">](https://travis-ci.org/kbknapp/clap-rs)
2014-07-26 06:38:16 -04:00
2014-07-17 10:31:09 -04:00
### Compression
2014-11-02 13:45:17 -05:00
* [alexcrichton/bzip2-rs](https://github.com/alexcrichton/bzip2-rs) — [libbz2](http://www.bzip.org) bindings [<img src="https://travis-ci.org/alexcrichton/bzip2-rs.svg?branch=master">](https://travis-ci.org/alexcrichton/bzip2-rs)
2014-11-18 12:50:14 -05:00
* [alexcrichton/flate2-rs](https://github.com/alexcrichton/flate2-rs) — [miniz](https://code.google.com/p/miniz/) bindings [<img src="https://travis-ci.org/alexcrichton/flate2-rs.svg?branch=master">](https://travis-ci.org/alexcrichton/flate2-rs)
2014-11-02 13:47:00 -05:00
* [alexcrichton/tar-rs](https://github.com/alexcrichton/tar-rs) — tar archive reading/writing in Rust [<img src="https://travis-ci.org/alexcrichton/tar-rs.svg?branch=master">](https://travis-ci.org/alexcrichton/tar-rs)
2014-10-12 07:35:55 -04:00
* [lifthrasiir/rust-zip](https://github.com/lifthrasiir/rust-zip) — read and write ZIP archives [<img src="https://travis-ci.org/lifthrasiir/rust-zip.svg?branch=master">](https://travis-ci.org/lifthrasiir/rust-zip)
2014-07-17 10:31:09 -04:00
2014-07-18 02:35:53 -04:00
### Computation
2014-10-11 09:02:35 -04:00
2014-12-18 14:11:46 -05:00
* [luqmana/rust-opencl](https://github.com/luqmana/rust-opencl) — [OpenCL](https://www.khronos.org/opencl/) bindings [<img src="https://travis-ci.org/luqmana/rust-opencl.svg?branch=master">](https://travis-ci.org/luqmana/rust-opencl)
2015-01-22 13:17:52 -05:00
* [thestinger/rust-gmp](https://github.com/thestinger/rust-gmp) — [libgmp](https://gmplib.org/) bindings [<img src="https://travis-ci.org/thestinger/rust-gmp.svg?branch=master">](https://travis-ci.org/thestinger/rust-gmp)
2015-03-23 16:08:20 -04:00
* [GuillaumeGomez/rust-GSL](https://github.com/GuillaumeGomez) - [GSL](http://www.gnu.org/software/gsl/) bindings [<img src="https://travis-ci.org/GuillaumeGomez/rust-GSL.svg?branch=master">](https://travis-ci.org/GuillaumeGomez/rust-GSL)
2015-05-07 19:32:53 -04:00
* [stainless-steel/blas](https://github.com/stainless-steel/blas) - [BLAS](http://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms) [<img src="https://travis-ci.org/stainless-steel/blas.svg?branch=master">](https://travis-ci.org/stainless-steel/blas)
* [stainless-steel/lapack](https://github.com/stainless-steel/lapack) - [BLAS](http://en.wikipedia.org/wiki/LAPACK) [<img src="https://travis-ci.org/stainless-steel/lapack.svg?branch=master">](https://travis-ci.org/stainless-steel/lapack)
2014-07-18 02:35:28 -04:00
2014-07-17 10:34:35 -04:00
### Cryptography
2014-10-12 07:35:55 -04:00
* [DaGenix/rust-crypto](https://github.com/DaGenix/rust-crypto) — cryptographic algorithms in Rust [<img src="https://travis-ci.org/DaGenix/rust-crypto.svg?branch=master">](https://travis-ci.org/DaGenix/rust-crypto)
2015-01-22 13:17:52 -05:00
* [dnaq/sodiumoxide](https://github.com/dnaq/sodiumoxide) — [libsodium](https://github.com/jedisct1/libsodium) bindings [<img src="https://travis-ci.org/dnaq/sodiumoxide.svg?branch=master">](https://travis-ci.org/dnaq/sodiumoxide)
2015-01-22 13:20:52 -05:00
* [klutzy/suruga](https://github.com/klutzy/suruga) — a Rust implementation of [TLS 1.2](http://tools.ietf.org/html/rfc5246)
2015-01-22 13:17:52 -05:00
* [seb-m/common.rs](https://github.com/seb-m/common.rs) — Common Rust crypto utilities [<img src="https://travis-ci.org/seb-m/common.rs.svg?branch=master">](https://travis-ci.org/seb-m/common.rs)
2014-11-02 13:36:41 -05:00
* [sfackler/rust-openssl](https://github.com/sfackler/rust-openssl) — [OpenSSL](https://www.openssl.org/) bindings [<img src="https://travis-ci.org/sfackler/rust-openssl.svg?branch=master">](https://travis-ci.org/sfackler/rust-openssl)
2014-07-17 10:34:35 -04:00
2014-07-20 10:06:24 -04:00
### Database
2014-11-20 13:10:27 -05:00
* NoSQL
* Cassandra
* [tupshin/cassandra-rust](https://github.com/tupshin/cassandra-rust) — [Cassandra](http://cassandra.apache.org) bindings
2015-06-08 02:57:33 -04:00
* Elastic (formerly Elasticsearch)
2015-06-08 02:58:51 -04:00
* [benashford/rs-es] (https://github.com/benashford/rs-es) - A Rust client for the [Elastic] (https://www.elastic.co/) REST API
2015-04-10 03:03:43 -04:00
* LMDB
* [vhbit/lmdb-rs](https://github.com/vhbit/lmdb-rs) — [LMDB](http://symas.com/mdb/) bindings [<img src="https://travis-ci.org/vhbit/lmdb-rs.svg?branch=master">](https://travis-ci.org/vhbit/lmdb-rs)
2014-12-21 13:28:41 -05:00
* Redis
* [mitsuhiko/redis-rs](https://github.com/mitsuhiko/redis-rs) — [Redis](http://redis.io) library in Rust [<img src="https://travis-ci.org/mitsuhiko/redis-rs.svg?branch=master">](https://travis-ci.org/mitsuhiko/redis-rs)
2014-07-20 10:06:24 -04:00
* SQL
* MySql
2014-10-12 07:35:55 -04:00
* [blackbeam/rust-mysql-simple](https://github.com/blackbeam/rust-mysql-simple) — a native MySql client [<img src="https://travis-ci.org/blackbeam/rust-mysql-simple.svg?branch=master">](https://travis-ci.org/blackbeam/rust-mysql-simple)
2014-07-20 10:06:24 -04:00
* PostgreSql
2014-10-12 07:35:55 -04:00
* [sfackler/rust-postgres](https://github.com/sfackler/rust-postgres) — a native [PostgreSQL](http://www.postgresql.org) client [<img src="https://travis-ci.org/sfackler/rust-postgres.svg?branch=master">](https://travis-ci.org/sfackler/rust-postgres)
2014-07-20 10:06:24 -04:00
* Sqlite
2015-03-17 07:25:05 -04:00
* [dckc/rust-sqlite3](https://github.com/dckc/rust-sqlite3) — [Sqlite3](http://www.sqlite.org/) bindings [<img src="https://travis-ci.org/dckc/rust-sqlite3.svg?branch=master">](https://travis-ci.org/dckc/rust-sqlite3)
2015-04-10 01:53:30 -04:00
* [jgallagher/rusqlite](https://github.com/jgallagher/rusqlite) — [Sqlite3](http://www.sqlite.org/) bindings [<img src="https://travis-ci.org/jgallagher/rusqlite.svg?branch=master">](https://travis-ci.org/jgallagher/rusqlite)
2015-01-09 15:37:09 -05:00
* [linuxfood/rustsqlite](https://github.com/linuxfood/rustsqlite) — [Sqlite3](http://www.sqlite.org/) bindings [<img src="https://travis-ci.org/linuxfood/rustsqlite.svg?branch=master">](https://travis-ci.org/linuxfood/rustsqlite)
2014-07-20 10:06:24 -04:00
2014-12-16 15:49:42 -05:00
### Date and time
* [lifthrasiir/rust-chrono](https://github.com/lifthrasiir/rust-chrono) — [<img src="https://travis-ci.org/lifthrasiir/rust-chrono.svg?branch=master">](https://travis-ci.org/lifthrasiir/rust-chrono)
2014-12-16 15:51:38 -05:00
* [rust-lang/time](https://github.com/rust-lang/time) — [<img src="https://travis-ci.org/rust-lang/time.svg?branch=master">](https://travis-ci.org/rust-lang/time)
2014-12-16 15:49:42 -05:00
### Data structures
* [bluss/rust-itertools](https://github.com/bluss/rust-itertools) — [<img src="https://travis-ci.org/bluss/rust-itertools.svg?branch=master">](https://travis-ci.org/bluss/rust-itertools)
* [reem/rust-typemap](https://github.com/reem/rust-typemap) — [<img src="https://travis-ci.org/reem/rust-typemap.svg?branch=master">](https://travis-ci.org/reem/rust-typemap)
2014-07-20 08:56:41 -04:00
### Encoding
2014-12-13 04:36:39 -05:00
* [TyOverby/bincode](https://github.com/TyOverby/bincode) — a binary encoder/decoder in Rust [<img src="https://travis-ci.org/TyOverby/bincode.svg?branch=master">](https://travis-ci.org/TyOverby/bincode)
2015-01-08 14:21:40 -05:00
* Bencode
* [arjantop/rust-bencode](https://github.com/arjantop/rust-bencode) — [Bencode](http://en.wikipedia.org/wiki/Bencode) implementation in Rust [<img src="https://travis-ci.org/arjantop/rust-bencode.svg?branch=master">](https://travis-ci.org/arjantop/rust-bencode)
* Byte swapping
* [BurntSushi/byteorder](https://github.com/BurntSushi/byteorder) — Supports big-endian, little-endian and native byte orders [<img src="https://travis-ci.org/BurntSushi/byteorder.svg?branch=master">](https://travis-ci.org/BurntSushi/byteorder)
2014-07-20 08:56:41 -04:00
* Cap'n Proto
2014-10-12 07:35:55 -04:00
* [dwrensha/capnproto-rust](https://github.com/dwrensha/capnproto-rust) — [<img src="https://travis-ci.org/dwrensha/capnproto-rust.svg?branch=master">](https://travis-ci.org/dwrensha/capnproto-rust)
* CBOR
* [BurntSushi/rust-cbor](https://github.com/BurntSushi/rust-cbor) — Supports JSON conversion and type-based encoding/decoding [<img src="https://travis-ci.org/BurntSushi/rust-cbor.svg?branch=master">](https://travis-ci.org/BurntSushi/rust-cbor)
2014-07-20 08:56:41 -04:00
* Character Encoding
2014-10-12 07:35:55 -04:00
* [lifthrasiir/rust-encoding](https://github.com/lifthrasiir/rust-encoding) — [<img src="https://travis-ci.org/lifthrasiir/rust-encoding.svg?branch=master">](https://travis-ci.org/lifthrasiir/rust-encoding)
2014-07-20 08:56:41 -04:00
* CSV
2015-01-22 13:17:52 -05:00
* [BurntSushi/rust-csv](https://github.com/BurntSushi/rust-csv) — [<img src="https://travis-ci.org/BurntSushi/rust-csv.svg?branch=master">](https://travis-ci.org/BurntSushi/rust-csv)
2014-10-18 10:07:46 -04:00
* HTML
* [servo/html5ever](https://github.com/servo/html5ever) — High-performance browser-grade HTML5 parser [<img src="https://travis-ci.org/servo/html5ever.svg?branch=master">](https://travis-ci.org/servo/html5ever)
* MsgPack
2014-10-12 07:35:55 -04:00
* [mneumann/rust-msgpack](https://github.com/mneumann/rust-msgpack) — [<img src="https://travis-ci.org/mneumann/rust-msgpack.svg?branch=master">](https://travis-ci.org/mneumann/rust-msgpack)
2015-05-15 19:18:35 -04:00
* [3Hren/msgpack-rust](https://github.com/3Hren/msgpack-rust) - Pure Rust low/high level MessagePack implementation [<img src="https://travis-ci.org/3Hren/msgpack-rust.svg?branch=master">](https://travis-ci.org/3Hren/msgpack-rust)
2014-07-20 08:56:41 -04:00
* ProtocolBuffers
2014-10-12 07:35:55 -04:00
* [stepancheg/rust-protobuf](https://github.com/stepancheg/rust-protobuf) — [<img src="https://travis-ci.org/stepancheg/rust-protobuf.svg?branch=master">](https://travis-ci.org/stepancheg/rust-protobuf)
2014-07-20 08:56:41 -04:00
* TOML
2014-11-18 12:51:18 -05:00
* [alexcrichton/toml-rs](https://github.com/alexcrichton/toml-rs) — [<img src="https://travis-ci.org/alexcrichton/toml-rs.svg?branch=master">](https://travis-ci.org/alexcrichton/toml-rs)
2014-07-20 08:56:41 -04:00
* Tnetstring
2014-12-16 15:49:42 -05:00
* [erickt/rust-tnetstring](https://github.com/erickt/rust-tnetstring) — [<img src="https://travis-ci.org/erickt/rust-tnetstring.svg?branch=master">](https://travis-ci.org/erickt/rust-tnetstring)
2014-07-20 08:56:41 -04:00
* XML
2015-01-22 13:17:52 -05:00
* [Florob/RustyXML](https://github.com/Florob/RustyXML) — an XML parser written in Rust [<img src="https://travis-ci.org/Florob/RustyXML.svg?branch=master">](https://travis-ci.org/Florob/RustyXML)
2014-12-10 14:19:53 -05:00
* [netvl/xml-rs](https://github.com/netvl/xml-rs) — a streaming XML library [<img src="https://travis-ci.org/netvl/xml-rs.svg?branch=master">](https://travis-ci.org/netvl/xml-rs)
2014-12-10 14:17:31 -05:00
* YAML
2015-06-01 07:26:10 -04:00
* [chyh1990/yaml-rust](https://github.com/chyh1990/yaml-rust) — The missing YAML 1.2 implementation for Rust. [<img src="https://travis-ci.org/chyh1990/yaml-rust.svg?branch=master">](https://travis-ci.org/chyh1990/yaml-rust)
2014-12-10 14:18:20 -05:00
* [kimhyunkang/libyaml-rust](https://github.com/kimhyunkang/libyaml-rust) — [libyaml](http://pyyaml.org/wiki/LibYAML) bindings [<img src="https://travis-ci.org/kimhyunkang/libyaml-rust.svg?branch=master">](https://travis-ci.org/kimhyunkang/libyaml-rust)
2014-07-20 08:56:41 -04:00
2015-05-21 14:06:39 -04:00
### Filesystem
* FUSE
* [zargony/rust-fuse](https://github.com/zargony/rust-fuse) — [FUSE](http://fuse.sourceforge.net/) bindings <img src="https://travis-ci.org/zargony/rust-fuse.svg?branch=master">
2014-07-21 02:21:16 -04:00
### Game development
2015-01-22 13:20:52 -05:00
* [bbodi/rust-voxlap](https://github.com/bbodi/rust-voxlap) — [Voxlap](http://advsys.net/ken/voxlap.htm) bindings
2015-01-22 13:17:52 -05:00
* [PistonDevelopers/piston](https://github.com/PistonDevelopers/piston) — [<img src="https://travis-ci.org/PistonDevelopers/piston.svg?branch=master">](https://travis-ci.org/PistonDevelopers/piston)
2014-10-13 12:20:56 -04:00
* [SiegeLord/RustAllegro](https://github.com/SiegeLord/RustAllegro) — [Allegro 5](http://liballeg.org/) bindings [<img src="https://travis-ci.org/SiegeLord/RustAllegro.svg?branch=master">](https://travis-ci.org/SiegeLord/RustAllegro)
2014-07-21 02:21:16 -04:00
2014-07-20 09:02:45 -04:00
### GUI
2014-07-20 08:56:41 -04:00
2014-07-20 09:02:45 -04:00
* Cocoa
2014-10-11 09:02:35 -04:00
* [mozilla-servo/rust-cocoa](https://github.com/mozilla-servo/rust-cocoa)
* Gtk+
2015-05-08 02:13:08 -04:00
* [rust-gnome/gtk](https://github.com/rust-gnome/gtk) — [Gtk+](http://www.gtk.org) bindings [<img src="https://travis-ci.org/rust-gnome/gtk.svg?branch=master">](https://travis-ci.org/rust-gnome/gtk)
2014-07-20 09:02:45 -04:00
* ncurses
2014-10-12 07:35:55 -04:00
* [jeaye/ncurses-rs](https://github.com/jeaye/ncurses-rs) — [<img src="https://travis-ci.org/jeaye/ncurses-rs.svg?branch=master">](https://travis-ci.org/jeaye/ncurses-rs)
2014-10-12 06:49:36 -04:00
* OpenGL
2015-01-22 13:17:52 -05:00
* [bjz/gl-rs](https://github.com/bjz/gl-rs) — [<img src="https://travis-ci.org/bjz/gl-rs.svg?branch=master">](https://travis-ci.org/bjz/gl-rs)
* [bjz/glfw-rs](https://github.com/bjz/glfw-rs) — [<img src="https://travis-ci.org/bjz/glfw-rs.svg?branch=master">](https://travis-ci.org/bjz/glfw-rs)
* [servo/rust-glut](https://github.com/servo/rust-glut)
2014-10-23 12:48:17 -04:00
* [tomaka/glutin](https://github.com/tomaka/glutin) — Rust alternative to [GLFW](http://www.glfw.org/) [<img src="https://travis-ci.org/tomaka/glutin.svg?branch=master">](https://travis-ci.org/tomaka/glutin)
2014-12-18 14:05:49 -05:00
* Qt
* [cyndis/qmlrs](https://github.com/cyndis/qmlrs) — [QtQuick](http://doc.qt.io) bindings [<img src="https://travis-ci.org/cyndis/qmlrs.svg?branch=master">](https://travis-ci.org/cyndis/qmlrs)
2014-08-06 04:34:31 -04:00
* SDL
2014-10-12 07:35:55 -04:00
* [AngryLawyer/rust-sdl2](https://github.com/AngryLawyer/rust-sdl2) — [SDL2](http://www.libsdl.org/) bindings [<img src="https://travis-ci.org/AngryLawyer/rust-sdl2.svg?branch=master">](https://travis-ci.org/AngryLawyer/rust-sdl2)
* [brson/rust-sdl](https://github.com/brson/rust-sdl) — [SDL1](http://www.libsdl.org/) bindings [<img src="https://travis-ci.org/brson/rust-sdl.svg?branch=master">](https://travis-ci.org/brson/rust-sdl)
2015-03-21 07:17:25 -04:00
* [PistonDevelopers/conrod](https://github.com/PistonDevelopers/conrod/) — An easy-to-use, immediate-mode, 2D GUI library written entirely in Rust [<img src="https://travis-ci.org/PistonDevelopers/conrod.svg?branch=master">](https://travis-ci.org/PistonDevelopers/conrod)
2014-10-12 07:24:24 -04:00
* SFML
2015-01-22 13:17:52 -05:00
* [jeremyletang/rust-sfml](https://github.com/jeremyletang/rust-sfml) — [SFML](http://www.sfml-dev.org/) bindings [<img src="https://travis-ci.org/jeremyletang/rust-sfml.svg?branch=master">](https://travis-ci.org/jeremyletang/rust-sfml)
2014-07-20 09:02:45 -04:00
* Termbox
2015-01-22 13:17:52 -05:00
* [gchp/rustbox](https://github.com/gchp/rustbox) — a Rust implementation of [termbox](http://github.com/nsf/termbox) [<img src="https://travis-ci.org/gchp/rustbox.svg?branch=master">](https://travis-ci.org/gchp/rustbox)
2015-03-21 06:27:46 -04:00
2014-07-20 08:56:41 -04:00
2014-10-12 06:37:13 -04:00
### Image processing
2015-05-13 03:33:08 -04:00
* [chyh1990/imageproc](https://github.com/chyh1990/imageproc) — An advanced image processing library for Rust. [![Build Status](https://travis-ci.org/chyh1990/imageproc.svg?branch=master)](https://travis-ci.org/chyh1990/imageproc)
2015-05-07 18:53:10 -04:00
* [cybergeek94/img-hash](https://github.com/cybergeek94/img-hash) — Perceptual image hashing and comparison for equality and similarity. [![Build Status](https://travis-ci.org/cybergeek94/img-hash.svg?branch=master)](https://travis-ci.org/cybergeek94/img-hash)
2015-05-08 02:06:08 -04:00
* [PistonDevelopers/image](https://github.com/PistonDevelopers/image) — Basic imaging processing functions and methods for converting to and from image formats [<img src="https://travis-ci.org/PistonDevelopers/image.svg?branch=master">](https://travis-ci.org/PistonDevelopers/image)
2014-10-12 06:37:13 -04:00
2014-12-13 04:40:25 -05:00
### Mobile
2014-12-13 04:41:07 -05:00
* [tomaka/android-rs-glue](https://github.com/tomaka/android-rs-glue) — glue between Rust and Android [<img src="https://travis-ci.org/tomaka/android-rs-glue.svg?branch=master">](https://travis-ci.org/tomaka/android-rs-glue)
2014-12-13 04:48:48 -05:00
* [vhbit/ObjCrust](https://github.com/vhbit/ObjCrust) — using Rust to create an iOS static library [<img src="https://travis-ci.org/vhbit/ObjCrust.svg?branch=master">](https://travis-ci.org/vhbit/ObjCrust)
2014-12-13 04:40:25 -05:00
2014-07-20 10:30:14 -04:00
### Network programming
2015-01-22 13:17:52 -05:00
* Beanstalkd
* [schickling/rust-beanstalkd](https://github.com/schickling/rust-beanstalkd) — [Beanstalkd](https://github.com/kr/beanstalkd) bindings [<img src="https://travis-ci.org/schickling/rust-beanstalkd.svg?branch=master">](https://travis-ci.org/schickling/rust-beanstalkd)
2015-01-24 06:24:31 -05:00
* FTP
* [mattnenterprise/rust-ftp](https://github.com/mattnenterprise/rust-ftp) — An [FTP](http://en.wikipedia.org/wiki/File_Transfer_Protocol) client for Rust [<img src="https://travis-ci.org/mattnenterprise/rust-ftp.svg?branch=master">](https://travis-ci.org/mattnenterprise/rust-ftp)
2015-03-03 02:14:21 -05:00
* Low level
* [libpnet/libpnet](https://github.com/libpnet/libpnet) — Cross-platform, low level networking [<img src="https://travis-ci.org/libpnet/libpnet.svg?branch=master">](https://travis-ci.org/libpnet/libpnet)
2014-10-27 13:04:59 -04:00
* NanoMsg
* [thehydroimpulse/nanomsg.rs](https://github.com/thehydroimpulse/nanomsg.rs) — a modern messaging library that is the successor to ZeroMQ [<img src="https://travis-ci.org/thehydroimpulse/nanomsg.rs.svg?branch=master">](https://travis-ci.org/thehydroimpulse/nanomsg.rs)
2015-01-24 06:24:31 -05:00
* NNTP
* [mattnenterprise/rust-nntp](https://github.com/mattnenterprise/rust-nntp) — A [NNTP](http://en.wikipedia.org/wiki/Network_News_Transfer_Protocol) client for Rust [<img src="https://travis-ci.org/mattnenterprise/rust-nntp.svg?branch=master">](https://travis-ci.org/mattnenterprise/rust-nntp)
* POP3
* [mattnenterprise/rust-pop3](https://github.com/mattnenterprise/rust-pop3) — A [POP3](http://en.wikipedia.org/wiki/Post_Office_Protocol) client for Rust [<img src="https://travis-ci.org/mattnenterprise/rust-pop3.svg?branch=master">](https://travis-ci.org/mattnenterprise/rust-pop3)
2014-10-14 14:02:41 -04:00
* SSH
* [alexcrichton/ssh2-rs](https://github.com/alexcrichton/ssh2-rs) — [libssh2](http://www.libssh2.org/) bindings [<img src="https://travis-ci.org/alexcrichton/ssh2-rs.svg?branch=master">](https://travis-ci.org/alexcrichton/ssh2-rs)
* Stomp
2015-01-22 13:17:52 -05:00
* [zslayton/stomp-rs](https://github.com/zslayton/stomp-rs) — [STOMP 1.2](http://stomp.github.io/stomp-specification-1.2.html) client implementation in Rust [<img src="https://travis-ci.org/zslayton/stomp-rs.svg?branch=master">](https://travis-ci.org/zslayton/stomp-rs)
2015-05-14 06:22:32 -04:00
* uTP
* [meqif/rust-utp](https://github.com/meqif/rust-utp) — A [uTP](http://www.bittorrent.org/beps/bep_0029.html) (Micro Transport Protocol) library for Rust. [<img src="https://travis-ci.org/meqif/rust-utp.svg?branch=master">](https://travis-ci.org/meqif/rust-utp)
2014-07-20 10:30:14 -04:00
* ZeroMQ
2015-03-03 02:11:22 -05:00
* [erickt/rust-zmq](https://github.com/erickt/rust-zmq) — [ZeroMQ](http://zeromq.org/) bindings [<img src="https://travis-ci.org/erickt/rust-zmq.svg?branch=master">](https://travis-ci.org/erickt/rust-zmq)
2014-07-20 10:30:14 -04:00
2014-12-16 15:49:42 -05:00
### Platform specific
2015-06-08 03:24:01 -04:00
* DigitalOcean
* [kbknapp/doapi](https://github.com/kbknapp/doapi-rs) - DigitalOcean v2 API bindings [<img src="https://travis-ci.org/kbknapp/doapi-rs.svg?branch=master">](https://travis-ci.org/kbknapp/doapi-rs)
2014-12-16 15:49:42 -05:00
* Linux
2014-12-16 15:51:38 -05:00
* [carllerche/nix-rust](https://github.com/carllerche/nix-rust) — Linux API bindings [<img src="https://travis-ci.org/carllerche/nix-rust.svg?branch=master">](https://travis-ci.org/carllerche/nix-rust)
2015-05-08 17:23:41 -04:00
* Windows
* [retep998/winapi-rs](https://github.com/retep998/winapi-rs) — Windows API bindings [<img src="https://travis-ci.org/retep998/winapi-rs.svg?branch=master">](https://travis-ci.org/retep998/winapi-rs)
2014-12-16 15:49:42 -05:00
2014-07-20 10:31:40 -04:00
### Template engine
2015-04-13 06:39:22 -04:00
* [lfairy/maud](https://github.com/lfairy/maud) — compile-time HTML templates [<img src="https://travis-ci.org/lfairy/maud.svg?branch=master">](https://travis-ci.org/lfairy/maud)
2014-07-20 10:31:40 -04:00
* Mustache
2014-10-12 13:28:14 -04:00
* [rustache/rustache](https://github.com/rustache/rustache) — [<img src="https://travis-ci.org/rustache/rustache.svg?branch=master">](https://travis-ci.org/rustache/rustache)
2015-05-04 03:36:30 -04:00
* [Stebalien/horrorshow-rs](https://github.com/Stebalien/horrorshow-rs) — compile-time HTML templates [<img src="https://travis-ci.org/Stebalien/horrorshow-rs.svg?branch=master">](https://travis-ci.org/Stebalien/horrorshow-rs)
* [sunng87/handlebars-iron](https://github.com/sunng87/handlebars-iron) — [Handlebars-rust](https://github.com/sunng87/handlebars-rust) as an Iron web framework middleware. [<img src="https://travis-ci.org/sunng87/handlebars-iron.svg?branch=master">](https://travis-ci.org/sunng87/handlebars-iron)
2015-05-08 06:31:39 -04:00
* [sunng87/handlebars-rust](https://github.com/sunng87/handlebars-rust) — Handlebars template engine with inheritance, custom helper support. [<img src="https://travis-ci.org/sunng87/handlebars-rust.svg?branch=master">](https://travis-ci.org/sunng87/handlebars-rust)
2014-07-20 10:31:40 -04:00
2014-07-23 09:47:33 -04:00
### Testing
2014-10-12 07:35:55 -04:00
* [BurntSushi/quickcheck](https://github.com/BurntSushi/quickcheck) — a Rust implementation of [QuickCheck](http://www.haskell.org/haskellwiki/Introduction_to_QuickCheck1) [<img src="https://travis-ci.org/BurntSushi/quickcheck.svg?branch=master">](https://travis-ci.org/BurntSushi/quickcheck)
2015-01-22 13:17:52 -05:00
* [farcaller/shiny](https://github.com/farcaller/shiny) — a fancy syntax similar to Ruby's Rspec or Objective-C' kiwi [<img src="https://travis-ci.org/farcaller/shiny.svg?branch=master">](https://travis-ci.org/farcaller/shiny)
2014-07-23 09:47:33 -04:00
### Text processing
* [BurntSushi/suffix](https://github.com/BurntSushi/suffix) — Linear time suffix array construction (with Unicode support) [<img src="https://travis-ci.org/BurntSushi/suffix.svg?branch=master">](https://travis-ci.org/BurntSushi/suffix)
* [BurntSushi/tabwriter](https://github.com/BurntSushi/suffix) — Elastic tab stops (i.e., text column alignment) [<img src="https://travis-ci.org/BurntSushi/tabwriter.svg?branch=master">](https://travis-ci.org/BurntSushi/tabwriter)
* [rust-lang/regex](https://github.com/rust-lang/regex) — Regular expressions (RE2 style) [<img src="https://travis-ci.org/rust-lang/regex.svg?branch=master">](https://travis-ci.org/rust-lang/regex)
2014-07-20 10:30:14 -04:00
### Web programming
2014-07-17 06:47:44 -04:00
2014-10-11 09:02:35 -04:00
See also [http://arewewebyet.com/](http://arewewebyet.com/)
2014-07-17 06:47:44 -04:00
2014-10-11 09:02:35 -04:00
* Core
2014-12-10 14:07:59 -05:00
* [hyperium/hyper](https://github.com/hyperium/hyper) — an HTTP implementation [<img src="https://travis-ci.org/hyperium/hyper.svg?branch=master">](https://travis-ci.org/hyperium/hyper)
2014-10-11 09:02:35 -04:00
* Client
2015-01-22 13:17:52 -05:00
* [carllerche/curl-rust](https://github.com/carllerche/curl-rust) — [libcurl](http://curl.haxx.se/libcurl/) bindings [<img src="https://travis-ci.org/carllerche/curl-rust.svg?branch=master">](https://travis-ci.org/carllerche/curl-rust)
* [vhbit/curl-rs](https://github.com/vhbit/curl-rs) — [libcurl](http://curl.haxx.se/libcurl/) bindings [<img src="https://travis-ci.org/vhbit/curl-rs.svg?branch=master">](https://travis-ci.org/vhbit/curl-rs)
2014-10-11 09:02:35 -04:00
* Server
2014-12-10 14:14:42 -05:00
* [Iron](http://ironframework.io/) — a middleware-based server framework [<img src="https://travis-ci.org/iron/iron.svg?branch=master">](https://travis-ci.org/iron/iron)
2014-10-12 12:27:18 -04:00
* [Nickel](http://nickel.rs/) — inspired by [Express](http://expressjs.com/) [<img src="https://travis-ci.org/nickel-org/nickel.rs.svg?branch=master">](https://travis-ci.org/nickel-org/nickel.rs)
2014-12-16 15:49:42 -05:00
* [Ogeon/rustful](https://github.com/Ogeon/rustful) — a RESTful web framework for Rust [<img src="https://travis-ci.org/Ogeon/rustful.svg?branch=master">](https://travis-ci.org/Ogeon/rustful)
2014-12-10 14:14:42 -05:00
* [Rustless](http://rustless.org/) — a REST-like API micro-framework inspired by [Grape](https://github.com/intridea/grape) and [Hyper](https://github.com/hyperium/hyper) [<img src="https://travis-ci.org/rustless/rustless.svg?branch=master">](https://travis-ci.org/rustless/rustless)
2015-05-07 11:09:32 -04:00
* [tiny-http](https://github.com/frewsxcv/tiny-http) — Low level HTTP server library [<img src="https://travis-ci.org/frewsxcv/tiny-http.svg?branch=master">](https://travis-ci.org/frewsxcv/tiny-http)
2014-07-18 02:16:18 -04:00
2014-07-17 09:05:35 -04:00
## Resources
2014-07-20 10:12:39 -04:00
2014-10-11 09:02:35 -04:00
* [Rust by Example](http://rustbyexample.com/)
2015-01-22 13:17:52 -05:00
* [Rust CI](http://www.rust-ci.org/) — a [Travis CI](https://travis-ci.com) dashboard for Rust projects
2015-03-03 02:00:21 -05:00
* [Rust Guidelines](http://aturon.github.io/)
2015-05-21 03:25:30 -04:00
* [rust-learning](https://github.com/ctjhoa/rust-learning) - a collection of useful resources to learn rust
2015-03-03 02:03:29 -05:00
## Tools
2015-05-15 02:03:53 -04:00
* [brson/multirust](https://github.com/brson/multirust) — manage multiple Rust installations [<img src="https://travis-ci.org/brson/multirust.svg?branch=master">](https://travis-ci.org/brson/multirust)
2015-05-07 09:45:02 -04:00
* [crabtw/rust-bindgen](https://github.com/crabtw/rust-bindgen) — a Rust bindings generator [<img src="https://travis-ci.org/crabtw/rust-bindgen.svg?branch=master">](https://travis-ci.org/crabtw/rust-bindgen)
2015-05-08 12:30:56 -04:00
* [dan-t/rusty-tags](https://github.com/dan-t/rusty-tags) — create ctags/etags for a cargo project and all of its dependencies [<img src="https://travis-ci.org/dan-t/rusty-tags.svg?branch=master">](https://travis-ci.org/dan-t/rusty-tags)
2015-05-12 03:38:11 -04:00
* [kmcallister/afl.rs](https://github.com/kmcallister/afl.rs) — a Rust fuzzer, using [AFL](http://lcamtuf.coredump.cx/afl/) [<img src="https://travis-ci.org/kmcallister/afl.rs.svg?branch=master">](https://travis-ci.org/kmcallister/afl.rs)
2015-05-29 04:28:44 -04:00
* [Manishearth/rust-clippy](https://github.com/Manishearth/rust-clippy) — a collection of lints that catch newbie mistakes and oversights during the build [<img src="https://travis-ci.org/Manishearth/rust-clippy.svg?branch=master">](https://travis-ci.org/Manishearth/rust-clippy)
2015-04-30 01:48:08 -04:00
* [nrc/rustfmt](https://github.com/nrc/rustfmt) — a Rust code formatter [<img src="https://travis-ci.org/nrc/rustfmt.svg?branch=master">](https://travis-ci.org/nrc/rustfmt)
2015-05-08 02:09:30 -04:00
* [phildawes/racer](https://github.com/phildawes/racer) — code completion for Rust [<img src="https://travis-ci.org/phildawes/racer.svg?branch=master">](https://travis-ci.org/phildawes/racer)
2015-04-30 01:48:08 -04:00
2015-05-08 04:07:17 -04:00
### IDEs
2015-03-03 02:14:21 -05:00
2015-05-15 02:05:54 -04:00
* [PistonDevelopers/VisualRust](https://github.com/PistonDevelopers/VisualRust) — a Visual Studio extension for Rust [<img src="https://travis-ci.org/PistonDevelopers/VisualRust.svg?branch=master">](https://travis-ci.org/PistonDevelopers/VisualRust)
2015-03-10 09:05:15 -04:00
* [Ride](https://github.com/madeso/ride) — [<img src="https://travis-ci.org/madeso/ride.svg?branch=master">](https://travis-ci.org/madeso/ride)
* [RustDT](https://github.com/RustDT/RustDT) — an [Eclipse](https://eclipse.org/)-based IDE for Rust [<img src="https://travis-ci.org/RustDT/RustDT.svg?branch=master">](https://travis-ci.org/RustDT/RustDT)
2015-05-08 02:14:36 -04:00
* [SolidOak](https://github.com/oakes/SolidOak) — a simple IDE for Rust, based on Gtk+ and [Neovim](https://github.com/neovim/neovim) [<img src="https://travis-ci.org/oakes/SolidOak.svg?branch=master">](https://travis-ci.org/oakes/SolidOak)
2015-03-03 02:14:21 -05:00
* [Vektah/idea-rust](https://github.com/Vektah/idea-rust) — an [IntelliJ](https://www.jetbrains.com/idea/)-based IDE for Rust [<img src="https://travis-ci.org/Vektah/idea-rust.svg?branch=master">](https://travis-ci.org/Vektah/idea-rust)
2015-06-03 03:47:38 -04:00
* [Visual Studio Code](https://code.visualstudio.com/)