| Idiomatic wrappers of specific APIs for convenient access from Rust. Includes HTTP API wrappers as well. Non-idiomatic or unsafe bindings can be found in External FFI bindings. | |
| Assistive technology that helps overcome disabilities and impairments to make software usable by as many people as possible. | |
| Rust implementations of core algorithms such as hashing, sorting, searching, and more. | |
| Crates to help you deal with events independently of the main program flow, using techniques like futures, promises, waiting, or eventing. | |
| Utilities for build scripts and other build time steps. | |
| Crates to store the results of previous computations in order to reuse the results. | |
| Subcommands that extend the capabilities of Cargo. | |
| Applications to run at the command line. | |
| Crates to help create command line interfaces, such as argument parsers, line-editing, or output coloring and formatting. | |
| Algorithms for making data smaller. | |
| Crates for implementing concurrent and parallel computation. | |
| Crates to facilitate configuration management for applications. | |
| Algorithms intended for securing data. | |
| Rust implementations of particular ways of organizing data suited for specific purposes. | |
| Databases allow clients to store and query large amounts of data in an efficient manner. This category is for database management systems implemented in Rust. | |
| Crates to interface with database management systems. | |
| Crates to manage the inherent complexity of dealing with the fourth dimension. | |
| Crates to help you figure out what is going on with your code such as logging, tracing, or assertions. | |
| Crates that provide developer-facing features such as testing, debugging, linting, performance profiling, autocompletion, formatting, and more. | |
| Crates that are primarily useful on embedded devices or without an operating system. | |
| Encoding and/or decoding data from one data format to another. | |
| Crates that encode or decode binary data in multimedia formats. | |
| Crates to help you better interface with other languages. This includes binding generators and helpful language constructs. | |
| Crates for dealing with files and filesystems. | |
| Crates for dealing with money. Accounting, trading, investments, taxes, banking and payment processing using government-backed currencies. | |
| Crates to help you create a graphical user interface. | |
| For crates that focus on some individual part of accelerating the development of games. | |
| For crates that try to provide a "one-stop-shop" for all of your game development needs. | |
| Crates for graphics libraries and applications, including raster and vector graphics primitives such as geometry, curves, and color. | |
| Crates to make HTTP network requests. | |
| Crates to serve data over HTTP. | |
| Crates to interface with specific CPU or other hardware features. | |
| Crates that process or build images. | |
| Crates to help develop software capable of adapting to various languages and regions. | |
| Crates with a mathematical aspect. | |
| Crates to help with allocation, memory mapping, garbage collection, reference counting, or interfaces to foreign memory managers. | |
| Crates dealing with higher-level network protocols such as FTP, HTTP, or SSH, or lower-level network protocols such as TCP or UDP. | |
| Crates that are able to function without the Rust alloc crate. | |
| Crates that are able to function without the Rust standard library. | |
| Bindings to operating system-specific APIs. | |
| Parsers implemented for particular formats or languages. | |
| Crates to help create parsers of binary and text formats. Format-specific parsers belong in other, more specific categories. | |
| Crates to help you write procedural macros in Rust. | |
| Crates to help you figure out the performance of your code. | |
| Real-time or offline rendering of 2D or 3D graphics, usually with the help of a graphics card. | |
| High-level solutions for rendering on the screen. | |
| Crates related to robotics. | |
| Shared solutions for particular situations specific to programming in Rust. | |
| Crates related to solving problems involving physics, chemistry, biology, machine learning, geoscience, and other scientific fields. | |
| Crates used to model or construct models for some activity, e.g. to.simulate a networking protocol. | |
| Crates designed to combine templates with data to produce result documents, usually with an emphasis on processing text. | |
| Crates to help you verify the correctness of your code. | |
| Crates to deal with the complexities of human language when expressed in textual form. | |
| Crates to create applications for the web. | |
| Crates for use when targeting WebAssembly, or for manipulating WebAssembly. | |
| Crates to communicate over the WebSocket protocol. | |
| Bindings to Windows-specific APIs. | |