Cargo.toml配置:所有有效的类别Slugs

简介: Cargo.toml配置:所有有效的类别Slugs

Rust 笔记Cargo.toml 配置:所有有效的类别Slugs


1. 概述

当我们自己发布一个 Rust 包时,可以在项目的配置文件 Cargo.toml 中配置一个可选字段 categories。该字段是一个该包所属类别的字符串数组,看起来就像这样:

categories = ["command-line-utilities", "development-tools::cargo-plugins"]

你可以最多配置 5 个类别,并且这些类别不可以任意填写,必须与 crates.io 所规定的字符串完全匹配。本文已经整理好了所有可用的类别字符串,并配上了其中文介绍,请参看 2. 可用的类别字符串及其描述 部分

2. 可用的类别字符串及其描述

类别 描述
accessibility 帮助克服残疾和损伤的辅助技术,使软件可以被尽可能多的人使用。
aerospace 航空(大气层内)和航天(外层空间)用的 crates。
aerospace::drones 与多翼飞机、固定翼飞机、垂直起降飞机和飞艇/气球相关的 crates。
aerospace::protocols 航空航天用协议实现 的 crates。
aerospace::simulation 与航空航天中使用的任何模拟相关的 crates - 流体、空气动力学等。
aerospace::space-protocols CCSDS等空间中的协议实现。
aerospace::unmanned-aerial-vehicles 与无人机相关的板条箱,如多翼飞机、固定翼飞机、垂直起降飞机、飞艇/气球、漫游车、船只、潜水器。
algorithms Rust实现核心算法,如哈希、排序、搜索等。
api-bindings 特定API的惯用包装,方便从Rust访问。包括HTTP API包装器。在外部FFI绑定中可以找到非惯用的或不安全的绑定。
asynchronous 帮助你处理独立于主程序流的事件,使用像 Futures、Promises、waiting 或 eventing 这样的技术 的 Crates。
authentication 来帮助确认身份的 Crates。
caching 存储以前的计算结果,以便重复使用结果的 Crates。
command-line-interface 帮助创建命令行界面,如参数解析器、行编辑或输出颜色和格式。
command-line-utilities 要在命令行运行的应用程序。
compilers 编译器实现,包括解释器和传输器。
compression 使数据变小的算法。
computer-vision 通过视频或图像理解世界的 crates。
concurrency 用于实现并发和并行计算的 crates。
config 便于应用配置管理的 crates。
cryptography 旨在保护数据的算法。
cryptography::cryptocurrencies 数字货币、钱包和分布式账本的包装箱。
database 数据库管理系统接口的 crates。
database-implementations 数据库允许客户端以高效的方式存储和查询大量数据。这个类别适用于Rust中实现的数据库管理系统。
data-structures Rust实现适合特定目的的组织数据的特定方式。
date-and-time 来管理处理第四维度的内在复杂性的 crates。
development-tools 提供面向开发人员的特性,如测试、调试、林挺、性能分析、自动完成、格式化等。
development-tools::build-utils 用于构建脚本和其他构建时步骤的实用程序。
development-tools::cargo-plugins 扩展 Cargo 能力的子命令的 crates。
development-tools::debugging 帮助你弄清楚你的代码发生了什么,比如日志记录、跟踪或断言的 crates。
development-tools::ffi 帮助你更好地与其他语言接口。这包括绑定生成器和有用的语言结构的 crates。
development-tools::procedural-macro-helpers 帮助你在Rust中编写程序宏。
development-tools::profiling 来帮助你弄清楚你的代码的性能的 crates。
development-tools::testing 来帮助你验证你的代码的正确性的 crates。
email 帮助发送、接收、格式化和解析电子邮件的 crates。
embedded 主要用于嵌入式设备或没有操作系统的 crates。
emulators 模拟器允许一台计算机像另一台计算机一样运行,通常允许运行主机上没有的软件。视频游戏系统通常被仿真。
encoding 将数据从一种数据格式编码和/或解码成另一种数据格式。
external-ffi-bindings 直接信任用其他语言编写的库的FFI绑定;通常用-sys后缀表示。安全和惯用的包装器属于API绑定类别。
filesystem 处理文件和文件系统的 crates。
finance 处理钱的crates。使用政府支持货币的会计、交易、投资、税收、银行和支付处理。
game-development 对于专注于加速游戏开发的某个单独部分的 crates。
game-engines 对于那些试图为你的所有游戏开发需求提供“一站式商店”的crates。
games 娱乐应用。如果Rust视频游戏是用Rust编程语言实现的,它就属于这一类。帮助创建视频游戏的库属于游戏引擎类别。
graphics 用于图形库和应用程序的板条箱,包括光栅和矢量图形图元,如几何图形、曲线和颜色的 crates。
gui 帮助您创建一个图形用户界面的 crates。
hardware-support 与特定的CPU或其他硬件功能接口的 crates。
internationalization 帮助开发能够适应各种语言和地区的软件的 crates。
localization 帮助国际化软件适应特定语言和地区的板条箱的 crates。
mathematics 数学意义上的 crates。
memory-management 有助于分配、内存映射、垃圾收集、引用计数或与外部内存管理器的接口的 crates。
multimedia 提供音频、视频和图像处理或渲染引擎的 crates。
multimedia::audio 录制、输出或处理音频的 crates。
multimedia::encoding 对多媒体格式的二进制数据进行编码或解码的 crates。
multimedia::images 处理或构建图像的 crates。
multimedia::video 录制、输出或处理视频的 crates。
network-programming 处理较高级网络协议(如FTP、HTTP或SSH)或较低级网络协议(如TCP或UDP)的 crates。
no-std 没有Rust标准库也能工作的 crates。
no-std::no-alloc 没有 rust 的 crates 也能工作的 crates。
os 绑定到特定于操作系统的API。
os::freebsd-apis 绑定到FreeBSD特定的API。
os::linux-apis 绑定到特定于Linux的API。
os::macos-apis 绑定到特定于macOS的API。
os::unix-apis 绑定到特定于Unix的API。
os::windows-apis 绑定到特定于Windows的API。
parser-implementations 为特定格式或语言实现的解析器。
parsing 帮助创建二进制和文本格式的解析器。特定于格式的解析器属于其他更具体的类别。
rendering 2D或3D图形的实时或离线渲染,通常借助显卡。
rendering::data-formats 加载和解析与2D或3D渲染相关的数据格式,如3D模型或动画表。
rendering::engine 屏幕渲染的高级解决方案。
rendering::graphics-api 提供对硬件或操作系统渲染功能的直接访问的 crates。
rust-patterns 针对Rust编程特定情况的共享解决方案。
science 与解决涉及物理、化学、生物、机器学习、地球科学和其他科学领域的问题有关的 crates。
science::geo 空间信息、地图、导航数据和地理信息系统的处理。
science::neuroscience 与大脑和神经系统相关的研究工具和数据处理有关的 crates。
science::robotics 机器人相关的 crates。
simulation 用于为某些活动建模或构建模型,例如模拟网络协议的 crates。
template-engine 旨在将模板与数据结合起来生成结果文档,通常侧重于处理文本的 crates。
text-editors 编辑文本的应用程序。
text-processing 处理人类语言在以文本形式表达时的复杂性的 crates。
value-formatting 允许应用程序格式化显示给用户的值,潜在地使显示适应各种语言和地区的 crates。
virtualization 用于创建和管理任何形式的虚拟环境和资源,包括集装箱化系统。
visualization 查看数据的方式,如绘图或绘图。
wasm 针对WebAssembly或操纵WebAssembly时使用的板条箱。
web-programming 为网络创造应用的 crates。
web-programming::http-client 进行HTTP网络请求的 crates。
web-programming::http-server 通过HTTP提供数据 crates。
web-programming::websocket 通过WebSocket协议进行通信 crates。
目录
相关文章
|
6月前
|
存储 缓存 安全
【cmake 生成配置文件】CMake与现代C++:配置文件宏的深度探索与应用
【cmake 生成配置文件】CMake与现代C++:配置文件宏的深度探索与应用
251 0
|
2月前
|
关系型数据库 MySQL Go
go抽取mysql配置到yaml配置文件
go抽取mysql配置到yaml配置文件
|
2月前
|
Rust Python
Python 解析 toml 配置文件
Python 解析 toml 配置文件
41 1
|
3月前
|
前端开发 计算机视觉
Building wheel for opencv-python (pyproject.toml) ,安装命令增加 --verbose 参数
Building wheel for opencv-python (pyproject.toml) ,安装命令增加 --verbose 参数
184 2
|
3月前
|
机器学习/深度学习 计算机视觉 Python
深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
102 0
|
3月前
clion中cmake配置含义
clion中cmake配置含义
97 0
|
6月前
|
缓存 算法 开发者
【cmake 基础小知识】如何在CMake项目中使用add_dependencies命令管理目标依赖关系
【cmake 基础小知识】如何在CMake项目中使用add_dependencies命令管理目标依赖关系
438 0
|
6月前
|
算法 C++ 开发者
【Conan 入门问题】处理子文件夹中的conanfile.py
【Conan 入门问题】处理子文件夹中的conanfile.py
98 1
|
6月前
|
Rust 开发工具 开发者
如何通过cargo install安装我们的crate?
我在安装tauri的开发工具时,产生一个疑问,为什么可以通过cargo安装全局命令,顺着这个线索我找到了如下方案。原理是在项目开发者指定可执行文件,也就是`[[bin]]`,然后发布到crates.io,之后就可以通过install安装到可执行目录下,我们就能正常使用了。并不是所有crate都可以执行,而是只有在源码中声明bin的才能使用。
162 2
|
JSON 关系型数据库 MySQL
Python--toml配置文件
Python--toml配置文件
177 0