List.community

Awesome Rust

A curated list of Rust code and resources.

If you want to contribute, please read this.

Table of Contents

Applications written in Rust

See also Friends of Rust (organizations running Rust in production).

Development tools

  • Clippy406 97 [clippy] — Rust lints
  • clog-tool/clog-cli208 13 — generates a changelog from git metadata (conventional changelog)
  • dan-t/rusty-tags160 16 — create ctags/etags for a cargo project and all of its dependencies
  • frewsxcv/crate-deps15 1 — generates images of dependency graphs for crates hosted on crates.io
  • git-journal176 3 — The Git Commit Message and Changelog Generation Framework
  • killercup/rustfix99 5 — automatically applies the suggestions made by rustc
  • Module Linker — Extension that adds links to references in mod, use and extern crate statements at GitHub.
  • Racer98 10 — code completion for Rust
  • rustfmt1k 278 — a Rust code formatter
  • Rustup1k 270 — the Rust toolchain installer
  • Rust Language Server677 92 — a server that runs in the background, providing IDEs, editors, and other tools with information about Rust programs
  • artifact208 23 — the design doc tool made for developers Build Status
  • semantic-rs101 4 — automatic crate publishing

Build system

Debugging

  • GDB
    • rust-gdb30k 6k
    • gdbgui5k 250 — Browser based frontend for gdb to debug C, C++, Rust, and go.
  • LLDB
  • rr
    • rr — rr is a lightweight tool for recording and replaying execution of applications

Deployment

Embedded

Rust Embedded

  • Cross compiling
    • japaric/rust-cross556 31 — everything you need to know about cross compiling Rust programs
    • japaric/xargo670 60 — effortless cross compilation of Rust programs to custom bare-metal targets like ARM Cortex-M
  • Raspberry Pi

FFI

See also Foreign Function Interface, The Rust FFI Omnibus (a collection of examples of using code written in Rust from other languages) and FFI examples written in Rust210 29 .

IDEs

See also Are we (I)DE yet? and Rust and IDEs.

Pattern Recognition

  • sfikas/rusteval — A tool used to evaluate the output of retrieval algorithms Build Status

Profiling

Static Analysis

[assert, static]

Testing

[testing]

Libraries

Astronomy

[astronomy]

Asynchronous

  • zonyitoo/coio-rs356 33 — a coroutine I/O library with a working-stealing scheduler
  • dpc/mioco590 47 — Scalable, coroutine-based, asynchronous IO handling library Travis CI Build Status
  • rust-lang-nursery/futures-rs7 3 — Zero-cost futures in Rust Travis CI Build Status
  • carllerche/mio3k 441 — MIO is a lightweight IO library for Rust with a focus on adding as little overhead as possible over the OS abstractions

Audio

[audio]

Authentication

Bioinformatics

  • Rust-Bio — bioinformatics libraries in Rust.

Caching

Concurrency

Cloud

Command-line argument parsing

Command-line interface

Compression

Computation

Configuration

  • mehcode/config-rs133 13 [config] — Layered configuration system for Rust applications (with strong support for 12-factor applications).

Cryptography

[crypto, cryptography]

Database

[database]

Data processing

  • bluss/rust-ndarray489 60 — N-dimensional array with array views, multidimensional slicing, and efficient operations
  • kernelmachine/utah — Dataframe structure and operations in Rust
  • weld-project/weld663 68 - High-performance runtime for data analytics applications

Data structures

Data Visualization

Date and time

[date, time]

Distributed Systems

Email

[email, imap, smtp]

Encoding

[encoding]

Filesystem

[filesystem]

Game development

See also Are we game yet?

Geospatial

[geo, gis]

Graphics

[graphics]

Graph processing

GUI

[gui]

Image processing

Language specification

  • snewt/bnf — A library for parsing Backus–Naur form context-free grammars.

Logging

[log]

  • rust-lang-nursery/log198 70 — Logging implementation for Rust Build Status
  • slog-rs/slog220 31 — Structured, composable logging for Rust Build Status
  • sfackler/log4rs142 23 — highly configurable logging framework modeled after Java's Logback and log4j libraries Build Status

Machine learning

[machine learning]

See also About Rust’s Machine Learning Community.

macro

  • cute
    • mattgathu/cute73 1 - Macro for Python-esque list comprehensions in Rust. Build Status
  • hado
    • ludat/hado-rs - A little macro for writing haskell-like do expressions without too much ceremony

Markup language

Mobile

Geal/rust_on_mobile35 1

  • Android
  • iOS
    • TimNN/cargo-lipo32 2 — a cargo lipo subcommand which automatically creates a universal library for use with your iOS application.
    • vhbit/ObjCrust40 6 — using Rust to create an iOS static library
  • Pebble
    • andars/pebble.rs — a crate that allows Rust to be used to develop Pebble applications.

Network programming

Parser

Platform specific

Scripting

[scripting]

  • PistonDevelopers/dyon402 25 — A rusty dynamically typed scripting language
  • gluon-lang/gluon367 36 — A small, statically-typed, functional programming language
  • murarth/ketos204 11 — A Lisp dialect functional programming language serving as a scripting and extension language for rust
  • jonathandturner/rhai129 10 — A tiny and fast embedded scripting language resembling a combination of JS and Rust

Template engine

Text processing

Text search

Virtualization

Web programming

See also Are we web yet? and Rust web framework comparison440 30 .