rust-unofficial/awesome-rust Rust开源软件


目录

应用

也可以看看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 处理库
  • TeaEntityLab/fpRust >>- Monad / MonadIO,Handler,Coroutine / doNotation,Rust 的函数式程序功能
  • rust-lang-nursery/futures-rs >>- Rust 的零成本 futures
  • 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 :heavy_dollar_sign: >>- 全面管理的软件包管理 SaaS,对公共和私人 Cargo/Rust 登记处(以及许多其他)提供一流的支持。有一个慷慨的免费服务,也是完全免费的开放源码。

资源