Awesome collection of crates for productive development in Rust. It is curated by us.
You might also be interested in other tooboxes:
- 🔧 Explore : general-purpose toolbox with collection of crates.
- 🎮 Explore : multimedia toolbox with collection of crates for GameDev, Graphics, Video, Audio.
- ♾️ Explore : scientific toolbox with collection of crates for Math, Physycs, Lienar Algebra, Machine Learnign, DSP.
- 📦 Explore : distros toolbox with collection of utilities written in Rust to been distributed outside of Rust ecosystem.
⬇️ Tags legend at the end of the page.
( error )
- miette by Kat Marchán : error reporting facilities
- thiserror by David Tolnay : macro error for struct and enum error types
- anyhow by David Tolnay : a generic error trait
- flex-error by Soares Chen : adapter for error handling approaches
( macro )
- paste by David Tolnay : workaround of concatenating identifiers problem
- cargo-expand by David Tolnay : extension for cargo to expand macros
- syn by David Tolnay : parser for writing macros
- quote by David Tolnay : tool to write procedure macros
- rustversion by David Tolnay : conditional compilation according to rustc compiler version
- macro_railroad by Lukas Lueg : to generate syntax diagrams for macro_rules!()
- macro_railroad as service by Lukas Lueg : a service to generate syntax diagrams for macro_rules!()
- litrs by Lukas Kalbertodt : parse Rust literals
( meta )
- treeflection by Lucas Kent ( idea ) : pseudo-reflection for structs and enums
( meta ) ( decorator )
- cfg_aliases by Zicklag : aliasing of cfg
- maplit by bluss : literal macros for containers
- literally by estk : alternative literal macros for containers
- if_chain by Chris Wong : nested if let
( meta ) ( derive )
- derive_more by Jelte Fennema : many useful derives
- derive-new by Nick Cameron : derive new
- parse-display by Frozenlib ( parser ) ( stringification ) : derive macro Display and FromStr
- derive_is_enum_variant by Nick Fitzgerald : macro to generate the method is_variant for each variant of an enum
- field_names by Ted Driggs : derive to list names of fields bound to the structure
- strum by Peter Glotfelty ( stringification ) : enum stringification, parsing and iterating
- derive_is_enum_variant by Nick Fitzgerald : macro to generate the method is_variant for each variant of an enum
( compiler )
- rudra by Yechan Bae : undefined behavior detection
( compile_time )
- phf by Steven Fackler : compile-time hashmap
- constrandom by Tom Kaitchuck : random compile-time constants
- static_assertions by Nikolai Vazquez : compile-time cecks
- reinda by Lukas Kalbertodt : embed assets
( global )
- lazy_static by Marvin Löbel : macro for defining lazy evaluated static variables
- once_cell by Aleksey Kladov : single assignment cells and lazy statics without macros
( ui ) ( gui )
- stretch by Emil Sjölander : flexbox implementation
( ui ) ( gui )
- egui by Emil Ernerfeldt : an immediate mode GUI
- imgui by Joonas Javanainen : an immediate mode GUI
- iced by Héctor Ramón : cross-platform GUI inspired by Elm
- relm4 by Aaron Erhardt : inspired by Elm and based on gtk4-rs
- pw-viz by Ax9D : graph editor
- kayak_ui by John Mitchell : game UI
- eww by ElKowar : drop-down widgets
- unixbar by Greg V : UNIX-style desktop bar
( ui ) ( cui )
- dialoguer by Armin Ronacher : command line prompts
- indicatif by Armin Ronacher : command line progress reporting
- tui-rs by Florian Dehau : TUI
- cursive by Alexandre Bury : TUI
( ui ) ( cui ) ( cui_parsing )
- clap by Kevin K. : the most popular CUI tool
- structopt by Guillaume P. : ___
- pico-args by Yevhenii Reizner : smallest one CUI tool
( terminal )
- console by Armin Ronacher : the most popular module to manipulate terminal
- termion by Ticki : low-level handling, manipulating and reading information about terminals
- crossterm by Timon : cross platform terminal
- atty by Doug Tangren : check is it a tty
- termize by Yuki Okushi : terminal size
- terminal_size by Andrew Chin : terminal size
- terminal-clipboard by Canop : text only clipboard facade
- termcolor by Andrew Gallant : terminal colors
- bunt by Lukas Kalbertodt : colored and formatted text to a terminal
- ansi-parser by David Bittner : parseing ANSI escape codes based on nom
( cloud_api )
- doapi by Kevin K. : DigitalOcean API v2
- octocrab by Erin P : GitHub API
- giphy api by Anthony Dodd : giphy API
( njs )
- neon by Dave Herman : native Node.js modules
- snm by Vikas Raj : environment manager, like NVM
- fnm by Gal Schlezinger : Fast and simple Node.js version manager
- volta by Dave Herman : JS Toolchains
( build )
- trunk by Anthony Dodd ( wasm ) : WebAssembly web application bundler
- cross by Jorge Aparicio ( cross_compile ) : cross-compilation and cross-testing
- duckscript by Sagie Gur-Ari : utility to be cross-platform shell.
- cargo-make by Sagie Gur-Ari ( utility ) : make-like utility
- just by Casey Rodarmor ( utility ) : make-like utility
- cargo-bundle by George Burton : cross-platform bundling
- parcel_css by Devon Govett ( parser ) : CSS parser, transformer, and minifier
- minify-html by Wilson Lin ( html ) : HTML minifier
- tauri by Razvan Stoenescu : desktop applications with a web frontend
- built by Lukas Lueg : information when and how it was built
( cross_compile )
- cross by Jorge Aparicio ( build ) : cross-compilation and cross-testing
- osxcross by Thomas Pöchtrager : cross toolchain for Linux and *BSD
( cargo ) ( build )
- cargo-edit by Pascal Hertleif : utility to add, remove, upgrade cargo dependencies
- rust-script by Fredrik Fornwall : utility to interpret rust files and expressions
- cargo-watch by Félix Saparelli : utility to watch over your project's source for changes
- cargo-binutils by Jorge Aparicio : LLVM utility
- cargo-generate by ashley williams : utility to instantiate a template ( templating )
- cargo-depgraph by Jonas Platte : generate dependencies graph
- cargo_metadata by Oli Scherer : information about cargo module
- cargo-cache by Matthias Krüger : manage cargo cache
- cargo-when by Kathryn Long : run conditionally upon rustc version and environment
( video )
- camera_capture by Oli Scherer : webcam screenshot
( testing )
- wasm-bindgen-test by Alex Crichton ( wasm ) : run tests of wasm-based application in browser
- trybuild by David Tolnay : negative testing, when error during compilation is expected result.
( wasm )
- trunk by Anthony Dodd ( build ) : WebAssembly web application bundler
- wasm-bindgen by Alex Crichton : interactions between WebAssembly modules and JavaScript
- wasm-bindgen-test by Alex Crichton ( testing ) : run tests of wasm-based application in browser
- console_error_panic_hook by Nick Fitzgerald : A panic hook for wasm
- wasm-snip by Nick Fitzgerald : utility to remove function body from a wasm file
- wasm-tools by Yury Delendik: tooling for WebAssembly
- wasmtime by Jakob Stoklund Olesen : standalone JIT-style runtime
- wasmer by Syrus Akbary error ) : Debug panics on wasm32-unknown-unknown by providing a panic hook that forwards panic messages to console
- twiggy by Nick Fitzgerald : utility to profile wasm code size
- Binaryen Optimizations | wasm-opt by Alon Zakai : utility to optimize wasm file
- wasm-pack by ashley williams : wasn-bindgen and binaryen/wasm-opt as single utility
- wizer by Nick Fitzgerald : performance optimization by compile-time pre-initialization
- wee_alloc by Nick Fitzgerald : 1kB-size memory allocator for size-optimized builds
- parity-wasm by Nikolay Volf : read wasm files
( windowing )
- winit by Pierre Krieger : cross-platform window creation and management
- web-view by Boscop : bindings for webview, a tiny cross-platform library
( dsa )
- feedfinder by Wesley Moore ( html ) : auto-discovery of feeds in HTML
( html )
- feedfinder by Wesley Moore ( dsa ) : auto-discovery of feeds in HTML
- markup by Utkarsh Kukreti : template engine to generate HTML
- kuchiki by Simon Sapin : HTML/XML tree manipulation
- html5ever by Keegan McAllister : high-performance HTML5 parser
- minify-html by Wilson Lin ( build ) : HTML minifier
- comrak by Asherah Connor : GFM compatible Markdown parser and renderer
( web_frontend ) ( dom )
- console_log by Matthew Nicholson : A logger that routes messages to the browser's console
- stdweb by Koute : standard library for the client-side Web
- web-log by Douman : minimal wrapper over browser console
- web-sys by Nick Fitzgerald : Raw wasm-bindgen imports for all of the Web's APIsDescription
- js-sys by Alex Crichton ( bindings ) : Raw bindings to JS global APIs for projects using wasm-bindgen
- gloo by Nick Fitzgerald : alternative of web-sys
- wasm-bindgen-futures by Alex Crichton ( concurrency ) : bridges the gap between a Rust Future and a JavaScript Promise
( web_frontend )
- sycamore by Luke Chu : reactive frontend
- yew by Denis Kolodin : Elm-inspired frontend
- ybc by Anthony Dodd : a Yew component library based on the Bulma CSS framework
- seed by David O'Connor : Elm-inspired frontend
( web_backend )
- rocket by https://github.com/SergioBenitez : one of the most popular web backend frameworks
- actix by Nikolay Kim : one of the most popular web backend frameworks
- axum by David Pedersen : tokio-based web backend framework
- basic-http-server by Brian Anderson : a simple static HTTP server, for learning and local development
- penguin by Lukas Kalbertodt : a static server
- reqwest by Sean McArthur : high-level HTTP client
- hyper by Sean McArthur : low-level HTTP client
- headers by Jonathan Reem : HTTP Headers for hyper
- warp by Sean McArthur : composable, web server framework
- libreauth by : user authentication
- cookie by https://github.com/SergioBenitez : HTTP cookie parsing and cookie jar management
( network )
- imap by Jon Gjengset : IMAP interface
- r2d2 by Steven Fackler : agnostic connection pool
- pcap by Sean Bowe : packet sniffing
- websocat by Vitaly Shukela : CUI to communicate via WebSocket ( cui )
- netraffic by ZingerLittleBee : statistics network traffic
( db )
- sled by Tyler Neely : an embedded database
- diesel by Sage Griffin : ORM and query builder
- dynomite by Doug Tangren : DynamoDB binding
- redis by Armin Ronacher : Redis binding
- datafusion by Jacques Nadeau : query engine from Apache
- mongodb by Saghm Rossi : official MongoDB binding
- monger by Saghm Rossi : MongoDB version manager
- rusqlite by hydhknn : bindings to SQLite
( functional )
( vcs )
- git2 by Alex Crichton : libgit2 binding
( virtualisation )
- shiplift by Doug Tangren : maneuvering docker containers
- unshare by Paul Colomiets : low-level linux containers
( concurrency )
- radium by Nika Layzell : atomic instructions fallback
- tokio by Carl Lerche : asynchronous application framework
- futures by Alex Crichton : tools around futures
- rayon by Niko Matsakis : data-parallelism
- futures-signals by Pauan : reactive signals
- crossbeam by Aaron Turon : tools for concurrent programming
- scoped_threadpool by Marvin Löbel : scoped and cached threadpools
- async-std by Florian Gilcher : async version of std
( concurrency ) ( primitive )
- parking_lot by Amanieu d'Antras : synchronization primitives on steroids
- state by https://github.com/SergioBenitez : HTTP cookie parsing and cookie jar management
- thread_local by Amanieu d'Antras : thread-local storage
- pin-project by Taiki Endo : synchronization primitives pin-projection
- pin-project-lite by Taiki Endo : synchronization primitives pin-projection, lite version
- pollster by Joshua Barretto : a minimal async executor
- flume by Joshua Barretto : multi-producer, multi-consumer channel
- bounded-spsc-queue by Zachary Tong : bounded, Single-producer Single-consumer queue (SPSC)
- bus by Jon Gjengset : lock-free, bounded, single-producer, multi-consumer, broadcast channel
- left-right by Jon Gjengset : lock-free, read-optimized, concurrency primitive
- evmap by Jon Gjengset ( data_structure ) : lock-free, eventually consistent, concurrent multi-value map
- dashmap by Acrimon Joel ( data_structure ) : concurrent HashMap
- atomig by Lukas Kalbertodt : type constructor of atmotics
- syncell by Dzmitry Malyshau : sync alternative to RefCell
- qcell by Jim Peters : statically-checked alternatives to RefCell and RwLock
- reffers by David Henningsson : wrappers around references, boxes and Arcs
( persistence )
- schedule by Ryan Leckey : in-process cron-like scheduler
( communication )
- turbine by Zachary Tong : inter-task communication
( streams ) ( buffers ) ( data_structure )
- peekreed by Orson Peters : peekable read streams
- bytes by Carl Lerche : working with bytes
- arrow by Jacques Nadeau : working with bytes from Apache
( mem )
- byte-slice-cast by Sebastian Dröge : casting to / from byte slice
- zerocopy by Joshua Liebow-Feeser ( serialization ) : zero-copy parsing and serialization
- memmap by Dan Burkert : API for memory mapped IO
- wee_alloc by Nick Fitzgerald : 1kB-size memory allocator for size-optimized builds
- shuffling-allocator by Nick Fitzgerald : randomizing location in the heap
( serialization )
- unique_type_id_workspace by Victor Polevoy : procedural macro for generating unique ids
- zerocopy by Joshua Liebow-Feeser ( mem ) : zero-copy parsing and serialization
- restruct by Lukas Lueg : serializing and deserializing of a tuple
- bincode by Nathan McCarty : a binary encoder / decoder implementation
- ron by Dzmitry Malyshau ( gdf ) : readable data serialization format
- serde by David Tolnay : the most popular serialization framework
- serde-hjson by Christian Zangl : serde plugin to parse JSON with comments
- nanoserde by Fedor Logachev : minimal serialization library with zero dependencies
- speedy by Koute : another serialization alternative
- dipa by Chinedu Francis Nwafili : structures delta encoding
( stringification )
- parse-display by Frozenlib ( derive ) : derive macro Display and FromStr
- strum by Peter Glotfelty ( adt ) : enum stringification, parsing and iterating
- lexical by Alexander Huszagh ( parser ) : numeric to and from string conversion
- lexical-core by Alexander Huszagh ( parser ) : minimal implementation of lexical
- humansize by Leopold Arkham : file size formatting
- ubyte by https://github.com/SergioBenitez : byte units
- num-format by Brian Myers : formatting of numbers
- tabled by Maxim Zhiburt : textual tables formatting
( parser_generator )
- chumsky by Joshua Barretto : parser combinator
- nom by Geoffroy Couprie : parser combinator framework
- combine by Markus Westerlind : parser combinators
- combine-language by Markus Westerlind : extension of combine to generate parsers of programming languages
- lalrpop by Niko Matsakis : LR(1) parser generator
- peg by Kevin Mehall : PEG parser generator
- logos by Maciej Hirsz : fast tokenizer
( parser )
- minimad by Canop : markdown ( MD ) parser
- parcel_css by Devon Govett ( build ) : CSS parser, transformer, and minifier
- csv by Andrew Gallant : CSV parser
- toml by Alex Crichton : TOML parser
- toml_edit by Andronik Ordian : format-preserving TOML parser
- regex by Alex Crichton : the most popular regular expressions implementation
- ress by Robert Masen : tokenizer of JS
- ressa by Robert Masen : parser of JS
- syntect by Tristan Hume : syntax highlighting using Sublime text syntax definitions
- chrono by Kang Seonghoon : most popular Date and time module
- chrono-humanize by Cyril Plisko : human-friendly time expressions
( statistics )
- getrandom by Diggory Hardy : cross-platform get random back-end
- rand by Roy Frostig : random number generation front-end
- fastrand by Stjepan Glavina : fast random number generator
- uuid by Biru Mohanathas : generate and parse UUIDs
- rusty_ulid by Jörn Huxhorn : generate and parse ULIDs, alternative of UUIDs
( adt )
- num by Josh Stone : a collection of numeric types and traits
- total_float_wrap by : hash and equal for floats
( data_structure ) ( algo )
- dmsort by Emil Ernerfeldt : fast novel adaptive sorting algorithm optimized for nearly-sorted data
- longest-increasing-subsequence by Nick Fitzgerald : longest increasing subsequence
( data_structure ) ( primitive )
- either by bluss : enum Either with variants Left and Right is a general purpose sum type with two cases
- ptr-union by Christopher Durham : union of pointers storing the tag in alignment bits
- erasable by Christopher Durham : produce type-less pointers
- rc-box by Christopher Durham : better Rc< Box > and Arc< Box >
- rc-borrow by Christopher Durham : borrow Rc/Arc without wrapping borrowed
- triomphe by Manish Goregaokar : FFI-focused ARC
- scopeguard by bluss : run a given closure when it goes out of scope
- beef by Maciej Hirsz : fast tokenizer
( data_structure ) ( collection )
- indexmap by bluss : hash table which preserves insertion order
- hashbrown by Amanieu d'Antras : hashmap and hashset for "no std"
- rust-fnv by Simon Sapin : hash map which is more efficient for smaller hash keys.
- slice-deque by gnzlbg : contiguous-in-memory double-ended queue that derefs into a slice
- thingbuf by Eliza Weisman : in-place allocation-reusing queues
- bitvec by Alexander Payne : bitfields
- bitflags by Alex Crichton : macro to generate structures which behave like bitflags
- growable-bloom-filter by David Briggs : growable bloom filter
- associative-cache by Nick Fitzgerald : fixed-size, associative cache
- intrusive_splay_tree by Nick Fitzgerald : an intrusive, allocation-free splay tree implementation
- anymap by Chris Morgan : wrapper around HashMap< TypeId, Box< dyn Any > >
- fst by Andrew Gallant : trie-like to represent large sets and maps
- evmap by Jon Gjengset ( concurrency ) : lock-free, eventually consistent, concurrent multi-value map
- dashmap by Acrimon Joel ( concurrency ) : concurrent HashMap
- sharded-slab by Eliza Weisman ( concurrency ) : lock-free concurrent slab
( string ) ( character_encoding )
- deunicode by Kornel : transliterates Unicode strings into ASCII
- widestring by Kathryn Long : a wide string Rust library for converting to and from wide Unicode strings
- unicode-width by Riad S. Wahby : displayed width
- unicode-segmentation by Riad S. Wahby : iterate graphemes of unicode string
( data_structure ) ( string )
- edit-distance by Florian Ebeling : Levenshtein distance
- similar by Armin Ronacher : determining difference between string
- twoway by bluss : twoway substring search
- memchr by Andrew Gallant : string search routines
- aho-corasick by Andrew Gallant : finding occurrences of many patterns at once
- suffix by Andrew Gallant : finding several occurrences of the same pattern in a long text
- globset by Andrew Gallant ( fs ) : glob matching
- heck by Saoirse Shipwreckt : case conversion
- convert-case by Dave Purdum : case conversion
- slice-dst by Christopher Durham : slice-based DST allocation
( data_structure ) ( stack_based )
- inlinable_string by Nick Fitzgerald ( string ) : stack-based string if small, otherwise heap-based, also defines String interface
- smartstring by Bodil Stokke ( string ) : stack-based string if small, otherwise heap-based
- kstring by Ed Page : stack-based string if small, otherwise heap-based, optimal as a key for hashmap
- arrayvec by bluss : stack-based vector and string
- smallvec by Simon Sapin : stack-based vector
- tinymap by John : stack-based hashmap
- storagevec by John : feature to chose stack-based containers
( data_structure ) ( self_ref ) ( ownership_semantics )
- owning_ref by Marvin Löbel : references that carry their owner with them
- ouroboros by Joshua Maros : self-referential struct generation
( data_structure ) ( ownership_semantics )
- slabmap by Frozenlib : hashMap-like collection with implicit key
- slab by Carl Lerche : hashMap-like collection with implicit key
- indexing by bluss : solving indexing problem by associating lifetime with intervals
- slotmap by Orson Peters : a hashmap with implicit key
- typed-arena by Simon Sapin : homogenous allocator operating references without the ability to deallocate an individual element
- id-arena by Nick Fitzgerald : homogenous allocator operating ids without the ability to deallocate an individual element
- generational-arena by Nick Fitzgerald : homogenous allocator operating ids with the ability to deallocate an individual element
- bumpalo by Nick Fitzgerald : heterogeneous allocator operating ids without the ability to deallocate an individual element
( data_structure ) ( multidimensional )
- bvh by Sven-Hendrik Haase : fast BVH using SAH
( data_structure ) ( graphs )
( hashing )
- ahash by Tom Kaitchuck : fast non-cryptographic hashing
- xxhash-rust by Douman : xxhash algorithm - one of the fastest non-cryptographic hashing
- twox-hash by Jake Goulding : xxhash algorithm - one of the fastest non-cryptographic hashing
- seahash by Tom Almeida : one of the fastest non-cryptographic hashing algorithm
- by_address by Matt Brubeck ( adt ) : comparison by pointer address
( cryptography )
- Cupcake by Hao Chen : lattice-based additive homomorphic encryption
- elgamal-curve25519 by Christian Nyumbayire : ElGamal homomorphic encryption on Curve25519
- argonautica by Brian Myers : password hashing
- rust-argon2 by Martijn Rijkeboer : password hashing
( compression )
- yazi by Chad Brokaw : deflate/zlib compression
- flate2 by Alex Crichton : deflate, gzip, and zlib bindings
- snap by Andrew Gallant : high speeds and reasonable compression
- smush by Graham Wihlidal : adapter of variety of compression codecs
( encoding )
- percent-encoding by Simon Sapin : do URL percent encoding
- url by Simon Sapin : URI parsing
- hex by KokaKiwi : hexadecimal encoding
( gdf )
- flatc-rust by Vlad Frolov : FlatBuffers
- ron by Dzmitry Malyshau ( serialization ) : readable data serialization format
- rmp by Evgeny Safronov : MessagePack
- minicbor by Toralf Wittner : CBOR
- record-query by David Flemström : transform from one GDF to another one
( asset_image )
- libheif-rs by Kirill Kuzminykh : heif/heic files reading/writing
- lodepng by Kornel : PNG image reader/writer
- exifsd by Geordon Worley : exif serialization and deserialization
( asset_image_processing )
- fast_image_resize by Kirill Kuzminykh : SIMD image resizing
- imagequant by Kornel : palette quantization library
- dssim by Kornel : image similarity comparison simulating human perception
- noise by Nick Whitney : procedural noise generation
- imageproc by image-rs : library for images processing
- anim-rs by Joylei : animation library
( fs )
- directories by Simon Ochsenreither : OS's paths
- fs2 by Dan Burkert : extra system fs routines
- walkdir by Andrew Gallant : walking directories recursively
- remove_dir_all by Erin P : directory removal
- filetime by Alex Crichton : file timestamps reading / writing
- is_executable by Nick Fitzgerald : is an executable
- same-file by Andrew Gallant : two files or directories are the same
- globset by Andrew Gallant ( data_structure ) ( string ) : glob matching
- which by Harry Fei : equivalent of Unix command "which"
- vfs by Manuel Woelker : file system adapter
( os )
- winapi by Peter Atashian : bindings to Windows API
- wio by Peter Atashian : extra bindings to Windows API
- winapi-util by Andrew Gallant : middleware above
- rio by Tyler Neely : io_uring
- telefork by Tristan Hume : remote fork()
- expectrl by Maxim Zhiburt : controlling input/output of interactive programs
- nix by Carl Lerche : nix APIs
- systemstat by Greg V : system information
( os ) ( kernel )
- Ion by Anhad Singh : x86_64 UEFI bootloader
- Aero by Anhad Singh : unix-like operating system
- mycelium by Eliza Weisman : operating system
- hermit-sys by Stefan Lankes : lightweight unikernel
( asm )
- faerie by m4b : ELF and Mach-o object file writer
- goblin by m4b : binary parsing
- cargo-bloat by Yevhenii Reizner : utility to profile code size
- cargo-binutils by Jorge Aparicio : LLVM utility
- elfloader by Gerd Zellweger : x86 CPUID instruction
- symbol by Caleb Zulawski : ELF and Mach-O symbols manipulation
( hardware )
- cpuid by Gerd Zellweger : x86 CPUID instruction
- cupid by Jake Goulding : x86 CPUID instruction
- num_cpus by Sean McArthur : number of CPUs
- generic-simd by Caleb Zulawski : SIMD instructions
- multiversion by Caleb Zulawski : tool to write multiversioned architecture-specific implementations of functions
( embed )
- embedded-hal by Jorge Aparicio : hardware abstraction layer (HAL) for embedded systems
- serial_enumerator by eebear : serial port enumreator
( foreign )
- foreign_types by Steven Fackler : wrappers over C APIs.
- cpp by Nika Layzell : embed C++ inside rust code
( logger )
- log by Alex Crichton : lightweight logging
- log4rs by estk : configurable logging
- simplelog by Victoria Brekenfeld : simple logging
( config )
- config by Ryan Leckey : generic config manager
- dotenvy by Allan : environment variables from a .env file
( daignostics )
- pretty_assertions by Colin Kiegel : pretty assert_eq
( mobile )
- cargo-mobile by mtak- ( build ) : utility to run rust on mobile
- crossbow by David Ackerman : cross-platform rust toolkit for games
- mobile-entry-point by Francesca Lovebloom : Wraps a function to make it the entry-point for an mobile app
( android )
- android-ndk-rs by Mark Barbone : libraries and tools for Rust programming on Android targets
- ndk-glue by David Craven : interoperability library for a native Rust application with the Android framework
- ndk-sys by David Craven ( bindings ) : raw FFI bindings to the NDK
- android_logger by Nerijus Arlauskas ( logger ) : send Rust logs to Logcat
- cargo-apk by David Craven ( build ) : tool for creating Android packages
( ios )
- rust-to-ios by Wojtek Lukaszuk ( example ) : Example project for building a library for iOS.
- xcodegen by Yonas Kolb : utility to generates your Xcode project
- cargo-lipo by Tim Neumann : utility to automatically creates a universal library for use with iOS application
( templating )
- handlebars-rust by Ning Sun : Handlebars templating language implemented in Rust and for Rust
- cargo-generate by ashley williams : utility to instantiate a template ( cargo ) ( build )
- ramhorns by Maciej Hirsz : Mustache template engine
- ( error ) - errors handling
- ( macro ) - writing macros
- ( meta ) - meta programming : reflection, introspection and such things
- ( decorator ) - decorators for nicer code
- ( derive ) - procedural derive macroses
- ( compiler ) - compilers and static analyzers
- ( compile_time ) - non run-time
- ( global ) - global variable
- ( njs ) - NodeJs related
- ( ui ) - user interface
- ( gui ) - graphical user interface
- ( cui ) - command user interface
- ( cui_parsing ) - tools to parse input of command user interface ( CUI )
- ( terminal ) - terminal, textual output
- ( cloud_api ) - remote APIs, mostly REST
- ( cross_compile ) - build from one platform to another one
- ( build ) - toolchains to build your project
- ( wasm ) - WebAssembly-related
- ( windowing ) - windows creating, manipulating OS GUI
- ( dsa ) - data streams aggregation
- ( html ) - HTML generating / parsing / transformation
- ( dom ) - web DOM
- ( web_frontend ) - web frontend
- ( web_backend ) - web backend
- ( network ) - network
- ( db ) - database-related
- ( functional ) - functional programming
- ( virtualisation ) - virtualisation-related, docker-related
- ( concurrency ) - concurrency and asynchronous programming
- ( persistence ) - persistence and delayed execution
- ( communication ) - either inter-process or inter-thread communication
- ( streams ) - read/write streams
- ( buffers ) - buffers for memory management
- ( mem ) - memory management
- ( serialization ) - serialization / deserialization
- ( stringification ) - converting to / from a string
- ( parser_generator ) - parser generators / combinators
- ( parser ) - parser of a specific language
- ( statistics ) - random generators, distributions and statistics-related things
- ( character_encoding ) - character encoding
- ( adt ) - abstract data types
- ( algo ) - algorithms
- ( data_structure ) - data structures and algorithms
- ( primitive ) - primitives
- ( collection ) - data structures which are collections
- ( string ) - either string or bytes slice based data structures and algorithms
- ( stack_based ) - stack-based data structures and algorithms
- ( graphs ) - graphs data structures and algorithms
- ( hashing ) - hashing algorithms
- ( cryptography ) - cryptographic
- ( compression ) - compression, archiving
- ( encoding ) - encoding / decoding
- ( gdf ) - general data format, genera-purpose formats to exchange data
- ( asset_image ) - reading / writing / manipulating various image formats
- ( fs ) - file system related
- ( os ) - operation systems, bootloaders and components of such, OS APIs
- ( kernel ) - kernel of operation system
- ( cargo ) - extension of cargo
- ( video ) - video-processing, capturing
- ( asm ) - machine code, byte code, interpreters, assembler
- ( hardware ) - reading / writing hardware
- ( embed ) - embedded
- ( foreign ) - foreign functions, C / C++ binding, foreign function interface ( FFI )
- ( self_ref ) - self referential structures
- ( ownership_semantics ) - solutions of problems of owning/borrowing/lifetimes self referring
- ( multidimensional ) - multidimensional data structures and algorithms
- ( bindings ) - bindings to foreign library or service
- ( logger ) - tools for printing information
- ( config ) - config managing
- ( daignostics ) - tools for diagnostics
- ( mobile ) - tool or lib related to running rust code on mobile
- ( android ) - tools for running rust code on Android
- ( ios ) - tools for running rust code on iOS
- ( testing ) - for writing tests
- ( utility ) - utility to run in terminal
- ( example ) - example project
- ( templating ) - tools to generate text using template
- ( idea ) - it is rather proof of concept than production-ready implementation