Pages

Monday, 1 August 2016

Awesome Rust

(https://github.com/rust-unofficial/awesome-rust)

A curated list of Rust code and resources, inspired by other awesome lists.
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

Build system

Debugging

Embedded

  • Cross compiling
    • japaric/rust-cross — everything you need to know about cross compiling Rust programs 
  • Raspberry Pi

FFI

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

IDEs

Profiling

Testing

Libraries

Astronomy

Asynchronous

Audio

Authentication

Bioinformatics

  • Rust-Bio — bioinformatics libraries in Rust.

Caching

Concurrency

Cloud

Command-line argument parsing

Command-line interface

Compression

Computation

Cryptography

Database

Data structures

Date and time

[datetime]

Distributed Systems

Email

Encoding

Filesystem

Game development

Geospatial

[geogis]
  • Georust — geospatial tools and libraries written in Rust

Graphics

GUI

[gui]

Image processing

Machine learning

Markup language

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

Parser

Platform specific

Template engine

Text processing

Text rendering

Virtualization

Web programming

Resources

from https://github.com/kud1ing/awesome-rust
-----------

A web frontend for the Rust compiler 。

rustw

A web frontend for the Rust compiler. Displays errors in an easily readable, concise layout, gives easy access to more information, quickly allows reading or editing code.
Be warned: very work in progress!
Contents:
You can play with a live demo. Be warned that it is very, very slow since it is running on a crappy server and rustw is not designed to be run over the internet. When run locally, it is much snappier.
Motivation:
  • Better errors - we should have interactive experiences for exploring and visualising errors involving the borrow checker, macros, etc. Also, easy access to error explanations and docs.
  • Explore code - provide a platform for searching and understanding source code.
  • Convenience - one click (or keystroke) to rebuild, easy to edit and explore code, GUI for multirust (in some ways this is a minimal IDE experience, focused on building, rather than editing).

Building

Requires a nightly version of Rust to build.
  • setup the React/webpack environment (requires npm):
npm install

# if you have yarn installed:

yarn

# if not:

npm install --save react react-dom redux react-redux redux-thunk
npm install --save-dev babel-loader babel-core
npm install --save-dev babel-preset-react
npm install --save-dev babel-preset-es2015
npm install --save-dev babel-plugin-transform-object-rest-spread
npm install --save-dev webpack
npm install --save-dev immutable
  • build the JS components: npm run build or yarn build
  • cargo build --release to build the Rust parts.

Running

rustw in your project's directory (i.e., the directory you would normally use cargo or rustc from).
Running rustw will start a web server and display a URL in the console. To terminate the server, use ctrl + c. If you point your browser at the provided URL, it will build your project, output will be displayed in your browser. The terminal is only used to display some logging, it can be ignored. See tour for more.
Currently, rustw has only been tested on Firefox on Linux (issue 48).
If you want to play with cool features like 'jump to definition', see the customisation below.

Troubleshooting

If you get an error like error while loading shared libraries while starting up rustw you should try the following:
On Linux:
export LD_LIBRARY_PATH=$(rustc --print sysroot)/lib:$LD_LIBRARY_PATH
On MacOS:
export DYLD_LIBRARY_PATH=$(rustc --print sysroot)/lib:$DYLD_LIBRARY_PATH

Customisation

Create a rustw.toml file in your project's directory. See src/config.rs or run rustw -h for the options available and their defaults.
Some features need configuration in the rustw.toml before they can be properly used. Set the following properties to use the cool stuff:
save_analysis = true
This means rustw will run rustc with -Zsave-analysis, this gives you access to analysis information from the compiler which is used in jump to defintion, types on hover, refactoring, etc.
edit_command = "subl $file:$line"
To be able to open files in your local editor. This example works for sublime text (subl). Use the $file and $line variables as appropriate for your editor.
vcs_link = "https://github.com/nrc/rustw-test/blob/master/$file#L$line"
For links to the code in version control.

Tour

On loading rustw in your browser it builds the project. When the build is complete you'll see the output from stdout (messages, hidden by default) and stderr (errors, warnings, etc., shown by default). If you project compiles without errors or warnings this won't be very interesting!
To rebuild, reload the page (quickest way is to hit F5) or click the rebuild button.
You'll see a summary of errors and warnings. You can hide the details (notes, etc.) by clicking the - buttons. You can show code snippets by clicking the + buttons next to filenames. This will show syntax highlighted code with the source of the error (or note, etc.) highlighted. If you click on the filename itself, it will take you to a source code view of that file. You can right click these links to bring up a menu, here you have options to edit the file (which opens the file in an editor which must be specified in rustw.toml) or make a 'quick edit', which pops up a text box to edit the code in the browser.
You can click error codes to see explanations。

from https://github.com/nrc/rustw
-------------

https://project-awesome.org/rust-unofficial/awesome-rust
 
-------
 
Rust代码和资源的整理清单汇总--全网最全,快速精通rust.
 

Rust代码和资源的整理清单 Awesome Rust

Rust代码和资源的整理清单。

A curated list of Rust code and resources.

If you want to contribute, please read this.

内容表单 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 Build Status

数据库 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'.

游戏 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 Build Status

视频 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 Build Status
  • 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 Build Status
  • 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 CircleCI
    • 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

嵌入式 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.

编辑器 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 Build Status

分析 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 Build Status Crates Package Status
  • 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 Travis CI Build Status
  • TeaEntityLab/fpRust — Monad/MonadIO, Handler, Coroutine/doNotation, Functional Programming features for Rust Travis CI Build Status
  • rust-lang-nursery/futures-rs — Zero-cost futures in Rust Travis CI Build Status
  • 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 Crates.io Build status

音频 Audio

[audio]

权限 Authentication

汽车 Automotive

生物信息学 Bioinformatics

  • Rust-Bio — bioinformatics libraries in Rust.

缓存 Caching

并发 Concurrency

云端 Cloud

命令行 Command-line

压缩 Compression

计算 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

邮件 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

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

日志 Logging

[log]

宏 Macro

  • cute
    • mattgathu/cute — 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_mobile

网络编程 Network programming

解析 Parsing

包格式化 Packaging formats

外围设备 Peripherals

平台标准 Platform specific

脚本 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

文本处理 Text processing

文本搜索 Text search

虚拟化 Virtualization

web编程 Web programming

See also Are we web yet? and Rust web framework comparison.

注册 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

 from  https://github.com/shirdonliao/awesome-rust
------

中文翻译: <rust-unofficial/awesome-rust> Rust 代码和资源的精选列表.

绑定 == bindings;

(译者) 绑定的一般含义是,将其他 (多数为) C/C++ 库,通过用 Rust 重新包装,给出类似/相同的 API,这样从此,就多了个绑定着 C/C++库的 Rust 箱子。

如果您想贡献,请阅读this

目录

应用

也可以看看Rust — 生产(在生产中运行 Rust 的组织)。

音频

  • indiscipline/zrtstr >>- 一个命令行实用程序,用于检查立体声 wav 文件是否是人造立体声(即具有相同的通道),并将这些文件转换为单声道。
  • Polaris >>— 一个音乐流应用。

加密货币

  • Holochain >>— 区块链可延展 P2P 备选项,用于所有你想要构建的分布式应用 Build Status
  • Libra >>— Libra’s 任务是建立一个简单的,授予数亿人的全球货币和金融基本机构。
  • nearprotocol/nearcore >>- 针对低端移动设备的分散式智能合约平台。
  • coinbase-pro-rs >>- Rust 中的 Coinbase pro 客户端,支持 sync / async / websocket
  • Grin >>- MimbleWimble 协议的演变
  • Substrate >>- 用 Rust 编写的通用模块化区块链模板
  • Polkadot >>- 具有池化安全性的异构多链技术
  • Parity-Ethereum >>- 快速,轻便,强大的以太坊客户端
  • Parity-Bridge >>- 在任何两个基于以太坊的网络之间架起桥梁
  • Parity-Bitcoin >>- 奇偶校验比特币客户端
  • Parity-Zcash >>- Rust 实现 Zcash 协议
  • rust-cardano >>- Cardano 原语,帮助程序和相关应用程序的 Rust 实现
  • cardano-cli >>- Cardano 命令行界面(CLI)
  • Nervos CKB >>- Nervos CKB 是一个公共许可区块链,是 Nervos 网络的常识层。
  • infincia/bip39-rs >>- BIP39 的 Rust 实现。
  • ChainX >>- Polkadot 上完全分散的链间加密资产管理。
  • rbtc >>- 将 BTC 转换为任何货币,反之亦然。
  • wagu >>- 生成加密货币钱包的 Rust 库
  • zcash >>— Zcash 是一个 "Zerocash" 协议的实现。
  • Holochain >>— 区块链的可伸缩 P2P 备选,用于你想构建的分布式应用 Build Status

数据库

  • indradb >>- 基于 Rust 的图形数据库
  • noria >>- Web 应用程序后端的动态更改,部分状态的数据流
  • ParityDB >>— Fast 和可靠数据库, 优化 read 操作
  • PumpkinDB >>- 一个事件采购数据库引擎
  • seppo0010/rsedis >>- Rust 中的 Redis 重新实现
  • ParityDB >>- 快速可靠的数据库,针对读取操作进行了优化
  • tikv >>- Rust 中的分布式 KV(键值) 数据库

仿真器

也可以看看crates 关键字 'emulator'

游戏

也可以看看Piston 的游戏制作

图像

工业自动化

可观察

操作系统

也可以看看对用 Rust 写的操作系统的比较

生产工具

  • eureka >>- 一个 CLI 工具,无需离开终端,即可输入和存储您的想法
  • BenSchZA/pier >>- 用于管理(添加,搜索元数据等)所有的一行(完成),脚本,工具和 CLI 的中央存储库

安全工具

系统工具

文本编辑

  • gchp/iota >>- 一个简单的文本编辑器
  • mathall/rim >>- 用 Rust 编写的,类似 Vim 的文本编辑器
  • Remacs >>- 一个由社区驱动的 Emacs 到 Rust 的端口。
  • xi-editor >>- 一个现代编辑器,后端用 Rust 编写。
  • xray >>- 实验性的下一代基于 Electron 的文本编辑器。

文本处理

  • TankerHQ/ruplacer >>- 查找,并替换源文件中的文本
  • ripgrep >>- 结合了 Silver Searcher 的可用性,和 grep 的原始速度
  • phiresky/ripgrep-all >>— ripgrep, 但还能搜索 PDFs, E-Books, Office documents, zip, tar.gz, etc. Build Status
  • sd >>- 直观的查找和替换 CLI
  • lavifb/todo_r >>- 使用一个命令,查找所有 TODO 笔记!
  • whitfin/runiq >>- 从未排序的输入中,过滤重复行的有效方法。
  • whitfin/bytelines >>- 将输入行,读取为字节切片,以实现高效率。
  • vishaltelangre/ff >>- 按名称查找文件(ff)!
  • xsv >>- 快速 CSV 命令行工具(切片,索引,选择,搜索,采样等)
  • Lispre/so_stupid_search - 人类专属,简便快捷的字符串查找工具

实用

(译者) Pwned:黑客术语,代指攻击成功的声效词,就像枪响击败的感觉。

  • brycx/checkpwn >>- A Have I Pwned(HIBP)命令行实用工具,可让您轻松检查危险帐户和密码。
  • evansmurithi/cloak >>- 命令行 OTP(一次性密码)身份验证器应用程序。
  • arthrp/consoletimer >>- 终端的简单计时器。
  • myfreeweb/freepass >>- 高级用户的免费密码管理器。
  • arthrp/quick-skeleton >>- 项目脚手架工具,类似于 Yeoman 和 Slush。
  • yaa110/rubigo >>- Golang 依赖工具和包管理器,用 Rust 编写
  • whitfin/s3-concat >>- 使用灵活模式,远程连接 Amazon S3 文件的命令行工具。
  • whitfin/s3-meta >>- 用于收集,有关 Amazon S3 存储桶的元数据的命令行工具。
  • amar-laksh/workstation >>- 一个(运用 OPENCV 的)命令行工具,通过将您与屏幕隔开来,帮助您管理工作台,当您不在其他地方时,锁定屏幕!
  • aleshaleksey/AZDice >>- 给桌面 homebrew 使用者的,可视化,成功分布生成器。
  • fcsonline/tmux-thumbs >>- 用 Rust 所编写的,快速版本的 tmux-fingers,复制/粘贴 tmux,如 vimium / vimperator。
  • repoch >>- 将纪元转换为日期时间,和日期时间转换为纪元
  • yaa110/cb >>- 用于管理剪贴板的命令行界面Build Status

视频

  • yuvadm/slingr >>- 一个简单的 CLI,通过本地网络,将媒体文件流式传输到 UPnP 媒体渲染器
  • yuvadm/streamlib - 从命令行上,播放你的在线视频与音频数据流

虚拟化

窗口管理员

Web

Web 服务器

开发工具

  • clippy >>- Rust lints
  • clog-tool/clog-cli >>- 从 git 元数据,生成 changelog(conventional changelog
  • dan-t/rusty-tags >>- 为 Cargo 项目及其所有依赖项,创建 ctags / etags
  • frewsxcv/crate-deps >>- 为 crates.io 上托管的箱子,生成依赖图的图像
  • git-journal >>- Git Commit 消息和 Changelog 生成框架
  • rust-lang-nursery/rustfix >>- 自动应用 rustc 提出的建议
  • just >>- 构建特定项目的任务,便捷命令运行程序
  • Module Linker >>- 增加<a>链接扩展,让 Github 可以落实(链接)到moduseextern crate语句。
  • ptags >>- 用于 git 存储库的,并行通用 ctags 包装器Build Status
  • Racer >>- Rust 的代码补全
  • rustfmt >>- Rust 代码格式化程序
  • Rustup >>- Rust 工具链安装程序
  • Rust Language Server >>- 在后台运行的服务器,为 IDE,编辑器和其他工具,提供有关 Rust 程序的信息
  • Rust Regex Playground >>— 网络工具:执行 rust 正则表达式
  • artifact >>- 为开发人员设计的文档设计工具Build Status
  • semantic-rs >>- 自动 crate 发布
  • fw >>- 工作空间的生产力助推器
  • tinyrick一个基本任务依赖的工具,强调 Rust 函数,优于原始 shell 命令。

构建系统

  • Cargo >>- Rust 包管理器
    • cargo-benchcmp >>- 用于比较 Rust 微基准测试的实用程序
    • cargo-bitbake >>- Cargo 扩展,可以利用 meta-rust 中的类,生成 BitBake 配方
    • cargo-cache >>- 检查/管理/清理您的 Cargo 缓存(~/.cargo//${CARGO_HOME}),打印尺寸等
    • cargo-check >>- cargo rustc -- -Zno-trans的包装,如果您只需要正确性检查,这对于运行更快的编译很有帮助
    • cargo-count >>- 列出源代码计数和 Cargo 项目的详细信息,包括不安全的统计数据
    • cargo-deb >>- 生成二进制 Debian 软件包
    • cargo-deps >>- 构建 Rust 项目的依赖图
    • cargo-do >>- 连续运行,多个 Cargo 命令
    • cargo-ebuild >>- Cargo 扩展,可以使用树内 eclass 生成 ebuilds
    • cargo-edit >>- 允许您,通过命令行读取/写入 Cargo.toml 文件,来添加和列出依赖项
    • cargo-find 弃用- 从命令行,查找箱子
    • cargo-graph >>- cargo-dot的加强分支,带有附加功能。没有维护,请参阅cargo-deps
    • cargo-info >>- 在命令行向 crates.io ,查询 crates 详细信息
    • cargo-license >>— cargo 子命令,快速产看所有依赖的许可证。
    • cargo-make >>- Rust 任务运行器,和构建工具。
    • cargo-modules >>- 一个 Cargo 插件,用于显示箱子模块的树状概览。
    • cargo-multi >>- 在多个箱子上,运行指定的 Cargo 命令
    • cargo-outdated >>- 显示 Rust 依赖项的最新版本可用,或过期版本
    • cargo-release >>- 用于发布 git 管理的 Cargo 项目,构建,标记,发布,文档和推送的工具
    • cargo-script >>- 让人们快速轻松地运行 Rust“脚本”,可以利用 Cargo 的包生态系统
    • cargo-testify >>- 监视文件更改,运行测试,并通过友好的操作系统,通知结果
    • cargo-tree >>– Cargo 子命令,对一个箱子的依赖图,进行类 tree 格式的可视化处理 CircleCI
    • cargo-update >>- cargo 子命令,用于检查和应用,已安装可执行文件的更新
    • cargo-watch >>- 在源代码变更时,让 cargo 编译项目的实用程序
    • liuchong/cargo-x >>- 执行自定义命令的,非常简单的第三方 Cargo 子命令
    • dtolnay/cargo-expand >>- 在源代码中,展开宏
  • CMake
  • Github actions
  • WebPack

调试

  • GDB
    • rust-gdb
    • gdbgui >>- 基于浏览器的 gdb 前端,用于调试 C,C ++,Rust 和 go。
  • LLDB
  • rr
    • rr >>- rr 是一个轻量级工具,用于记录和重放应用程序的执行。

部署

嵌入式

Rust Embedded

  • 跨平台编译
    • japaric/rust-cross >>- 关于跨平台编译 Rust 程序,需要了解的所有内容
    • japaric/xargo >>- 轻松地将 Rust 程序,跨平台编译为自定义裸机目标,如 ARM Cortex-M
  • Raspberry Pi
  • Arduino

FFI

也可以看看对外函数 (Foreign Function) 接口The Rust FFI 综合(代码的示例集合,如何使用其他语言,运用 Rust 代码)和Rust FFI 示例

集成开发环境(IDE)

也可以看看Are we (I)DE yet?Rust 工具

模式识别

剖析

服务

  • deps.rs >>- 检测过时或不安全的依赖项
  • docs.rs >>- 自动生成箱子的文档

静态分析

[assertstatic]

测试

[testing]

  • mockiato >>— 一个严格的, 同时还很友好的,Rust 2018 的 mock 库
  • mutagen >>- 可变源-级,测试框架(仅限 nightly)
  • AlKass/polish >>- 测试/测试-驱动的迷你框架Build Status Crates Package Status
  • proptest >>- 属性(property)测试框架,灵感来自HypothesisPython 的框架
  • quickcheck >>- Rust 的一个QuickCheck 实现
  • mockito >>- HTTP 模拟
  • speculate >>- 一个受 RSpec 启发的,Rust 的最小测试框架
  • rust-fuzz/afl.rs >>- 一个 Rust fuzzer,使用AFL
  • tarpaulin >>- 为 Rust 设计的代码覆盖工具
  • trust >>- Travis CI 和 AppVeyor 模板,用于在 5 种体系结构上,测试 Rust crate 并根据 Linux,macOS 和 Windows 发布它的二进制版本

Transpiling

  • immunant/c2rust >>- 在 Clang / LLVM 之上构建的, C 到 Rust 转换器和交叉检查器。Build Status
  • jameysharp/corrode >>- 用 Haskell 编写的, C to Rust 转换器。

人工智能

遗传算法

  • Martin1887/oxigen >>- 快速,并行,可扩展和适应性强的遗传算法库。使用此库的示例仅在几秒钟内解决 N = 255 的 N Queens 问题,并使用少于 1 MB 的 RAM。
  • innoave/genevo >>- 以可定制和可扩展的方式执行遗传算法(GA)模拟。
  • willi-kappler/darwin-rs >>- 该库允许您使用 Rust 编程语言编写进化算法(EA)。作者:Willi Kappler,执照:麻省理工学院 - 版本 0.4(2017.06.26)。
  • m-decoster/RsGenetic >>- Rust 中的遗传算法库。在维护模式下。
  • mneumann/evo-rs >>- Rust 的进化算法库。 3 年没有变。
  • yurytsoy/revonet >>- 用于解决优化问题和神经网络训练的实际编码 GA 的 Rust 实现。

机器学习

[machine learning]

也可以看看关于 Rust 机器学习的社区

天文学

[astronomy]

异步

  • zonyitoo/coio-rs >>- 带有工作窃取(working-stealing)调度程序的协程 I/O 库
  • dpc/mioco >>- 可扩展,基于协程的异步 IO 处理库Travis CI Build Status
  • TeaEntityLab/fpRust >>- Monad / MonadIO,Handler,Coroutine / doNotation,Rust 的函数式程序功能Travis CI Build Status
  • rust-lang-nursery/futures-rs >>- Rust 的零成本 futuresTravis CI Build Status
  • mio >>- MIO 是 Rust 的轻量级 IO 库,专注于在 OS 抽象上,添加尽可能少的开销
  • Xudong-Huang/may >>- 螃蟹 stackful 的协程库
  • rustasync/runtime >>- 可在未知运行时下的 API,旨在使异步感觉像 stdlib 的一部分Crates.io Build status

音频

[audio]

认证

汽车

生物信息学

  • Rust-Bio >>- Rust 的生物信息学库。

高速缓存

并发

命令行

压缩

计算

配置

加密

[cryptocryptography]

数据库

[database]

数据处理

数据结构

数据可视化

日期和时间

[datetime]

分布式系统

电子邮件

[emailimapsmtp]

编码(Encoding)

[encoding]

文件系统

[filesystem]

游戏开发

也可以看看Are we game yet?

地理位置

[geogis]

图像

[graphics]

图处理

GUI

[gui]

  • autopilot-rs/autopilot-rs >>- Rust 的简单跨平台 GUI 自动化库。
  • maps4print/azul >>- 一个免费的,功能性的,面向 IMGUI 的 GUI 框架,用于快速开发用 Rust 编写的桌面应用程序,由 Mozilla WebRender 渲染引擎支持。
  • PistonDevelopers/conrod >>- 一个易于使用的,即时模式, 2D GUI 库,完全用 Rust 编写
  • rise-ui >>- 基于组件的简单跨平台 GUI 工具包,用于开发美观且用户友好的界面。

图像处理

(译者) 隐写术是一门关于信息隐藏的技巧与科学。

语言规范

  • shnewto/bnf >>- 用于解析无关上下文, Backus-Naur 形式语法的库。

日志

[log]

  • cute
  • hado
    • ludat/hado-rs >>- 写一个类似 haskell 的表达式,没有太多的仪式

Markup 语言

移动

Geal/rust_on_mobile

网络编程

解析

包装格式

外部设备

平台特定

脚本编写

[scripting]

  • PistonDevelopers/dyon >>-一种 rusty 的动态类型脚本语言
  • gluon-lang/gluon >>- 一种小型的、静态类型的函数式编程语言。
  • murarth/ketos >>-作为 rust 脚本和扩展语言的 lisp 方言函数式编程语言
  • moss >>- 动态类型的脚本语言
  • jonathandturner/rhai >>- 一种小巧快速的嵌入式脚本语言,类似于 JS 和 Rust 的组合。

模板引擎

文本处理

文本搜索

Unsafe

  • zerocopy >>- 用于安全地将任意字节序列,重新解释为原生 Rust 类型的实用程序

虚拟化

网页编程

也见Are we web yet?Rust web 框架比较.

注册中心

注册中心允许你以箱子(crate)的形式,发布你的 Rust 库,公开和私下与他人分享。

  • Crates >>- 官方 Rust/Cargo 登记处。
  • Cloudsmith 💲 >>- 全面管理的软件包管理 SaaS,对公共和私人 Cargo/Rust 登记处(以及许多其他)提供一流的支持。有一个慷慨的免费服务,也是完全免费的开放源码。

资源

from https://github.com/chinanf-boy/awesome-rust-zh/tree/master