Skip to content

Latest commit

 

History

History
1078 lines (791 loc) · 79.4 KB

toolbox_general.md

File metadata and controls

1078 lines (791 loc) · 79.4 KB

🔧 Rust Developer's Toolbox

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.

Errors handling

( error )

Macros

( macro )

Meta

( meta )

Decorators

( meta ) ( decorator )

Derives

( meta ) ( derive )

Compilers, Static Analyzers, code formatters

( compiler )

Interoperability

Compile-time

( compile_time )

Global

( global )

UI

( ui ) ( gui )

GUI

( ui ) ( gui )

Command user interface input / output

( ui ) ( cui )

Textual user interface input / output

( ui ) ( tui )

Command user interface parsing

( ui ) ( cui ) ( cui_parsing )

Terminal

( terminal )

Cloud APIs

( cloud_api )

NodeJS and JS

( njs )

Building and Optimization

( build )

Cross-compile

( cross_compile )

Cargo extension

( cargo ) ( build )

Cargo clean

( cargo ) ( cargo_clean )

Video

🎥

Testing

( testing )

Performance benchmarking

( perf_benchmark )

WebAssembly

( wasm )

Windowing

( windowing )

Data streams aggregation

( dsa )

HTML generating / parsing / transformation

( html ) ( xml )

Web DOM

( web_frontend ) ( dom )

Web Frontend

( web_frontend )

Web Backend

( web_backend )

Network

( network )

Database

( db )

Key-Value Database

( db )( db_key_value )

Document-oriented Database

( db )( db_document_oriented )

Relational Database

( db )( db_relational )

Graph Database

( db )( db_graphs )

Data science

( data_science )

Functional programming

( functional )

Version control systems

( vcs )

Virtualization

( virtualisation )

Async

( async )

Async Runtimes

( async ) ( async_runtime )

Concurrency

( concurrency )

Concurrency primitives

( concurrency ) ( primitive )

Persistence and delayed execution

( persistence )

Communication

( communication )

Streams and Buffers

( streams ) ( buffers ) ( data_structure )

Memory management

( mem )

Serialization

( serialization )

Stringification

( stringification )

Parser generators / combinators

( parser_generator )

Lexer generator

( lexer_generator )

Parser of a specific language

( parser )

Time

( time )

Statistics

( statistics )

Abstract Data types

( adt )

Algorithms

( data_structure ) ( algo )

Primitive data structures

( data_structure ) ( primitive )

Collections

( data_structure ) ( ds_collection )

Character encoding

( string ) ( character_encoding )

String and slice data structures and algorithms

( data_structure ) ( string )

Stack-based data structures

( data_structure ) ( stack_based )

Self referential structures

( data_structure ) ( self_ref ) ( ownership_semantics )

Ownership semantic

( data_structure ) ( ownership_semantics )

Multidimensional data structures and algorithms

( data_structure ) ( multidimensional )

Graphs

( data_structure ) ( graphs )

Hashing

( hashing )

Cryptography

( cryptography )

Compression

( compression )

Encoding / decoding

( encoding )

General data format

( gdf )

Image reading / writing

( asset_image )

Image processing

( asset_image_processing )

File system

( fs )

Operation Systems - userland

( os )

Operation Systems - kernel

( os ) ( kernel )

Asm

( asm )

Hardware

( hardware )

Embedded

( embed )

Foreign

( foreign )

Logging

( logger )

Config

( config )

Diagnostics tools

( daignostics )

Mobile

( mobile )

Android

( android )

iOS

( ios )

HPC

( bindings )

  • mcl-rs by Ryan Friese : high-level bindings providing a "safe" interface to the Minos Compute Library (MCL)
  • libmcl-sys by Ryan Friese : high-level bindings through an "unsafe" interface to the Minos Compute Library (MCL)

Templating

( templating )

Messaging

( messaging )

  • paho-mqtt by Frank Pagliughi : The Official Eclipse Paho MQTT Rust Client Library. This is a wrapper around the Paho C library

Utilities for development

( development )( utility )

Tags legend

  • 🌍 - the most popular module in its category
  • ( collection ) - awesome collection
  • ( 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
  • ( tui ) - textual 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
  • ( perf_benchmark ) - performance benchmarking
  • ( 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
  • ( db_key_value ) - key-value
  • ( db_document_oriented ) - document-oriented
  • ( db_relational ) - relational
  • ( db_graphs ) - graph
  • ( data_science ) - data science, data mining, data minding, machine learning
  • ( functional ) - functional programming
  • ( virtualisation ) - virtualisation-related, docker-related
  • ( concurrency ) - concurrency programming
  • ( async ) - asynchronous programming
  • ( async_runtime ) - asynchronous runtimes and executors
  • ( 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
  • ( lexer_generator ) - lexer generator
  • ( parser ) - parser of a specific language
  • ( time ) - time
  • ( 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
  • ( ds_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
  • ( cargo_clean ) - clean artifacts
  • 🎥 - 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
  • ( development ) - helps the developer to develop
  • ( xml ) - XML parsers, readers/writers
  • ( messaging ) - tools for messaging