CATEGORY
Data structures 10,114 crates
Data as of 2026-07-25 (crates.io database dump, timestamp 2026-07-25T02:00:36Z). Source: crates.io · db-dump.tar.gz · methodology & corrections.
range_minimum_queryRange Minimum Query (RMQ) is used on arrays to find the position of an element with the minimum value between two specified…299,531MIT
fastbloom-rsSome fast bloom filter implemented by Rust for Python and Rust!298,532Apache-2.0
pdatastructsSimple probabilistic data structures298,512MIT/Apache-2.0
tree-sitter-traversalTraversal of tree-sitter Trees and any arbitrary tree with a TreeCursor-like interface293,641MIT
stream-moreStream utilities for Rust293,194MIT OR Apache-2.0
cueueHigh performance SPSC circular byte buffer with batch operations290,443MIT
prehashA crate for storing values with precomputed hashes.290,389MPL-2.0-no-copyleft-exception
serde_str_helpersHelpers for using serde with strings289,041MIT
async-ringbufAsync SPSC FIFO ring buffer286,908MIT OR Apache-2.0
surrealdb-types-deriveA scalable, distributed, collaborative, document-graph database, for the realtime web282,552non-standard
surrealdb-typesA scalable, distributed, collaborative, document-graph database, for the realtime web282,298non-standard
iowrapSmall helpers for using io::Read/io::Write281,064MIT OR Apache-2.0
echodbAn embedded, in-memory, immutable, copy-on-write database engine280,640Apache-2.0
ntripleA simple RDF N-Triples parser280,607AFL-3.0
legionHigh performance entity component system (ECS) library277,036MIT
hannoyHNSW Approximate Nearest Neighbors in Rust, based on LMDB and optimized for memory usage275,261MIT
value-logValue log implementation for key-value separated LSM storage274,304MIT OR Apache-2.0
ringmapA hash table with consistent deque-like order and fast iteration.271,590Apache-2.0 OR MIT
surrealdb-nightlyA scalable, distributed, collaborative, document-graph database, for the realtime web269,166non-standard
disjoint-setsThree union-find implementations268,515MIT/Apache-2.0
serde-lexprSerde support for Lisp S-expressions267,791MIT OR Apache-2.0
tracker-macrosMacros for the tracker crate260,649Apache-2.0 OR MIT
lockableThis library offers hash map, hash set and cache data structures where individual entries can be locked259,937MIT OR Apache-2.0
xsd-typesXSD data types.258,550MIT/Apache-2.0
petal-neighborsNearest neighbor search algorithms including a ball tree and a vantage point tree.258,209Apache-2.0
enum-tag-macroProc. macro implementation for the `enum-tag` crate.256,682MIT
enum-tagProc. macro for generating enum discriminant types.256,035MIT
ftreeA very fast fenwick tree implementation254,655Apache-2.0 OR MIT
advanced_collectionsLibrary with advanced data structures (collections).
Includes counter (hash-bag, multiset), disjoint set (union-find,…254,598MIT
trackerA macro to track changes on structs254,267Apache-2.0 OR MIT
lru-memAn LRU cache implementation bounded by memory.254,257MIT OR Apache-2.0
surrealdb-core-nightlyA scalable, distributed, collaborative, document-graph database, for the realtime web253,997non-standard
value-extSerde Json Value Extension Trait and Json Utilities253,168MIT OR Apache-2.0
pgatProxy GAT: Abstractions for generic proxy views with GAT to enable generic container types251,308MIT
lasso2A multithreaded and single threaded string interner that allows strings to be cached with a
minimal memory footprint, associating…249,232MIT OR Apache-2.0
openpgp-cert-dShared OpenPGP Certificate Directory245,472MIT
staticvecImplements a fixed-capacity stack-allocated Vec alternative backed by an array, using const generics.243,611MIT OR Apache-2.0
bridgetreeA space-efficient Merkle tree designed for linear appends with witnessing of marked leaves, checkpointing & state restoration.240,050MIT OR Apache-2.0
cropA pretty fast text rope237,983MIT
sql-json-pathSQL/JSON Path implementation in Rust.236,070Apache-2.0
ic-canister-sig-creationLibrary for creating canister signatures on the Internet Computer.235,243Apache-2.0
marked-yamlA simplified YAML structure with provenance spans233,682MIT
fast-smrToward fast, wait-free, portable, and robust memory reclamation.233,238MIT
rssnA comprehensive scientific computing library for Rust, aiming for feature parity with NumPy and SymPy.231,650Apache-2.0
arbitrary-chunksAn iterator that allows specifying an input array of arbitrary chunk-sizes with which to split a vector or array.229,994Apache-2.0 OR MIT
rclitesmall, fast, and memory-friendly reference counting compatible with Arc and Rc APIs228,627MIT OR Apache-2.0
st3A very fast lock-free, bounded, work-stealing LIFO queue.223,697MIT OR Apache-2.0
raw-btreeGeneric B-Tree implementation.223,091MIT/Apache-2.0
synchronized-writerA tiny implement for synchronously writing data.217,835MIT
sync-ptrSync & Send wrappers for raw pointer's and function pointers in rust214,647MIT OR Apache-2.0
xml-builderEasy and highly-configurable XML builder/writer213,164MIT
legion_codegen#[system] proc macro for the legion library211,690MIT
async-unsyncasynchronous, unsynchronized (thread-local) channels and semaphores210,164MIT/Apache-2.0
griddleA HashMap variant that spreads resize load across inserts208,575MIT OR Apache-2.0
vortex-errorVortex errors208,544Apache-2.0
incrementalmerkletree-testingCommon types, interfaces, and utilities for testing Merkle tree data structures207,673MIT OR Apache-2.0
vortex-bufferA byte buffer implementation for Vortex207,664Apache-2.0
vortex-flatbuffersFlatbuffers definitions for Vortex types206,533Apache-2.0
ustr-fxhashFast, FFI-friendly string interning.206,368BSD-2-Clause-Patent
bitset-coreStraightforward, no-std compatible, simd optimized, BitSet API205,839MIT
json-ld-serializationJSON-LD serialization205,611MIT/Apache-2.0
rust-mcp-sdkAn asynchronous SDK and framework for building MCP-Servers and MCP-Clients, leveraging the rust-mcp-schema for type safe MCP…203,963MIT
bondrewd-deriveBit-Level field packing with proc_macros203,870MIT OR Apache-2.0
itybityAn itty bitty crate providing bit iterators and bit iterator accessories.203,252MIT OR Apache-2.0
betHelps parsing and evaluating binary expression trees203,040MIT
bondrewdBit-Level field packing with proc_macros202,169MIT OR Apache-2.0
snake_caseSnakeCase is a String-like type that can only contain valid non-empty snake_case201,603MIT
gvdbImplementation of the glib gvdb file format201,577MIT OR Apache-2.0
len-traitLen trait for collectons.200,941CC0-1.0
typed_floats_macrosCrate only used to generate the `typed_floats` crate.200,917MIT OR Apache-2.0
rust-mcp-transportTransport implementations for the MCP (Model Context Protocol) within the rust-mcp-sdk ecosystem, enabling asynchronous data…199,888MIT
divsufsortRust port of Yuta Mori's divsufsort196,435MIT
watchableA watchable RwLock-like type that is compatible with both multi-threaded and async code.196,272MIT OR Apache-2.0
aleph-bftAlephBFT is an asynchronous and Byzantine fault tolerant consensus protocol aimed at ordering arbitrary messages (transactions).…193,887Apache-2.0
tinyvec_stringtinyvec based string types193,482MIT OR Apache-2.0
iter-setSet operations on sorted, deduplicated iterators.193,453MIT OR Apache-2.0
wasmer_enumsetA library for creating compact sets of enums. Wasmer fork to work around `syn` issue. This will not be updated once the issue is…191,163MIT/Apache-2.0
vortex-arrayVortex in memory columnar data format190,814Apache-2.0
netplan-typesNetplan configuration types as Rust structs and enums189,986MIT OR Apache-2.0
vortex-protoProtocol buffer definitions for Vortex types189,001Apache-2.0
retainerMinimal async cache in Rust with support for key expirations188,319MIT
typed_floatsTypes for handling floats with type checking at compile time.187,270MIT OR Apache-2.0
pagecachelock-free pagecache and log for high-performance databases185,598MIT/Apache-2.0
merkle-search-treeA data structure for efficient state-based CRDT replication and anti-entropy184,611Apache-2.0
numeric-arrayWrapper around generic-array that adds efficient numeric trait implementations183,382MIT OR Apache-2.0
strict_typesStrict types: confined generalized algebraic data types (GADT)181,978Apache-2.0
sacapartPartitioned suffix arrays, for use with `sacabase`181,698MIT
vortex-alpVortex ALP array181,633Apache-2.0
hashconsingA hash consing library.181,070MIT/Apache-2.0
feature-setUser defined feature set180,870MIT OR Apache-2.0
num-dualGeneralized (hyper) dual numbers for the calculation of exact (partial) derivatives180,374MIT OR Apache-2.0
vortex-fastlanesVortex fastlanes arrays179,958Apache-2.0
undoAn undo-redo library.178,745MIT OR Apache-2.0
fenwickFenwick tree: data structure that efficiently calculates prefix sums in a changing array of numbers.178,514MIT
vortex-datetime-partsVortex physical encoding that compresses temporal components individually178,206Apache-2.0
do-notationMonadic do syntactic sugar177,307BSD-3-Clause
nonzero_signedDEPRECATED
Rust's std lib has stabilized their own signed NonZero types in Rust 1.34, please
use those instead if you're using…177,291MIT/Apache-2.0
netaddr2A Rust network address parsing and arithmetic library177,101MIT OR Apache-2.0
dot2A library for generating Graphviz DOT language files for graphs.176,969MIT/Apache-2.0
vortex-byteboolVortex byte-boolean array176,143Apache-2.0
rust-mcp-macrosA procedural macro that derives the MCPToolSchema implementation for structs or enums, generating a tool_input_schema function…175,409MIT
petitsetAn ordered set data structure, optimized for stack-allocated storage of a tiny number of elements with a fixed cap.175,299MIT OR Apache-2.0
vortex-zigzagVortex zig zag array175,151Apache-2.0
recastingtraits for one-to-one recasting of values in data structures175,099MIT OR Apache-2.0
grammers-tl-typesRust definitions for Telegram's API types and functions.174,988MIT OR Apache-2.0
vortex-runendVortex run end encoded array174,075Apache-2.0
dup-indexerCreate a non-duplicated index from Strings, static str, Vec, or Box values173,628MIT OR Apache-2.0
idlsetFast u64 set operations library172,746MPL-2.0
vortex-fsstVortex FSST string array encoding172,325Apache-2.0
uidA crate for the creation of unique IDs.172,322GPL-3.0-or-later
progress-streamsProgress callbacks for types which implement Read/Write172,274MIT
nunnythe definitive non-empty slice/array/vec library for Rust170,151MIT OR Apache-2.0
orx-concurrent-vecA thread-safe, efficient and lock-free vector allowing concurrent grow, read and update operations.169,669MIT OR Apache-2.0
earEAT Attestation Results implementation168,354Apache-2.0
dyn-iterWrapper around `Box<dyn Iterator<Item = V> + 'iter>` to simplify your code167,926MIT
moka-chtLock-free resizeable concurrent hash table167,658MIT OR Apache-2.0
vsdb_coreA std-collection-like database167,006MIT
vortex-maskVortex Mask - sorted, unique, non-negative integers166,629Apache-2.0
radix-heapFast monotone priority queues165,678MIT
sieve-cacheSIEVE cache replacement policy with thread-safe wrappers164,901MIT
vortex-ioCore async and blocking IO traits and implementations, used by IPC and file format164,563Apache-2.0
looleA safe async/sync multi-producer, multi-consumer channel164,070MIT/Apache-2.0
splay_treeSplay Tree based Data Structures (map, set, heap)164,017MIT
automapSimple pattern to implement key-value maps where the value type contains the key type163,495Apache-2.0
struct-reflection-deriveDerive macro implementation for struct-reflection161,859MIT
struct-reflectionA Rust library for obtaining struct field names at runtime through reflection-like capabilities161,715MIT
ulid-generator-rsA Rust crate for generating ULIDs161,667MIT OR Apache-2.0
vortex-fileVortex file readers and writers159,357Apache-2.0
vortex-ipcIPC message format to exchange Vortex arrays across processes158,547Apache-2.0
vortex-sparseVortex Sparse array158,364Apache-2.0
base2histogramA Rust histogram library using base-2 logarithmic bucketing for fast percentile estimation158,306Apache-2.0
vortexVortex file format with all builtin codecs and a sampling compressor.158,144Apache-2.0
vortex-metricsVortex Metrics157,721Apache-2.0
vortex-layoutVortex layouts provide a way to perform lazy push-down scans over abstract storage157,565Apache-2.0
btree_monstrousitya code port of BTreeMap but with comparator functions157,544MIT OR Apache-2.0
vortex-btrblocksBtrBlocks style compressor155,517Apache-2.0
petal-clusteringA collection of clustering algorithms.155,491Apache-2.0
peekableBuffered peek for `Read` and async readers (tokio, futures): inspect incoming bytes without consuming them. Useful for protocol…152,539MIT OR Apache-2.0
vortex-utilsCommon definitions across crates152,485Apache-2.0
slice-of-arrayExtension traits for casting between slices and slices of arrays. (&[T] <-> &[[T; n]])152,206Unlicense
keyviKeyvi - the key value index. It is an in-memory FST-based data structure highly optimized for size and lookup performance.152,062Apache-2.0
cclFast datastructures for use in highly concurrent systems.151,708MIT
checkedImplements a wrapper over the primitive Rust types that better indicates overflow during arithmetic.151,208MIT
shipyardEntity Component System150,981MIT OR Apache-2.0
voronatorImplements the Voronoi diagram construction as a dual of the Delaunay triangulation for a set of points and the construction of a…150,729non-standard
wasmedge-typesThe common data structures for WasmEdge Rust bindings.150,127Apache-2.0
vortex-decimal-byte-partsVortex decimal array (non-canonical) encodings149,575Apache-2.0
event-store-adapter-rscrate to make DynamoDB an Event Store148,632MIT OR Apache-2.0
cachesThis is a Rust implementation for popular caches (support no_std).148,483MIT OR Apache-2.0
transit_modelTransit data management148,194AGPL-3.0-only
noditThis crate provides Discrete Interval Tree Data-Structures, which are based
off BTreeMap.148,036MIT
unbounded-interval-treeAn interval tree working with inclusive/exclusive bounds, as well as unbounded intervals. Provides helpers to fetch overlapping…147,777MIT
narrowAn implementation of Apache Arrow147,492Apache-2.0 OR MIT
aneubeck-daachorseDaachorse: Double-Array Aho-Corasick146,822MIT OR Apache-2.0
rangesThis crate provides a generic alternative to core/std ranges, set-operations to work with them and a range set that can…146,437LGPL-3.0-or-later
vortex-sequenceVortex run end encoded array146,022Apache-2.0
backoff-seriesBackoff iterator from an anchor series with closed-form extrapolation.144,495Apache-2.0
vortex-pcoVortex Pco array143,608Apache-2.0
substrate-fixedFixed-point numbers143,299MIT/Apache-2.0
astro-floatMultiple precision floating-point numbers library.141,954MIT
topkTopK algorithm implementation in Rust141,884MIT
ndarray-ndimageMultidimensional image processing for ArrayBase, the n-dimensional array data structure provided by ndarray.141,775MIT OR Apache-2.0
mortonMorton space filling curve functions141,708MIT
narrow-deriveAn implementation of Apache Arrow139,934Apache-2.0 OR MIT
mitseinStrongly typed APIs for non-empty collections, slices, and iterators.139,567MIT
bandwidthA library for representing bandwidth speed in a variety of units, mimicking the `core::time::Duration` struct.138,796Apache-2.0
grdfGeneralized RDF graphs and datasets138,575MIT/Apache-2.0
hexxHexagonal utilities137,947Apache-2.0
vortex-zstdVortex zstd compression array encoding137,904Apache-2.0
iptrieIPv4/v6 prefixes lookup structures (based on tries)137,521MIT
indexsetA two-level BTree with fast iteration and indexing operations136,249Apache-2.0 OR MIT
openraft-rtAsync runtime abstraction traits for Openraft136,070MIT OR Apache-2.0
dcborDeterministic CBOR ("dCBOR") for Rust.134,586BSD-2-Clause-Patent
human-bandwidthA library for representing bandwidth speed in a human-readable format.134,509Apache-2.0
orx-concurrent-optionConcurrentOption is a lock-free concurrent read and write option type.134,435MIT OR Apache-2.0
fsumThe library to calculate accurate sum of floats.134,430MIT OR Apache-2.0
ic-vetkeysA set of tools designed to help canister developers integrate vetKeys into their Internet Computer (ICP) applications133,929Apache-2.0
hnswFast approximate nearest neighbors133,886MIT
ahp-typesWire protocol types for the Agent Host Protocol (AHP).133,301MIT
slack-blocksModels + clientside validation for Slack's JSON Block Kit132,126MIT OR Apache-2.0
bpeFast byte-pair encoding implementation.131,000MIT
flatten_objectsA container that stores numbered objects. Each object can be assigned with a unique ID.130,999GPL-3.0-or-later OR Apache-2.0 OR MulanPSL-2.0
bc-envelopeGordian Envelope for Rust.130,534BSD-2-Clause-Patent
array_mapMap backed array for fixed size keys with O(1) performance130,096MIT OR Apache-2.0
vortex-dtypeVortex's core type system129,513Apache-2.0
vortex-scanScanning operations for Vortex129,327Apache-2.0
smallvec-wrapperMacro and common structs to play with `smallvec`128,386MIT OR Apache-2.0
handleboxA map-like collection that reuses unused keys127,743MIT
vortex-scalarVortex Scalars125,725Apache-2.0
astro-float-macroMacros for multiple precision floating point numbers library astro-float.125,348MIT
treebitmapFast IPv4/IPv6 lookup trie.125,140MIT
astro-float-numMultiple precision floating point numbers implemented purely in Rust.124,918MIT
gvdb-macrosConvenience macros for gvdb124,026MIT OR Apache-2.0
vers-vecsA collection of succinct data structures supported by fast implementations of rank and select queries.123,835MIT OR Apache-2.0
native_modelA thin wrapper around serialized data which add information of identity and version.123,753MIT
csaf-walkerA library to work with CSAF data122,562Apache-2.0
flo_streamPubsub and related streams for Rust futures122,006Apache-2.0
dogmaProvides `Named`, `MaybeNamed`, `Labeled`, `MaybeLabeled`, `Collection`, and `CollectionMut` traits.121,703Unlicense
awint_coreCore no-std and no-alloc `awint` functionality121,553MIT OR Apache-2.0
slotmap_fork_lmondadaSlotmap data structure120,909Zlib