Rust代码和资源的整理清单 Awesome Rust
Rust代码和资源的整理清单,助您快速成为rust高手!
内容表单 Table of contents
应用 Applications
See also Rust — Production(organizations running Rust in production).
音频 Audio
-
indiscipline/zrtstr — A command line utility for checking if stereo wav files are faux-stereo (i.e. have identical channels) and converting such files to mono.
加密货币 Cryptocurrencies
-
Bitcoin Satoshi's Vision — A Rust library for working with Bitcoin SV .
-
cardano-cli — Cardano Command Line Interface (CLI)
-
ChainX — Fully Decentralized Interchain Crypto Asset Management on Polkadot.
-
coinbase-pro-rs — Coinbase pro client in Rust, supports sync/async/websocket
-
ethaddrgen — Custom Ethereum vanity address generator made in Rust
-
Grin — Evolution of the MimbleWimble protocol
-
hdwallet — BIP-32 HD wallet related key derivation utilities.
-
infincia/bip39-rs — Rust implementation of BIP39.
-
Joystream — A user governed video platform.
-
nearprotocol/nearcore — decentralized smart-contract platform for low-end mobile devices.
-
Nervos CKB — Nervos CKB is a public permissionless blockchain, the common knowledge layer of Nervos network.
-
Nimiq — Rust implementation of Nimiq node
-
Parity-Bitcoin — The Parity Bitcoin client
-
Parity-Bridge — Bridge between any two ethereum-based networks
-
Parity-Ethereum — Fast, light, and robust Ethereum client
-
Parity-Zcash — Rust implementation of the Zcash protocol
-
Polkadot — Heterogeneous multi‑chain technology with pooled security
-
rbtc — Convert BTC to any currency and vice-versa.
-
rust-cardano — Rust implementation of Cardano primitives, helpers, and related applications
-
Substrate — Generic modular blockchain template written in Rust
-
wagu — Generate a wallet for any cryptocurrency
-
zcash — Zcash is an implementation of the "Zerocash" protocol.
-
Holochain — Scalable P2P alternative to blockchain for all those distributed apps you always wanted to build
数据库 Database
-
indradb — Rust based graph database
-
noria — Dynamically changing, partially-stateful data-flow for web application backends
-
PumpkinDB — an event sourcing database engine
-
seppo0010/rsedis — A Redis reimplementation in Rust
-
ParityDB — Fast and reliable database, optimised for read operation
-
tikv — A distributed KV database in Rust
模拟器 Emulators
See also crates matching keyword 'emulator'.
- Commodore 64
- Gameboy
- NES
- Playstation
- ZX Spectrum
- Virtual Boy
- Intel 8080 CPU
- Emulator Development tools
游戏 Games
See also Games Made With Piston.
图像处理 Graphics
工业自动化 Industrial automation
操作系统 Operating systems
See also A comparison of operating systems written in Rust.
生产力 Productivity
-
eureka — A CLI tool to input and store your ideas without leaving the terminal
-
BenSchZA/pier — A central repository to manage (add, search metadata, etc.) all your one-liners, scripts, tools, and CLIs
安全工具 Security tools
系统工具 System tools
文本编辑器 Text editors
-
gchp/iota — A simple text editor
-
mathall/rim — Vim-like text editor written in Rust
-
Remacs — A community-driven port of Emacs to Rust.
-
xi-editor — A modern editor with a backend written in Rust.
-
xray — An experimental next-generation Electron-based text editor.
文本处理 Text processing
-
TankerHQ/ruplacer — Find and replace text in source files
-
ripgrep — combines the usability of The Silver Searcher with the raw speed of grep
-
sd — Intuitive find & replace CLI
-
lavifb/todo_r — Find all your TODO notes with one command!
-
whitfin/runiq — an efficient way to filter duplicate lines from unsorted input.
-
whitfin/bytelines — Read input lines as byte slices for high efficiency.
-
vishaltelangre/ff — Find files (ff) by name!
-
xsv — A fast CSV command line tool (slicing, indexing, selecting, searching, sampling, etc.)
公用事业 Utilities
-
brycx/checkpwn — A Have I Been Pwned (HIBP) command-line utility tool that lets you easily check for compromised accounts and passwords.
-
evansmurithi/cloak — A Command Line OTP (One Time Password) Authenticator application.
-
arthrp/consoletimer - Simple timer for your terminal.
-
myfreeweb/freepass — The free password manager for power users.
-
arthrp/quick-skeleton — Project scaffolding tool, similar to Yeoman and Slush.
-
yaa110/rubigo — Golang dependency tool and package manager, written in Rust
-
whitfin/s3-concat — A command line tool to concatenate Amazon S3 files remotely using flexible patterns.
-
whitfin/s3-meta — A command line tool to gather metadata about your Amazon S3 buckets.
-
amar-laksh/workstation — A commandline tool to help you manage your workstation by distancing you from your screen, locking your screen when you aren't there among other things with OPENCV!
-
aleshaleksey/AZDice — A dice roll success distribution generator for tabletop homebrewers.
-
fcsonline/tmux-thumbs — A lightning fast version of tmux-fingers written in Rust, copy/pasting tmux like vimium/vimperator.
-
repoch — Convert epoch to datetime and datetime to epoch
-
yaa110/cb — Command line interface to manage clipboard
视频 Video
-
yuvadm/slingr — A simple CLI for streaming media files over a local network to UPnP media renderers
虚拟化 Virtualization
窗口管理 Window managers
网站web Web
网络服务端 Web Servers
开发工具 Development tools
-
clippy — Rust lints
-
clog-tool/clog-cli — generates a changelog from git metadata (conventional changelog)
-
dan-t/rusty-tags — create ctags/etags for a cargo project and all of its dependencies
-
frewsxcv/crate-deps — generates images of dependency graphs for crates hosted on crates.io
-
git-journal — The Git Commit Message and Changelog Generation Framework
-
rust-lang-nursery/rustfix — automatically applies the suggestions made by rustc
-
just — A handy command runner for project-specific tasks
-
Module Linker — Extension that adds
<a>
links to references in mod
, use
and extern crate
statements at GitHub.
-
ptags — A parallel universal-ctags wrapper for git repository
-
Racer — code completion for Rust
-
rustfmt — A Rust code formatter
-
Rustup — the Rust toolchain installer
-
Rust Language Server — A server that runs in the background, providing IDEs, editors, and other tools with information about Rust programs
-
Rust Regex Playground — Web tool to evaluate rust regular expressions
-
artifact — the design doc tool made for developers
-
semantic-rs — automatic crate publishing
-
fw — workspace productivity booster
-
tinyrick a basic task dependency tool emphasizing Rust functions over raw shell commands.
创建系统 Build system
-
Cargo — the Rust package manager
-
cargo-benchcmp — A utility to compare Rust micro-benchmarks
-
cargo-bitbake — A cargo extension that can generate BitBake recipes utilizing the classes from meta-rust
-
cargo-cache — inspect/manage/clean your cargo cache (
~/.cargo/
/${CARGO_HOME}
), print sizes etc
-
cargo-check — A wrapper around
cargo rustc -- -Zno-trans
which can be helpful for running a faster compile if you only need correctness checks
-
cargo-count — lists source code counts and details about cargo projects, including unsafe statistics
-
cargo-deb — Generates binary Debian packages
-
cargo-deps — build dependency graphs of Rust projects
-
cargo-do — run multiple cargo commands in a row
-
cargo-ebuild — cargo extension that can generate ebuilds using the in-tree eclasses
-
cargo-edit — allows you to add and list dependencies by reading/writing to your Cargo.toml file from the command line
-
cargo-find deprecated — Find crates from command line
-
cargo-graph — updated fork of
cargo-dot
with additional features. Unmaintained, see cargo-deps
-
cargo-info — queries crates.io for crates details from command line
-
cargo-license — A cargo subcommand to quickly view the licenses of all dependencies.
-
cargo-make — Rust task runner and build tool.
-
cargo-modules — A cargo plugin for showing a tree-like overview of a crate's modules.
-
cargo-multi — runs specified cargo command on multiple crates
-
cargo-outdated — displays when newer versions of Rust dependencies are available, or out of date
-
cargo-release — tool for releasing git-managed cargo project, build, tag, publish, doc and push
-
cargo-script — lets people quickly and easily run Rust "scripts" which can make use of Cargo's package ecosystem
-
cargo-testify — watches files changes, runs tests and notifies about the result with friendly OS notification
-
cargo-tree – Cargo subcommand that visualizes a crate's dependency graph in a tree-like format
-
cargo-update — cargo subcommand for checking and applying updates to installed executables
-
cargo-watch — utility for cargo to compile projects when sources change
-
liuchong/cargo-x — A very simple third-party cargo subcommand to execute a custom command
-
dtolnay/cargo-expand — Expand macros in your source code
- CMake
- Github actions
- Webpack
调试 Debugging
- GDB
- rust-gdb
-
gdbgui — 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
- Docker
- Google App Engine
- Heroku
嵌入式 Embedded
Rust Embedded
- Cross compiling
-
japaric/rust-cross — everything you need to know about cross compiling Rust programs
-
japaric/xargo — effortless cross compilation of Rust programs to custom bare-metal targets like ARM Cortex-M
- Raspberry Pi
- Arduino
示例 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 Rust.
- C
- C++
- Erlang
- Haskell
- Java
- Lua
- mruby
- Node.js
- Objective-C
- Perl
- Python
-
getsentry/milksnake — extension for python setuptools that allows you to distribute dynamic linked libraries in Python wheels in the most portable way imaginable.
-
dgrunwald/rust-cpython — Python bindings
-
PyO3/PyO3 — Rust bindings for the Python interpreter
- R
- Ruby
- Web Assembly
编辑器 IDEs
See also Are we (I)DE yet? and Rust Tools.
模式识别 Pattern recognition
-
sfikas/rusteval — A tool used to evaluate the output of retrieval algorithms
分析 Profiling
服务 Services
-
deps.rs — Detect outdated or insecure dependencies
-
docs.rs — Automatic documentation generation of crates
统计分析 Static analysis
[assert, static]
测试 Testing
[testing]
-
mockiato — A strict, yet friendly mocking library for Rust 2018
-
mutagen — A source-level mutation testing framework (nightly only)
-
AlKass/polish — Mini Testing/Test-Driven Framework
-
proptest — property testing framework inspired by the Hypothesis framework for Python
-
quickcheck — A Rust implementation of QuickCheck
-
mockito — HTTP mocking
-
speculate — An RSpec inspired minimal testing framework for Rust
-
rust-fuzz/afl.rs — A Rust fuzzer, using AFL
-
tarpaulin — A code coverage tool designed for Rust
-
trust — A Travis CI and AppVeyor template to test your Rust crate on 5 architectures and publish binary releases of it for Linux, macOS and Windows
跨语言调用 Transpiling
库 Libraries
人工智能 Artificial Intelligence
基因算法 Genetic algorithms
-
Martin1887/oxigen — Fast, parallel, extensible and adaptable genetic algorithm library. A example using this library solves the N Queens problem for N = 255 in only few seconds and using less than 1 MB of RAM.
-
innoave/genevo — Execute genetic algorithm (GA) simulations in a customizable and extensible way.
-
willi-kappler/darwin-rs — This library allows you to write evolutionary algorithms (EA) using the Rust programming language. Written by Willi Kappler, License: MIT — Version 0.4 (2017.06.26).
-
m-decoster/RsGenetic — Genetic Algorithm library in Rust. In maintenance mode.
-
mneumann/evo-rs — Evolutionary Algorithm Library for Rust. Without changes for 3 years.
-
yurytsoy/revonet — Rust implementation of real-coded GA for solving optimization problems and training of neural networks.
机器学习 Machine learning
[machine learning]
See also About Rust’s Machine Learning Community.
天文 Astronomy
[astronomy]
异步 Asynchronous
-
zonyitoo/coio-rs — A coroutine I/O library with a working-stealing scheduler
-
dpc/mioco — Scalable, coroutine-based, asynchronous IO handling library
-
TeaEntityLab/fpRust — Monad/MonadIO, Handler, Coroutine/doNotation, Functional Programming features for Rust
-
rust-lang-nursery/futures-rs — Zero-cost futures in Rust
-
mio — MIO is a lightweight IO library for Rust with a focus on adding as little overhead as possible over the OS abstractions
-
Xudong-Huang/may — rust stackful coroutine library
-
rustasync/runtime - A runtime agnostic API designed to make async feel like its part of stdlib
音频 Audio
[audio]
权限 Authentication
汽车 Automotive
生物信息学 Bioinformatics
-
Rust-Bio — bioinformatics libraries in Rust.
缓存 Caching
并发 Concurrency
云端 Cloud
命令行 Command-line
- Argument parsing
- Human-centered design
- Line editor
- Pipeline
- Progress
- Prompt
- Style
- TUI
压缩 Compression
-
Brotli
- bzip2
- gzip
- miniz
- snappy
- tar
- zip
计算 Computation
配置 Configuration
密码学 Cryptography
[crypto, cryptography]
)
数据库 Database
[database]
数据处理 Data processing
-
bluss/ndarray — N-dimensional array with array views, multidimensional slicing, and efficient operations
-
kernelmachine/utah — Dataframe structure and operations in Rust
-
weld-project/weld — High-performance runtime for data analytics applications
数据结构 Data structures
数据可视化 Data visualization
日期和时间 Date and time
[date, time]
分布式系统 Distributed systems
- Antimony
- Apache Hadoop
-
whitfin/efflux — Easy Hadoop Streaming and MapReduce interfaces in Rust.
- Apache Kafka
- Beanstalkd
- HDFS
邮件 Email
[email, imap, smtp]
加密 Encoding
[encoding]
- ASN.1
- Bencode
- Binary
- BSON
- Byte swapping
- Cap'n Proto
- CBOR
- Character Encoding
- CRC
- CSV
-
FlatBuffers
-
frol/flatc-rust — FlatBuffers compiler (flatc) integration for Cargo build scripts
- HAR
-
mandrean/har-rs — A HTTP Archive Format (HAR) serialization & deserialization library
- HTML
- JSON
- Jsonnet
- MsgPack
- PEM
- Postman Collection
- ProtocolBuffers
- RON (Rusty Object Notation)
- Tnetstring
- TOML
- XML
- YAML
文件系统 Filesystem
[filesystem]
- Operations
- Temporary Files
游戏开发 Game development
See also Are we game yet?
- Allegro
- Challonge
- Corange
- Entity-Component Systems (ECS)
- Game Engines
-
Amethyst — Data-oriented game engine
-
Piston —
-
ggez — A lightweight game framework for making 2D games with minimum friction
-
Kiss3D — A Keep It Simple, Stupid 3d graphics engine written with Rust
-
Unrust — unrust — A pure rust based (webgl 2.0 / native) game engine
-
Vulkust — Vulkust — A safe, highly multithreaded, Vulkan based game engine written with Rust.
-
SDL [sdl]
- SFML
- Tcod-rs
- Victorem
- Voxlap
地理空间 Geospatial
[geo, gis]
图像 Graphics
[graphics]
图像处理 Graph processing
图形用户界面 GUI
[gui]
图像处理 Image processing
语言规范 Language specification
-
shnewto/bnf — A library for parsing Backus–Naur form context-free grammars.
日志 Logging
[log]
宏 Macro
- cute
- hado
-
ludat/hado-rs — A little macro for writing haskell-like do expressions without too much ceremony
标记语言 Markup language
移动 Mobile
Geal/rust_on_mobile
- Android
- iOS
-
TimNN/cargo-lipo — A cargo lipo subcommand which automatically creates a universal library for use with your iOS application.
-
vhbit/ObjCrust — 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
- HTTP
- FTP
- IPNetwork
- JSON-RPC
- Low level
- NanoMsg
- Nng
- NNTP
- POP3
- SSH
- Stomp
- uTP
- ZeroMQ
- CoAP
解析 Parsing
包格式化 Packaging formats
外围设备 Peripherals
平台标准 Platform specific
-
Cross-platform
-
Linux
-
Unix-like
-
Windows
-
FreeBSD
脚本 Scripting
[scripting]
-
PistonDevelopers/dyon — A rusty dynamically typed scripting language
-
gluon-lang/gluon — A small, statically-typed, functional programming language
-
murarth/ketos — A Lisp dialect functional programming language serving as a scripting and extension language for rust
-
moss — A dynamically typed scripting language
-
jonathandturner/rhai — A tiny and fast embedded scripting language resembling a combination of JS and Rust
模板引擎 Template engine
- Handlebars
- HTML
- Mustache
-
tailhook/marafet — Compiler for Jade-like template language to cito.js-based virtual dom
文本处理 Text processing
文本搜索 Text search
虚拟化 Virtualization
web编程 Web programming
See also Are we web yet? and Rust web framework comparison.
- Client-side / WASM
-
cargo-web — A Cargo subcommand for the client-side Web
-
seed - A Rust framework for creating web apps
-
stdweb — A standard library for the client-side Web
-
yew — Rust framework for making client web apps
- HTTP Client
- HTTP Server
-
actix/actix-web — A lightweight async web framework for Rust with websocket support
-
branca — A Pure Rust implementation of Branca for Authenticated and Encrypted API tokens.
-
Gotham — A flexible web framework that does not sacrifice safety, security or speed.
-
hyperium/hyper — an HTTP implementation
-
GildedHonour/frank_jwt — JSON Web Token implementation in Rust.
-
handlebars-rust — an Iron web framework middleware.
-
Iron — A middleware-based server framework
-
Nickel — inspired by Express
-
Ogeon/rustful — A RESTful web framework for Rust
-
Rocket — Rocket is web framework for Rust (nightly) with a focus on ease-of-use, expressability, and speed
-
Rustless — A REST-like API micro-framework inspired by Grape and Hyper
-
Saphir — A progressive web framework with low-level control, without the pain.
-
rustforce/sapper — A lightweight web framework built on async hyper, implemented in Rust language.
-
tiny-http — Low level HTTP server library
-
tomaka/rouille — Web framework in Rust
-
carllerche/tower-web [tower-web] — A fast, boilerplate free, web framework for Rust
-
danclive/sincere — A micro web framework for Rust(stable) based on hyper and multithreading.
-
oltdaniel/zap — A lightning fast http framework for Rust
-
WebSocket
- Miscellaneous
-
cargonauts — A web framework intended for building maintainable, well-factored web apps.
-
pyros2097/rust-embed — A macro to embed static assets into the rust binary
-
utkarshkukreti/select.rs [select] — A library to extract useful data from HTML documents, suitable for web scraping.
-
pwoolcoc/soup [soup] - A library similar to Pythons BeautifulSoup, designed to enable quick and easy manipulation and querying of HTML documents.
- Reverse Proxy
- Static Site Generators
注册 Registries
A registry allows you to publish your Rust libraries as crate packages, to share them with others publicly and privately.
-
Crates - The official public registry for Rust/Cargo.
-
Cloudsmith - A fully managed package management SaaS, with first-class support for public and private Cargo/Rust registries (plus many others). Has a generous free-tier and is also completely free for open-source.
资源 Resources
开源协议 License