Crates by Category

CategoryDescriptionCrates
cat~api-bindingsIdiomatic 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.bzip2 flate2 rug xz2
cat~algorithmsRust implementations of core algorithms such as hashing, sorting, searching, and more.fastrand glidesort itertools num num-bigint num-complex num-rational num-traits pathfinding priority-queue rand rand_distr
cat~asynchronousCrates to deal with events independently of the main program flow, using techniques like futures, promises, waiting, or eventing.axum
cat~cachingCrates to store the results of previous computations in order to reuse the results.slotmap
cat~development-tools::cargo-pluginsSubcommands that extend the capabilities of Cargo.cargo-expand
cat~command-line-utilitiesApplications to run at the command line.just
cat~compressionAlgorithms for making data smaller.bzip2 flate2 gzip xz2
cat~concurrencyCrates for implementing concurrent and parallel computation.parking_lot
cat~cryptographyAlgorithms intended for securing data.ring sha2
cat~data-structuresRust implementations of particular ways of organizing data suited for specific purposes.arrayvec bitvec graph-rs heapless im indexmap indextree ndarray num num-bigint num-complex num-rational petgraph priority-queue rangemap roaring rpds rust_decimal skiplist slotmap smallvec tinyvec uuid
cat~development-tools::debuggingCrates to help figure out what is going on with your code such as logging, tracing, or assertions.cargo-expand
cat~development-toolsCrates that provide developer-facing features such as testing, debugging, linting, performance profiling, autocompletion, formatting, and more.derive_more just
cat~embeddedCrates that are primarily useful on embedded devices or without an operating system.bitvec
cat~encodingEncoding and/or decoding data from one data format to another.serde serde_ignored serde_json
cat~filesystemCrates for dealing with files and filesystems.glob notify remove_dir_all walkdir
cat~guiCrates to help create a graphical user interface.slint yew
cat~game-enginesFor crates that try to provide a "one-stop-shop" for all of your game development needs.glam
cat~graphicsCrates for graphics libraries and applications, including raster and vector graphics primitives such as geometry, curves, and color.vello
cat~web-programming::http-serverCrates to serve data over HTTP.axum
cat~mathematicsCrates with a mathematical aspect.nalgebra nalgebra-lapack rug rust_decimal
cat~memory-managementCrates to help with allocation, memory mapping, garbage collection, reference counting, or interfaces to foreign memory managers.slotmap
cat~network-programmingCrates dealing with higher-level network protocols such as FTP, HTTP, or SSH, or lower-level network protocols such as TCP or UDP.axum
cat~no-std::no-allocCrates that are able to function without the Rust alloc crate.itertools serde
cat~no-stdCrates that are able to function without the Rust standard library.anyhow arrayvec bitflags bitvec derive_more glam heapless indexmap itertools nalgebra num-traits ordered-float rand rand_distr ring serde serde_ignored serde_json sha2 slint tinyvec typenum uom uuid
cat~parser-implementationsParsers implemented for particular formats or languages.serde_json uuid
cat~parsingCrates to help create parsers of binary and text formats. Format-specific parsers belong in other, more specific categories.strum
cat~development-tools::procedural-macro-helpersCrates to help write procedural macros in Rust.derive_more strum
cat~renderingReal-time or offline rendering of 2D or 3D graphics, usually with the help of a graphics card.vello
cat~rendering::engineHigh-level solutions for rendering on the screen.slint
cat~rust-patternsShared solutions for particular situations specific to programming in Rust.anyhow bitvec itertools ordered-float
cat~scienceCrates related to solving problems involving physics, chemistry, biology, machine learning, geoscience, and other scientific fields.nalgebra nalgebra-lapack ndarray num num-bigint num-complex num-rational num-traits ordered-float rust_decimal statrs uom
cat~text-processingCrates to deal with the complexities of human language when expressed in textual form.aho-corasick regex strsim
cat~value-formattingCrates to allow an application to format values for display to a user, potentially adapting the display to various languages and regions.uom
cat~web-programmingCrates to create applications for the web.yew
cat~wasmCrates for use when targeting WebAssembly, or for manipulating WebAssembly.nalgebra uuid yew
cat~os::windows-apisBindings to Windows-specific APIs.windows

All Valid Categories↗.