You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
11 KiB
11 KiB
Awesome Rust
A curated list of awesome Rust code and resources. Inspired by the other awesome lists.
Only projects that are stable and useful to users are added. Projects that do not compile with Rust-nightly for a longer time are moved to UNSTABLE.md
.
Code
Audio
- bjz/openal-rs — OpenAL 1.1 bindings
- JeremyLetang/ears — a simple library to play Sounds and Musics, on top of OpenAL and libsndfile
- JeremyLetang/rust-portaudio — PortAudio bindings
- musitdev/rust-portmidi — PortMidi bindings
Build system
- Cargo — the Rust package manager
- CMake
- SiegeLord/RustCMake — an example project showing usage of CMake with Rust
- SiegeLord/RustCMake — an example project showing usage of CMake with Rust
- Make
- PistonDevelopers/rust-empty — a Makefile to get started with Rust
Command-line argument parsing
- docopt/docopt.rs — a Rust implementation of DocOpt
- wycats/hammer.rs
Compression
- lifthrasiir/rust-zip — read and write ZIP archives
Computation
- eholk/rust-opencl — OpenCL bindings
Cryptography
- DaGenix/rust-crypto — cryptographic algorithms in Rust
- dnaq/sodiumoxide — libsodium bindings
- klutzy/suruga — a Rust implementation of TLS 1.2
- seb-m/common.rs — Common Rust crypto utilities
- sfackler/rust-openssl — OpenSSL bindings
Database
- SQL
- MySql
- blackbeam/rust-mysql-simple — a native MySql client
- blackbeam/rust-mysql-simple — a native MySql client
- PostgreSql
- sfackler/rust-postgres — a native PostgreSQL client
- sfackler/rust-postgres — a native PostgreSQL client
- Sqlite
- linuxfood/rustsqlite — Sqlite3 bindings
- MySql
Encoding
- Cap'n Proto
- Character Encoding
- CSV
- MsgPck
- ProtocolBuffers
- TOML
- Tnetstring
- XML
- Florob/RustyXML — an XML parser written in Rust
- netvl/rust-xml — a streaming XML library
- Ygg01/xml-air — A hybrid pull, DOM parser written in pure Rust
- Florob/RustyXML — an XML parser written in Rust
Game development
Games
- lifthrasiir/angolmois-rust — a minimalistic music video game which supports the BMS format
GUI
- Cocoa
- Gtk+
- JeremyLetang/rgtk — Gtk+ bindings
- JeremyLetang/rgtk — Gtk+ bindings
- ncurses
- OpenGL
- SDL
- AngryLawyer/rust-sdl2 — SDL2 bindings
- brson/rust-sdl — SDL1 bindings
- AngryLawyer/rust-sdl2 — SDL2 bindings
- SFML
- jeremyletang/rust-sfml — SFML bindings
- jeremyletang/rust-sfml — SFML bindings
- Termbox
- gchp/rustbox — a Rust implementation of termbox
- wxWidgets
Image processing
- PistonDevelopers/image — Basic imaging processing functions and methods for converting to and from image formats
Network programming
- ZeroMQ
- erickt/rust-zmq — ZeroMQ bindings
- erickt/rust-zmq — ZeroMQ bindings
Template engine
- Mustache
Testing
- BurntSushi/quickcheck — a Rust implementation of QuickCheck
- farcaller/shiny — a fancy syntax similar to ruby's rspec or Objective-C's kiwi
Web programming
See also http://arewewebyet.com/
- Core
- chris-morgan/rust-http — will be replaced by Teepee
- hyperium/hyper —
- chris-morgan/rust-http — will be replaced by Teepee
- Client
- carllerche/curl-rust — libcurl bindings
- vhbit/curl-rs — libcurl bindings
- Server
Resources
- Rust by Example
- Rust CI — a Travis CI dashboard for Rust projects
- Rust Guidelines