Rust代码和资源汇总
Rust代码和资源的整理清单,助您快速成为rust高手!
tips:作者《Go Web编程实战派——从入门到精通》出版了,对于想学Go语言的朋友,欢迎京东当当购买!
tips:作者《Go语言高级开发与实战》出版了,对于想学Go语言高级开发的朋友,欢迎京东当当购买!
目录
*注册中心
*资源
*许可证
应用
See also Rust — Production(organizations running Rust in production).
音频
-
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.
加密货币
-
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
数据库
-
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
模拟器
See also crates matching keyword 'emulator'.
- Commodore 64
- Gameboy
- NES
- Playstation
- ZX Spectrum
- Virtual Boy
- Intel 8080 CPU
- Emulator Development tools
游戏
See also Games Made With Piston.
图像处理
工业自动化
操作系统
See also A comparison of operating systems written in Rust.
生产力
-
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
-
rustdesk/rustdesk — A remote desktop software, great alternative of TeamViewer and AnyDesk.
安全工具
系统工具
文本编辑器
-
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.
文本处理
-
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.)
公用包
-
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
视频
-
yuvadm/slingr — A simple CLI for streaming media files over a local network to UPnP media renderers
虚拟化
窗口管理
网站
网络服务端
开发工具
-
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.
创建系统
-
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
调试
- 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
部署
- Docker
- Google App Engine
- Heroku
嵌入式
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
示例
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
编辑器
See also Are we (I)DE yet? and Rust Tools.
模式识别
-
sfikas/rusteval — A tool used to evaluate the output of retrieval algorithms
分析
服务
-
deps.rs — Detect outdated or insecure dependencies
-
docs.rs — Automatic documentation generation of crates
统计分析
[assert, static]
测试
[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
跨语言调用
库
人工智能
基因算法
-
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]
See also About Rust’s Machine Learning Community.
天文
[astronomy]
异步
-
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]
权限
汽车
生物信息学
-
Rust-Bio — bioinformatics libraries in Rust.
缓存
并发
云端
命令行
- Argument parsing
- Human-centered design
- Line editor
- Pipeline
- Progress
- Prompt
- Style
- TUI
压缩
-
Brotli
- bzip2
- gzip
- miniz
- snappy
- tar
- zip
计算
配置
密码学
[crypto, cryptography]
)
数据库
[database]
数据处理
-
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
数据结构
数据可视化
日期和时间
[date, time]
分布式系统
- Antimony
- Apache Hadoop
-
whitfin/efflux — Easy Hadoop Streaming and MapReduce interfaces in Rust.
- Apache Kafka
- Beanstalkd
- HDFS
邮件
[email, imap, smtp]
加密
[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]
- Operations
- Temporary Files
游戏开发
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
地理空间
[geo, gis]
图像
[graphics]
图像处理
图形用户界面
[gui]
图像处理
语言规范
-
shnewto/bnf — A library for parsing Backus–Naur form context-free grammars.
日志
[log]
宏
- cute
- hado
-
ludat/hado-rs — A little macro for writing haskell-like do expressions without too much ceremony
标记语言
移动
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.
网络编程
- HTTP
- FTP
- IPNetwork
- JSON-RPC
- Low level
- NanoMsg
- Nng
- NNTP
- POP3
- SSH
- Stomp
- uTP
- ZeroMQ
- CoAP
解析
包格式化
外围设备
平台标准
-
Cross-platform
-
Linux
-
Unix-like
-
Windows
-
FreeBSD
脚本
[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
模板引擎
- Handlebars
- HTML
- Mustache
-
tailhook/marafet — Compiler for Jade-like template language to cito.js-based virtual dom
文本处理
文本搜索
虚拟化
web编程
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
注册
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.
资源
开源协议 License
代码贡献者(按时间顺序)