mirror of
https://github.com/rust-unofficial/awesome-rust.git
synced 2024-11-26 18:51:55 +02:00
A curated list of Rust code and resources.
README.md | ||
UNSTABLE.md |
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
- Make
- PistonDevelopers/rust-empty — a Makefile to get started with Rust
Command-line argument parsing
- BurntSushi/docopt.rs — DocOpt for Rust
- 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
- sfackler/rust-openssl — OpenSSL bindings
Database
- SQL
- MySql
- blackbeam/rust-mysql-simple — a native MySql client
- PostgreSql
- 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
- bjz/sax-rs — bindings to libxml2's SAX parser
- DanielFath/xml-parser — A hybrid pull, DOM parser written in pure Rust
- Florob/RustyXML — an XML parser written in Rust
- netvl/rust-xml — a streaming XML library
Game development
- OpenGL
- bjz/gl-rs An OpenGL function pointer loader for Rust
- servo/rust-opengles OpenGL ES 2.0 bindings for Rust
- Windowing
- bjz/glfw-rs GLFW3 bindings and idiomatic wrapper for Rust.
- brson/rust-sdl SDL bindings for Rust
- AngryLawyer/rust-sdl2 SDL2 bindings for Rust
- jeremyletang/rust-sfml SFML bindings for Rust
- servo/rust-glut GLUT bindings for Rust
- SiegeLord/RustAllegro A Rust wrapper and bindings of Allegro 5 game programming library
- Game Engines
- sebcrozet/kiss3d Keep it simple, stupid 3d graphics engine for Rust.
- PistonDevelopers/piston A user friendly game engine written in Rust
- Collision Detection, Physics
- bjz/bullet-rs Bindings and wrapper for the Bullet physics C API
- sebcrozet/ncollide n-dimensional collision detection library in Rust.
- sebcrozet/nphysics 2 and 3-dimensional rigid body physics engine for Rust.
- Audio
- bjz/openal-rs OpenAL 1.1 bindings for Rust.
- jeremyletang/rust-portaudio PortAudio bindings and wrappers for Rust
- musitdev/rust-portmidi PortMidi bindings and wrappers for Rust
- jeremyletang/ears (simple audio API on top of OpenAL) Easy Api in Rust to play Sounds
Games
- lifthrasiir/angolmois-rust Angolmois BMS player, Rust edition
- rlane/cubeland Infinite terrain with Rust and OpenGL
- lifthrasiir/angolmois-rust — a minimalistic music video game which supports the BMS format
- ozkriff/marauder Turn-based strategy game written in Rust using GLFW 3 and OpenGL
- zokier/pong-rs Classic pong game
- jeaye/q3 A Quake 3 like game with voxelized destructible maps
- FrozenCow/rust-airhockey A simple airhockey game using rust-sdl and OpenGL
- jeremyletang/rustenstein3D Wolfenstein3D engine like in rust
- dpc/rustyhex Simple roguelike written in Rust language
- mynery/xxo Tic Tac Toe in rust with termbox
GUI
- Cocoa
- Gtk
- JeremyLetang/rgtk — GTK+ bindings
- ncurses
- Termbox
- gchp/rustbox — a Rust implementation of termbox.
Network programming
- ZeroMQ
- erickt/rust-zmq — ZeroMQ bindings
Template engine
- Mustache
Testing
- 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.
- 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