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.
waker-queueA queue with a waker attached. Low level plumbing.5,249MPL-2.0
e-ringA no_std append only ring buffer, when full new element replace oldest one5,247MIT
hedel-rsA Hierarchical Doubly Linked List.5,243GPL-3.0
float-formatA library for custom floating point number format5,239MIT
ultraloglogRust implementation of the UltraLogLog algorithm5,236Apache-2.0
formualizer-commonCore value, reference, and error types shared across the Formualizer parser and engine5,234MIT OR Apache-2.0
version-rsA struct for Versions, with the methods you expect5,233MIT OR Apache-2.0
tree-automataTerm Rewriting Systems5,232MIT/Apache-2.0
ord-by-setA library providing a weakly ordered multi-set with compile-time configurable ordering scheme5,230MIT
win-idispatchThis is a rust crate that aims to provide a more ergonomic way of working with idispatch in winapi based projects.5,227MIT
graph-api-testTest utilities and property-based testing for the graph-api ecosystem5,223Apache-2.0
breadth-first-zipBreadth-first `zip` guaranteeing a monotonically increasing sum of indices.5,221MPL-2.0
timesourceEvent sourcing with TimescaleDb5,220MIT
tagged-coreA lightweight tagged type abstraction for type-safe IDs, etc.5,220MPL-2.0
keyedImplement comparison traits by specifying a key.5,218MIT
pqgramsThis package implements a basic version of the PQ-Grams tree-edit-distance approximation algorithm, as generically as possible.…5,212LGPL-3.0+
rubiks-movesA library focusing on processing moves for 3x3 Rubiks cube5,211MIT
cardinality-estimator-safeEstimate the cardinality of distinct elements in a stream or dataset with no unsafe code5,206Apache-2.0
ged_ioA parser for GEDCOM files5,206MIT
ipzoneIpzone provides a simple and powerful IP architecture to Rust.5,202MIT OR Apache-2.0
linebufferringbuffer for dynamic sized u8-elements5,202MIT/Apache-2.0
cfpyo3_rs_bindingsa collection of performant utilities5,202non-standard
rshyper-hmapThis crate implements the hypermap implementation (a map-based hypergraph) for the rshyper framework5,199Apache-2.0
ndtensorAn n-dimensional tensor5,195Apache-2.0
bnrPure Rust implementation of the BNR XFS USB communication protocol5,193MIT
il_tzA Rust library for working with Israeli ID numbers (TZ)5,193MIT
anti-rA spatial data structure outperforming r-trees for low numbers of elements5,192Apache-2.0
jsonnlpan implementation of the JSON-NLP data structure5,190Apache-2.0
mutaigMutable AIGs designed for equivalence checking.5,189MIT
names-changerConvert a names of sql schemes from camelcase to snake case.5,183MIT OR Apache-2.0
plodPlod - deriving plain old data5,182MIT
ploc-bvhA Bounding Volume Hierarchy based on PLOC5,181MIT OR Apache-2.0
type-info-deriveMeta type information and type reflection at compile-time and runtime.5,179MIT
concurrent-slotmapA lock-free concurrent slotmap5,174MIT OR Apache-2.0
one-stack-vecOneStackVec could contain any number of item like `Vec`, and
it does heap allocation only when it contains more than one item.5,173MIT/Apache-2.0
qudag-dagDAG consensus implementation for QuDAG - QR-Avalanche algorithm with Byzantine fault tolerance5,173MIT OR Apache-2.0
fr-trieFuzzy Radix Trie5,169MIT
chunked_vecA chunk-oriented vector collection with fixed-size chunk storage5,166MIT
mentedb-graphKnowledge graph engine for MenteDB5,166Apache-2.0
bsxplorer2A high-performance library for bisulfite sequencing data analysis and DNA methylation research5,159non-standard
mentedb-indexIndex structures for MenteDB5,156Apache-2.0
xdbufProvides a reusable multi-dimensional buffer.5,154MIT OR Apache-2.0
indexedlinkedhashmapAn indexable LinkedHashMap. The user defines the data structure that controls order.5,152MIT
object-safeImplement object-unsafe traits for trait objects5,152MIT OR Apache-2.0
nexus-logbufLock-free SPSC and MPSC byte ring buffers for logging and archival5,152MIT OR Apache-2.0
arche-tapearche-tape is an archetypal ECS5,150MIT OR Apache-2.0 OR Zlib
bytey_deriveBytey derive macros, use Bytey instead5,146MIT
flocoFloco validates floats against constraints.5,137MIT OR Apache-2.0
atomic_mpmcAtomic Multi-Producer Multi-Consumer Queue5,130MIT OR Apache-2.0
iqkms-protoiqkms Protocol Buffers type definitions and schema5,129Apache-2.0
swmr-cellA thread-safe single-writer multi-reader cell with wait-free reads and version-based garbage collection5,129MIT OR Apache-2.0
dexios-domainA library that contains the inner-workings and core logic for Dexios.5,128BSD-2-Clause
microcrates-bytesTypes and traits for working with bytes (with no_std support by default)5,127MIT/Apache-2.0
ironfix-dictionaryFIX specification parsing and dictionary management for IronFix5,127MIT
truetreeTrees in Rust5,124MIT
serde-ordered-deriveA procedural macro for deserializing ordered arrays into keyed structs using Serde.5,121MIT OR Apache-2.0
jyxCommand line tool for manipulating data structures5,120MIT
netcrabA simple library for creating and exporting Petri nets5,120MIT OR Apache-2.0
osmgraphConvert OSM queries into graphs.5,118MIT
wascap-codecEncoding and decoding primitives for the wascap WebAssembly libraries5,116Apache-2.0
typeratType-level rational numbers based on `typenum`.5,115MIT OR Apache-2.0
sparse_graphSparse graph algorithms5,114MIT
unsafe_listLinux 风格侵入式双向链表5,114Apache-2.0
lb-tantivy-columnarcolumn oriented storage for tantivy5,108MIT
woodlandEasy to use implementations of popular tree data structures such as Binary, Binary Search, AVL, Red-Black, and more5,099MIT
taskchainA block-based, non-circular double-linked list implementation for Rust.5,099Apache-2.0
tiny-internerEasy to use string interner with fast access to underlying strings
and minimal memory footprint.5,098MIT
ct-tilemapA library to help parse ClickTeam Tilemap files.5,098MIT OR Apache-2.0
snap-bufA copy on write byte buffer for efficient snapshotting5,098MIT OR Apache-2.0
json-nodeA way to work with JSON as a node tree.5,097MIT
binary-data-schemaMeta language for raw binary serialization5,095AGPL-3.0
stackaddrSelf-describing, layered network address representation, with flexible protocol stacks.5,094MIT
iradixA generic, persistent (copy-on-write) radix trie with structural sharing — bring-your-own-key, no_std + alloc, parameterized over…5,094MIT OR Apache-2.0
feo-oop-engine-proc-macrosThe proc macros for feo-oop-engine.5,093MIT
cutterA simple usefull functions for parsing text. Used for cutting between strings.5,090MIT/Apache-2.0
ip2countryfast ip to asn-country lookup5,089MIT
bitmatrixA bitvec based bitmatrix, akin to bit-matrix which is based on bit-vec5,087MIT
rustiniAn INI parser for Rust5,083MIT
lzma_tarballA simple library for reading and writing tarballs with lzma compression.5,082non-standard
waitcacheAn ever-growing concurrent hash map with key-level locking granularity.5,079MPL-2.0-no-copyleft-exception
wufA fast weighted implementation to the union-find problem with path compression.5,076MIT
unique-rcUnique owner Rc, like Box, can Send and DerefMut5,074MIT
make-message-busGenerate a pub-sub bus for use in async applications5,066MIT OR Apache-2.0
ckb_multi_index_mapMultiIndexMap: A generic multi index map inspired by boost multi index containers5,064MIT
frostwalkerA TOML-like configuration language parser with zero dependencies outside of std.5,057EUPL-1.2
psxmemThis is a library to read and write PSX/PS1 memory card files.5,056BSD-3-Clause
consistent_whitespaceA utility that checks for consistent whitespace across your file(s).5,056AGPL-3.0
typed_graphStaticly typed graph library5,053Apache-2.0
fralFunctional random-access lists.5,049MIT
allfeat-music-genresFlat genre enum for the Allfeat blockchain with frontend-backend compatibility5,048GPL-3.0-or-later
ecs-tinyA minimal ECS supporting entity and component insertion/removal, association, and single-type iteration.5,046MIT
construeCompile-Time Growable Array: Vec & String for const!5,043GPL-3.0-or-later
sweetrpg-kv-objectsObjects for Key-value store5,042MIT
grid_shapesA general purpose 2d grid shape library5,041MIT OR Apache-2.0
pgdb_to_structA Rust CLI application to generate Rust struct files from PostgreSQL database tables.5,039MIT
yt_infoRust library to download YouTube content and retrieve metadata5,039MIT
nhs-numberUnited Kingdom (UK) National Health Service (NHS) Number — parse, format, and validate the ten-digit identifier used by UK NHS…5,037MIT OR Apache-2.0 OR GPL-2.0 OR GPL-3.0 OR BSD-3-Clause
aabel-identifier-rsA crate the defines identifier behavior, such comparing them, or generating sequences of identifiers.5,036MIT OR Apache-2.0
exact-coversAn implementation of Knuth's algorithm for solving the exact cover problem with colors5,030MIT
fibonacci_heapA high-performance Fibonacci Heap implementation in Rust with generic type support5,021MIT
dst-containerContainers for DST objects.5,016MIT
collide-capsuleCapsule collider implementation for the collide crate5,004MIT OR Apache-2.0
tokio-stream-utilExtension traits and utilities for tokio-stream's `Stream` trait.4,999MIT
mrklGeneric, minimalist, parallelizable Merkle tree4,995MIT/Apache-2.0
fuel-dummy-test-subcrate-eAtomic types of the FuelVM.4,989BUSL-1.1
rust-distributed-idRust version of the Twitter snowflake algorithm.4,989MIT
char-circleA circular buffer for strings and traits for in-place string transforms.4,986MIT
gloss-hecsA wrapper over hecs for easy use with gloss4,983MIT OR Apache-2.0
net_promoter_scoreA crate for calculating Net Promoter Score (NPS) from survey responses.4,981MIT OR Apache-2.0
jpostcode_rsJapanese postal code lookup library in Rust, powered by jpostcode-data4,976MIT
awidSmall, simple, universally unique identifiers.4,973MIT OR Apache-2.0
insert_multipleinsert multiple items into a stream in reasonable runtime4,973MIT
rimu-valueA data structure template system.4,972MIT OR Apache-2.0
pulz-ecsAn archetype based ECS4,972MIT OR Apache-2.0
lb-tantivySearch engine library4,971MIT
byte-transcoderA Rust+Typescript library to transcode higher-level data types to/from bytes.4,953MIT
repA small tool for representation/class invariants4,948MIT
tokeraProvides an interface into Tokera and its supporting services4,943MIT OR Apache-2.0
ldtk_mapA crate for reading ldtk maps for usage in games.4,941MIT
netgauze-analyticsAnalytics infrastructure related library4,939Apache-2.0
arenasSimple Arena data structure for efficiently adding & removing items with stable IDs4,937MIT OR Apache-2.0
rust_release_channelA data structure for Rust release channel metadata.4,936MIT/Apache-2.0
mumuLava Mumu is a language for those in the now and that know4,933MIT OR Apache-2.0
serverless_workflow_coreContains Serverless Workflow DSL models4,933Apache-2.0
rust_listSingly linked list in Rust, with macros for easy instantiation4,921Apache-2.0
fuel-dummy-test-subcrate-fAtomic types of the FuelVM.4,919BUSL-1.1
clarionA library to simplify working with Clarion software data formats.4,917MIT OR Apache-2.0
graph-api-benchesBenchmarking utilities and performance tests for the graph-api ecosystem4,912Apache-2.0
volaris-toolsThe libary that contains all workings and tools for volaris.4,909BSD-2-Clause
kovan-channelMulti-producer multi-consumer channels using Kovan for memory reclamation4,902Apache-2.0
stubitstupid bit library4,901non-standard
pgschemaPrototype for PG-SChema with property constraints4,900MIT
sugars_collectionsEfficient collection types including ZeroOneOrMany and OneOrMany with array tuple syntax support4,891MIT OR Apache-2.0
primitive_traitsTraits over primitive types. Particularly stuff not covered by num-*.4,889MPL-2.0
stac-extensionsManage STAC extensions (https://stac-extensions.github.io/)4,889MIT OR Apache-2.0
icentral-bbfsA Rust crate providing Bidirectional Breadth-First Search (BBFS) for efficient computation of betweenness centrality in large…4,886MIT OR Apache-2.0
automatic-relationsTree automatic relations4,882MIT/Apache-2.0
priority-expiry-cacheA cache that evicts items based on their priority and expiry time (LRU + TTL)
Add (O(1)), Get (O(1)), Evict (O(1)) in both time…4,882MIT/Apache-2.0
oxirs-coreCore RDF and SPARQL functionality for OxiRS - native Rust implementation with zero dependencies4,879Apache-2.0
icentral-rbfsA Rust crate for calculating and updating betweenness centrality scores in graphs using Recursive Breit-First Search strategies,…4,873MIT OR Apache-2.0
pixel_mapA map of pixels implemented by an MX quadtree.4,868MIT OR Apache-2.0
char-bufA writable, fixed-length `char` buffer usable in `no_std` environments.4,867MIT OR Apache-2.0
tsinkA lightweight embedded time-series database with a straightforward API4,867MIT
maplikeRust traits for abstract containers and operations over them.4,864MIT OR Apache-2.0
graphix_ioA Rust library for reading and writing graphs from and to text files, based on the graphix crate.4,861MIT
ps-utilThis crate aims to provide generally helpful utility functions and traits.4,857GPL-3.0-or-later
cavalier_contours_ffiC foreign function interface for the cavalier_contours crate4,855MIT OR Apache-2.0
kevy-hashFxHash + fmix64 hasher for single-trust-domain keyspaces.4,851Apache-2.0 OR MIT
open-coroutine-queueConcurrent work-stealing queue, implemented using st3 and crossbeam-deque.4,847LGPL-3.0 OR Apache-2.0
whistlinoakAnnotated even-arity trees backed by mmaps4,842MIT OR Apache-2.0
par-dfsParallel, serial, and async dfs and bfs traversal4,840non-standard
validiterIterator adapters for validating iterations4,840MIT OR Apache-2.0
rk-utilsA collection of utility functions and data structures for rust.4,839MIT
apexA configurable, multi-threaded signals and slots implementation for Rust4,834MIT
rust-fixed-point-decimal-macrosMacros used to ease instantiation of Decimal numbers.4,833non-standard
downsamplekeep downsampled history of data over long period of time4,831Apache-2.0 OR MIT
fluxor_cliFluxor CLI: a command-line tool that allows developers to quickly and efficiently create project starters for the Fluxor web…4,828MIT OR Apache-2.0
smr-swapA minimal-locking, high-performance Single-Writer Multiple-Reader swap container using version-based memory reclamation4,811MIT OR Apache-2.0
rimuA data structure template system.4,810MIT OR Apache-2.0
lz_eytzinger_treeAn Eytzinger tree implementation, this is an N-tree implemented using array storage4,809MIT
twodarrayA 2D array library4,807MIT
shapelyOne trait for reflection, serialization, deserialization4,806MIT OR Apache-2.0
spatialtreeA fast and flexible generic spatial tree collection (Octree, Quadtree, etc)4,806GPL-3.0
hdf5-dstDST extensions for HDF54,802MIT
nexus-slabA high-performance slab allocator optimized for predictable tail latency4,802MIT OR Apache-2.0
castboxA Runtime-Typed Reference-Counted Smart Pointer and Concurrent Programming tools.4,800Apache-2.0
hora-newHora Search Everywhere4,798Apache-2.0
cw-bigintBig integer implementation for Rust4,798MIT OR Apache-2.0
cumsumCumulative sum4,791GPL-3.0-only
graph-api-libCore library for the graph-api ecosystem - a flexible, type-safe API for working with in-memory graphs in Rust4,790Apache-2.0
empty-boxAllows for `Box`s to have their values moved out and replaced with new values,
while reusing the same allocation.4,787MIT/Apache-2.0
eztd-coreQuick start Rust4,783MIT OR Apache-2.0
visit_diffEfficiently finding differences between data structures.4,777BSD-2-Clause
aabbStatic AABB spatial index for 2D queries4,774MIT
native_db-32bitDrop-in embedded database4,761MIT
honeycomb-kernelsMeshing kernel implementations using combinatorial maps4,760MIT OR Apache-2.0
pi_world_macrosecs world macros4,753MIT OR Apache-2.0
flo_sparse_arraySparse array data type: a fast map between usize values and data4,752Apache-2.0
serde-frontmatterSerde support for Jekyll front matter4,751GPL-3.0
mmap-bitvecA library for working with bit-vectors backed by memory-mapped files4,743MIT
steel-imblImmutable collection datatypes4,736MPL-2.0+
evictPage eviction policies: LRU, LRU-k, LIRS, SLRU etc4,712MIT
lobsterchatMinecraft Chat Components and Adventure MiniMessage in Rust4,710MIT
swimmerThread-safe object pool type4,703MIT/Apache-2.0
thalo-testingTest utils for crates.io/thalo4,701MIT OR Apache-2.0
graphityModel signal flow between nodes within a directed graph.4,699GPL-3.0-or-later
lorosurgeonDerive macros for bidirectional serialization between Rust types and Loro CRDT containers4,699MIT
ngdp-bpsvBPSV (Blizzard Pipe-Separated Values) parser and writer for NGDP4,697MIT OR Apache-2.0
twine_libTwine protocol rust library core functionality4,695MIT
rustyneticsA high-performance genomics libary specialized in handling BAM and BigWig files4,686MIT
viral32111-stompSTOMP client crate for my Rust projects.4,685AGPL-3.0-only
simple-canvasA simple generic 2 dimensional canvas struct4,682MIT
trait-stackFast heterogeneous stack4,679MIT
multilinearInteractive story simulation using constrained parallel aspects4,677MIT OR Apache-2.0
doryen-extraDoryen-extra aims to be a loose re-implementation of the utility features from the popular roguelike library named libtcod4,675BSD-3-Clause
system-configA library for storing application properties on disk.4,670MIT
stacking_heapsData Structures, Algorithms and their usage in Data Engineering world. Implemented and described on my blog Stacking Heaps.4,655GPL-3.0
windows-file-infoThis crate is for gathering useful infos about Windows entities(archives, directories or reparse point/symlinks) with developer…4,645MIT
data_privacyData annotation and redaction system providing a robust way to manipulate sensitive information.4,643MIT
kotoba-storageAdvanced persistent storage layer with MVCC, LSM-Tree, and Merkle DAG4,636Apache-2.0