Skip to content

This repository lists some awesome public Rust projects, Videos, Blogs and Jobs.

Notifications You must be signed in to change notification settings

coderonion/awesome-rust-list

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

Awesome-Rust-List

Awesome

This repository lists some awesome public Rust projects, Videos, Blogs and Jobs.

Contents

Summary

Performance Benchmark

Data Structure and Algorithm

Parallel and Async Library

  • Rayon : Rayon: A data parallelism library for Rust.

  • mpi : MPI bindings for Rust. docs.rs/mpi.

  • Flume : A safe and fast multi-producer, multi-consumer channel. crates.io/crates/flume

  • Tokio : A runtime for writing reliable, asynchronous, and slim applications with the Rust programming language.

  • May : May is a high-performance library for programming stackful coroutines with which you can easily develop and maintain massive concurrent programs. It can be thought as the Rust version of the popular Goroutine.

  • event-listener : Notify async tasks or threads.

  • async-process : Async interface for working with processes.

FFI Bindings

GPU Programming

Web3 and ZKP Framework

Scientific Computation

  • Numerical Calculation

    • rapl : Rank Polymorphic array library for Rust. rapl is an experimental numerical computing Rust library that provides a simple way of working with N-dimensional array, along with a wide range of mathematical functions to manipulate them. It takes inspiration from NumPy and APL, with the primary aim of achieving maximum ergonomics and user-friendliness while maintaining generality.

    • scilib : A rust crate for mathematics and science. crates.io/crates/scilib

    • fitting-rs : Curve fitting library for Rust. crates.io/crates/fitting

  • Linear Algebra

    • mathbench : mathbench is a suite of unit tests and benchmarks comparing the output and performance of a number of different Rust linear algebra libraries for common game and graphics development tasks.

    • ndarray : The ndarray crate provides an n-dimensional container for general elements and for numerics.

    • ndarray-linalg : Linear algebra package for rust-ndarray using LAPACK binding.

    • nalgebra : Linear algebra library for the Rust programming language.

    • faer : Linear algebra foundation for the Rust programming language. faer-rs.github.io. faer is a collection of crates that implement low level linear algebra routines in pure Rust. The aim is to eventually provide a fully featured library for linear algebra with focus on portability, correctness, and performance.

    • glam : A simple and fast 3D math library for games and graphics.

    • russell : Rust Scientific Libary. Special functions (Bessel, Elliptic, Beta, Gamma, Erf). Linear algebra. Sparse solvers. ODE and DAE solvers. Probability distributions. Tensor calculus.

    • hasty : High-performance BLAS and LAPACK within Rust.

    • tensr : A high-performance, cross-platform, multi-backend tensor/array library for Rust.

    • cgmath : A linear algebra and mathematics library for computer graphics.

    • ultraviolet : A wide linear algebra crate for games and graphics.

    • vek : Generic 2D-3D math swiss army knife for game engines, with SIMD support and focus on convenience.

    • static-math : Safe and fast mathematical operations with static arrays in the Rust programming language.

    • rust-numpy : PyO3-based Rust bindings of the NumPy C-API.

    • custos-math : This crate provides CUDA, OpenCL, CPU (and Stack) based matrix operations using custos.

    • bluss/matrixmultiply : General matrix multiplication of f32 and f64 matrices in Rust. Supports matrices with general strides. docs.rs/matrixmultiply/

    • Kai-Striega/blas-rs : Experimental BLAS implementation in pure rust.

  • Lie Groups

    • sophus-rs : Rust bindings for the C++ implementation of Lie Groups using Eigen.
  • Optimization Framework

  • Evolutionary computation

    • EvoTorch : Advanced evolutionary computation library built directly on top of PyTorch, created at NNAISENSE. evotorch.ai

    • ecrs-org/ecrs : ecrs - Evolutionary computation algorithms & tools for Rust.

    • unhindered-ec/unhindered-ec : A Rust framework supporting a variaty of evolutionary computation (EC) tools.

  • Finite Element Analysis

  • Data Analysis and Visualization

    • Polars : Polars. Fast multi-threaded, hybrid-out-of-core DataFrame library in Rust | Python | Node.js.

    • Plotters : A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely 🦀 📈🚀

    • Rerun : Rerun: Visualization infrastructure for computer vision. Log images, point clouds, etc, and visualize them effortlessly. Built in Rust using egui. rerun.io

    • Lance : Lance: modern columnar data format for ML. Convert from parquet in 2-lines of code for 100x faster random access, a vector index, data versioning, and more. Compatible with pandas, duckdb, polars, pyarrow, with more integrations on the way. eto-ai.github.io/lance/

    • Typst : A new markup-based typesetting system that is powerful and easy to learn. Typst is a new markup-based typesetting system that is designed to be as powerful as LaTeX while being much easier to learn and use. typst.app.

    • Charming : A visualization library for Rust.

Machine Learning

Design Pattern

Static Variables

  • typed-arena : A small macro for defining lazy evaluated static variables in Rust.

Memory Allocator

Embedded Development

General Operating System

  • BlogOS : This repository contains the source code for the Writing an OS in Rust series at os.phil-opp.com.

  • rCore-Tutorial-v3 : OS kernel labs based on Rust/C Lang & RISC-V 64/X86-32.

  • rCore : Rust version of THU uCore OS. Linux compatible.

  • zCore : Reimplement Zircon microkernel in Rust.

  • RustSBI : RISC-V Supervisor Binary Interface (RISC-V SBI) implementation library in Rust; runs on M or HS mode; good support for embedded Rust ecosystem.

  • writing-an-os-in-rust : 《使用Rust编写操作系统》

  • Theseus : Theseus is a modern OS written from scratch in Rust that explores 𝐢𝐧𝐭𝐫𝐚𝐥𝐢𝐧𝐠𝐮𝐚𝐥 𝐝𝐞𝐬𝐢𝐠𝐧, novel OS structure, and state management.

  • snarkOS : A Decentralized Operating System for Zero-Knowledge Applications.

  • thepowersgang/rust_os : An OS kernel written in rust. Non POSIX.

  • MOROS : MOROS: Obscure Rust Operating System 🦉

  • EuraliOS : A hobby x86-64 operating system written in Rust.

  • SIMDeez : A library that abstracts over SIMD instruction sets, including ones with differing widths. SIMDeez is designed to allow you to write a function one time and produce SSE2, SSE41, and AVX2 versions of the function.

  • yavkOS : Operating system based off of blog_os, with the goal of running wasm modules as executables.

  • Felix OS : 🐱 x86 operating system. Felix is my attempt at writing an x86 operating system. It's written completely from scratch in Rust and doesn't use any external dependencies.

  • jdreaver/rust-os : Creating a bare metal OS in Rust.

  • r9os/r9 : The R9 operating system.

Robot Operating System

  • micro-ROS for Arduino : micro-ROS library for Arduino.

  • dora-rs : In 2023, AI is booming! Robotic framework however hasn't changed much in years... This is why we create dora-rs! dora-rs is a new robotic framework that brings modernity into robotic application. dora goal is to be a low latency, composable, and distributed data flow. dora.carsmos.ai

  • openrr : Open Rust Robotics. OpenRR (pronounced like "opener") is Open Rust Robotics platform.

  • rosrust : rosrust is a pure Rust implementation of a ROS client library.

  • ros2_rust : Rust bindings for ROS2.

  • r2r : R2R - Easy to use, runtime-agnostic, async rust bindings for ROS2.

  • erdos : Dataflow system for building self-driving car and robotics applications.

  • rclrust : This is yet another ROS2 client library written in Rust.

  • RustDDS : RustDDS is a pure Rust implementation of Data Distribution Service, developed by Atostek Oy.

  • ros2-client : ROS2 client library based on RustDDS.

  • rosbag-rs : A pure Rust crate for reading ROS bag files.

  • rustros_tf : This is a rust port of the ROS tf library.

  • urdf-rs : URDF parser using serde-xml-rs for rust.

  • urdf-viz : visualize URDF/XACRO file, URDF Viewer works on Windows/MacOS/Linux.

  • ros-nalgebra : Generate code to convert geometry_msgs into nalgebra structs, for rosrust.

  • strawlab/opencv-ros-camera : Geometric models of OpenCV/ROS cameras for photogrammetry.

  • luickk/MinimalRoboticsPlatform : MRP is a minimal microkernel that supports the most fundamental robotic domains. It's thought for highly integrated robotics development.

  • newpavlov/rosbag-rs : A pure Rust crate for reading ROS bag files.

Hardware Description Language

  • Veryl : Veryl: A Modern Hardware Description Language.

  • RustHDL : A framework for writing FPGA firmware using the Rust Programming Language.

  • VHDL-LS/rust_hdl : This repository contains a fast VHDL language server and analysis library written in Rust.

  • yupferris/kaze : An HDL embedded in Rust. kaze provides an API to describe Modules composed of Signals, which can then be used to generate Rust simulator code or Verilog modules.

  • dalance/sv-parser : SystemVerilog parser library fully compliant with IEEE 1800-2017.

  • dalance/svls : SystemVerilog language server.

  • dalance/svlint : SystemVerilog linter.

  • vivekmalneedi/veridian : A SystemVerilog Language Server.

  • zachjs/sv2v : SystemVerilog to Verilog conversion.

Logic Programming

  • Scryer Prolog : A modern Prolog implementation written mostly in Rust.

Shared Memory

Remote Desktop

  • RustDesk : Virtual / remote desktop infrastructure for everyone! Open source TeamViewer / Citrix alternative. rustdesk.com.

Date and Time

Data Encryption

  • rustic : rustic - fast, encrypted, deduplicated backups powered by Rust.

Database

  • Qdrant : Qdrant - Vector Database for the next generation of AI applications. Also available in the cloud https://cloud.qdrant.io/. qdrant.tech

  • SQLx : 🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, SQLite, and MSSQL.

  • Rusqlite : Rusqlite is an ergonomic wrapper for using SQLite from Rust.

  • Njord : ⛵ A lightweight ORM library for Rust.

  • CeresDB : CeresDB is a high-performance, distributed, cloud native time-series database. docs.ceresdb.io

  • redb : An embedded key-value database in pure Rust. www.redb.org

  • mysql_async : Asyncronous Rust Mysql driver based on Tokio.

  • Rustbase : Rustbase is open source, lightweight, modern and fast NoSQL database. rustbase.app/

Sensor and Communication Protocol

Signal Processing

File Processing

Image and Video Processing

  • opencv-rust : Rust bindings for OpenCV 3 & 4.

  • rust-cv/cv : Rust CV mono-repo. Contains pure-Rust dependencies which attempt to encapsulate the capability of OpenCV, OpenMVG, and vSLAM frameworks in a cohesive set of APIs.

  • photon : ⚡ Rust/WebAssembly image processing library. silvia-odwyer.github.io/photon. Photon is a high-performance Rust image processing library, which compiles to WebAssembly, allowing for safe, blazing-fast image processing both natively and on the web.

  • image-rs/image : Encoding and decoding images in Rust.

  • image-rs/imageproc : An image processing library, based on the image library.

  • zshipko/image2-rs : A Rust crate focused on generic image processing for a wide range of image formats and data types.

  • WebRTC.rs : A pure Rust implementation of WebRTC. webrtc.rs

  • zmwangx/rust-ffmpeg : Safe FFmpeg wrapper.

  • meh/rust-ffmpeg : Safe FFmpeg wrapper.

  • Simp : 🖼️ Simp is a fast and simple GPU-accelerated image manipulation program.

  • jay3332/ril : Rust Imaging Library: A high-level imaging crate for Rust. crates.io/crates/ril

  • Futsch1/image-sieve : ImageSieve is a GUI based tool to assist in sorting images based on taken date and similarity, categorize them according to their creation date and archive them in a target folder.

  • neka-nat/cuimage : Rust implementation of image processing library with CUDA.

  • iamdb/stream-cv : Playing around with Rust, libav (ffmpeg), opencv and multithreading.

  • BinciLuo/Rust-opencv-Application : Implementation of an application based on OpenCV written in Rust.

  • koukemo/rust_cv_sample : Sample of Rust using opencv to load images.

Live Media Server

  • Xiu : A simple, high performance and secure live media server in pure Rust (RTMP[cluster]/RTSP/HTTP-FLV/HLS).🦀

Localization and Mapping

Path Planning

  • pathfinding : Pathfinding library for rust. This crate implements several pathfinding, flow, and graph algorithms in Rust.

  • rrt : RRT (Rapidly-exploring Random Tree) library in Rust.

  • gear : Collision Avoidance Path Planning in Rust-lang.

  • trajectory : trajectory interpolation library for Rust and robotics.

  • marcbone/s_curve : S-Curve trajectory generator written in rust.

  • Sollimann/bonsai : Rust implementation of behavior trees.

Motion Control

Finite State Machine

Game Field

  • Bevy : Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever! bevyengine.org

  • Fyrox : 3D and 2D game engine written in Rust. fyrox.rs

  • Ambient : Ambient is a runtime for building high-performance multiplayer games and 3D applications, powered by WebAssembly, Rust and WebGPU. ambient.run

  • Rapier : Rapier is a set of 2D and 3D physics engines for games, animation, and robotics. rapier.rs

  • bevy_rapier : Official Rapier plugin for the Bevy game engine.

  • Parry : 2D and 3D collision-detection library for Rust. parry.rs

  • Eldiron : A cross platform classic RPG game creator written in Rust. www.eldiron.com

Search Engine

Network Service

Web Crawler

RPC Framework

  • Volo : Volo is a high-performance and strong-extensibility Rust RPC framework that helps developers build microservices. crates.io/crates/volo

Web Framework

  • reqwest : An easy and powerful Rust HTTP Client. docs.rs/reqwest

  • Yew : Yew is a modern Rust framework for creating multi-threaded front-end web apps with WebAssembly. yew.rs

  • Axum : Ergonomic and modular web framework built with Tokio, Tower, and Hyper.

  • Salvo : Salvo is a powerful and simplest web server framework in Rust world. salvo.rs

  • Actix : Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust. actix.rs

  • Rocket : A web framework for Rust. rocket.rs

  • Poem : A full-featured and easy-to-use web framework with the Rust programming language.

  • Rouille : Rouille, a Rust web micro-framework.

  • Leptos : Build fast web applications with Rust.

  • Farm : Super fast web build tool written in Rust - 基于 Rust 的极速 web 构建引擎。 farm-fe.github.io

  • zino : zino is a full-featured web application framework for Rust with a focus on productivity and performance.

  • Hyper : A terminal built on web technologies. hyper.is

  • Deno : Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust. deno.land

  • SWC : SWC (stands for Speedy Web Compiler) is a super-fast TypeScript / JavaScript compiler written in Rust. swc.rs

  • tchatche.rs : tchatche.rs is a blazing fast chat application built with Axum and Yew.rs. tchatche.rs

  • tonic : A native gRPC client & server implementation with async/await support. docs.rs/tonic

  • MoonZoon : Rust Fullstack Framework.

WebAssembly

  • Wasmer : Wasmer is a fast and secure WebAssembly runtime that enables super lightweight containers to run anywhere: from Desktop to the Cloud, Edge and IoT devices. wasmer.io

  • wasmtime : A fast and secure runtime for WebAssembly. wasmtime.dev/

Graphics Library

GUI

Blogs

Jobs and Interview