add lint for item format

- Add descriptions for all missing items
- add tldr section to contributing doc to make it easy to link to in linter
This commit is contained in:
Josh McKinney 2024-05-09 19:19:58 -07:00
parent b164064a8a
commit 0b92a60a6d
No known key found for this signature in database
GPG Key ID: 722287396A903BC5
3 changed files with 55 additions and 44 deletions

View File

@ -4,9 +4,15 @@ Do you want to contribute? We'd love that.
Our goal is to have mostly projects that are stable and useful to many users. Our goal is to have mostly projects that are stable and useful to many users.
## TL;DR
- Accepted: `(stars > 50 | downloads > 2000)`
- Template: `[ACCOUNT/REPO](https://github.com/ACCOUNT/REPO) [[CRATE](https://crates.io/crates/CRATE)] — DESCRIPTION`
- Sort: alphabetical
## How? ## How?
The easiest way is to go to https://github.com/rust-unofficial/awesome-rust/blob/main/README.md and click on the "pen" icon in the upper right corner. Make the changes to the file and follow the instructions to create a pull request. The easiest way is to go to <https://github.com/rust-unofficial/awesome-rust/blob/main/README.md> and click on the "pen" icon in the upper right corner. Make the changes to the file and follow the instructions to create a pull request.
If you want to add an entry to the `README.md` please consider this: If you want to add an entry to the `README.md` please consider this:

View File

@ -259,14 +259,14 @@ See also [crates matching keyword 'emulator'](https://crates.io/keywords/emulato
* [ColinEberhardt/wasm-rust-chip8](https://github.com/ColinEberhardt/wasm-rust-chip8) — A WebAssembly CHIP-8 emulator. * [ColinEberhardt/wasm-rust-chip8](https://github.com/ColinEberhardt/wasm-rust-chip8) — A WebAssembly CHIP-8 emulator.
* [starrhorne/chip8-rust](https://github.com/starrhorne/chip8-rust) — chip8 emulator * [starrhorne/chip8-rust](https://github.com/starrhorne/chip8-rust) — chip8 emulator
* Commodore 64 * Commodore 64
* [kondrak/rust64](https://github.com/kondrak/rust64) — * [kondrak/rust64](https://github.com/kondrak/rust64) — Commodore 64 emulator
* Flash Player * Flash Player
* [Ruffle](https://github.com/ruffle-rs/ruffle) — Ruffle is an Adobe Flash Player emulator. Ruffle targets both the desktop and the web using WebAssembly. [![CI](https://github.com/ruffle-rs/ruffle/actions/workflows/test_rust.yml/badge.svg)](https://github.com/ruffle-rs/ruffle/actions/workflows/test_rust.yml)[![CI](https://github.com/ruffle-rs/ruffle/actions/workflows/test_web.yml/badge.svg)](https://github.com/ruffle-rs/ruffle/actions/workflows/test_web.yml) * [Ruffle](https://github.com/ruffle-rs/ruffle) — Ruffle is an Adobe Flash Player emulator. Ruffle targets both the desktop and the web using WebAssembly. [![CI](https://github.com/ruffle-rs/ruffle/actions/workflows/test_rust.yml/badge.svg)](https://github.com/ruffle-rs/ruffle/actions/workflows/test_rust.yml)[![CI](https://github.com/ruffle-rs/ruffle/actions/workflows/test_web.yml/badge.svg)](https://github.com/ruffle-rs/ruffle/actions/workflows/test_web.yml)
* Gameboy * Gameboy
* [Gekkio/mooneye-gb](https://github.com/Gekkio/mooneye-gb) — * [Gekkio/mooneye-gb](https://github.com/Gekkio/mooneye-gb) — A Game Boy research project and emulator
* [joamag/boytacean](https://github.com/joamag/boytacean) — GameBoy Color emulator that runs on the Web using WebAssembly. * [joamag/boytacean](https://github.com/joamag/boytacean) — GameBoy Color emulator that runs on the Web using WebAssembly.
* [mohanson/gameboy](https://github.com/mohanson/gameboy) — Full featured Cross-platform GameBoy emulator. Forever boys!. * [mohanson/gameboy](https://github.com/mohanson/gameboy) — Full featured Cross-platform GameBoy emulator. Forever boys!.
* [mvdnes/rboy](https://github.com/mvdnes/rboy) — * [mvdnes/rboy](https://github.com/mvdnes/rboy) — A Gameboy Emulator
* Gameboy Advance * Gameboy Advance
* [michelhe/rustboyadvance-ng](https://github.com/michelhe/rustboyadvance-ng) — RustboyAdvance-ng is a Gameboy Advance emulator with desktop, android and [WebAssembly](https://michelhe.github.io/rustboyadvance-ng/) support. [![build badge](https://github.com/michelhe/rustboyadvance-ng/workflows/Deploy/badge.svg?branch=master)](https://github.com/michelhe/rustboyadvance-ng/actions?query=workflow%3ADeploy) * [michelhe/rustboyadvance-ng](https://github.com/michelhe/rustboyadvance-ng) — RustboyAdvance-ng is a Gameboy Advance emulator with desktop, android and [WebAssembly](https://michelhe.github.io/rustboyadvance-ng/) support. [![build badge](https://github.com/michelhe/rustboyadvance-ng/workflows/Deploy/badge.svg?branch=master)](https://github.com/michelhe/rustboyadvance-ng/actions?query=workflow%3ADeploy)
* GameMaker * GameMaker
@ -278,8 +278,8 @@ See also [crates matching keyword 'emulator'](https://crates.io/keywords/emulato
* iPod * iPod
* [clicky](https://github.com/daniel5151/clicky) — A clickwheel iPod emulator (WIP) * [clicky](https://github.com/daniel5151/clicky) — A clickwheel iPod emulator (WIP)
* NES * NES
* [koute/pinky](https://github.com/koute/pinky) — * [koute/pinky](https://github.com/koute/pinky) — A NES emulator
* [pcwalton/sprocketnes](https://github.com/pcwalton/sprocketnes) — * [pcwalton/sprocketnes](https://github.com/pcwalton/sprocketnes) — A NES emulator
* Nintendo DS * Nintendo DS
* [dust](https://github.com/kelpsyberry/dust) — A Nintendo DS emulator * [dust](https://github.com/kelpsyberry/dust) — A Nintendo DS emulator
* PlayStation 4 * PlayStation 4
@ -358,8 +358,8 @@ See also [A comparison of operating systems written in Rust](https://github.com/
* [0x59616e/SteinsOS](https://github.com/0x59616e/SteinsOS) — An OS for armv8-a architecture. * [0x59616e/SteinsOS](https://github.com/0x59616e/SteinsOS) — An OS for armv8-a architecture.
* [Andy-Python-Programmer/aero](https://github.com/Andy-Python-Programmer/aero) — A modern, unix-like operating system following the monolithic kernel design. * [Andy-Python-Programmer/aero](https://github.com/Andy-Python-Programmer/aero) — A modern, unix-like operating system following the monolithic kernel design.
* [DragonOS-Community/DragonOS](https://github.com/DragonOS-Community/DragonOS) — An operating system with a self-developed kernel from scratch and Linux compatibility. * [DragonOS-Community/DragonOS](https://github.com/DragonOS-Community/DragonOS) — An operating system with a self-developed kernel from scratch and Linux compatibility.
* [redox-os/redox](https://gitlab.redox-os.org/redox-os/redox) — * [redox-os/redox](https://gitlab.redox-os.org/redox-os/redox) — A rust operating system
* [thepowersgang/rust_os](https://github.com/thepowersgang/rust_os) — * [thepowersgang/rust_os](https://github.com/thepowersgang/rust_os) — An OS kernel written in rust. Non POSIX
* [theseus-os/Theseus](https://github.com/theseus-os/Theseus) — A safe-language, single address space and single privilege level OS written from scratch - [![build badge](https://img.shields.io/github/workflow/status/theseus-os/Theseus/Documentation?label=docs%20build)](https://www.theseus-os.com/Theseus/book/index.html) * [theseus-os/Theseus](https://github.com/theseus-os/Theseus) — A safe-language, single address space and single privilege level OS written from scratch - [![build badge](https://img.shields.io/github/workflow/status/theseus-os/Theseus/Documentation?label=docs%20build)](https://www.theseus-os.com/Theseus/book/index.html)
* [tock/tock](https://github.com/tock/tock) — A secure embedded operating system for Cortex-M based microcontrollers * [tock/tock](https://github.com/tock/tock) — A secure embedded operating system for Cortex-M based microcontrollers
@ -741,7 +741,7 @@ See also [Are we (I)DE yet?](https://areweideyet.com/) and [Rust Tools](https://
* [Atom](https://github.blog/2022-06-08-sunsetting-atom/) * [Atom](https://github.blog/2022-06-08-sunsetting-atom/)
* [rust-lang/atom-ide-rust](https://github.com/rust-lang/atom-ide-rust) — Rust IDE support for Atom, powered by the Rust Language Server (RLS) * [rust-lang/atom-ide-rust](https://github.com/rust-lang/atom-ide-rust) — Rust IDE support for Atom, powered by the Rust Language Server (RLS)
* [Eclipse](https://www.eclipse.org/) * [Eclipse](https://www.eclipse.org/)
* [Eclipse Corrosion](https://github.com/eclipse-corrosion/corrosion) — * [Eclipse Corrosion](https://github.com/eclipse-corrosion/corrosion) — a Rust development plugin for the Eclipse IDE, providing a rich edition experience through integration with the Rust Analyzer language server, Cargo runner and gdb debugger
* [Emacs](https://www.gnu.org/software/emacs/) * [Emacs](https://www.gnu.org/software/emacs/)
* [emacs-racer](https://github.com/racer-rust/emacs-racer) — Autocompletion (see also [company](https://company-mode.github.io) and [auto-complete](https://github.com/auto-complete/auto-complete)) * [emacs-racer](https://github.com/racer-rust/emacs-racer) — Autocompletion (see also [company](https://company-mode.github.io) and [auto-complete](https://github.com/auto-complete/auto-complete))
* [flycheck-rust](https://github.com/flycheck/flycheck-rust) — Rust support for [Flycheck](https://github.com/flycheck/flycheck) * [flycheck-rust](https://github.com/flycheck/flycheck-rust) — Rust support for [Flycheck](https://github.com/flycheck/flycheck)
@ -750,11 +750,11 @@ See also [Are we (I)DE yet?](https://areweideyet.com/) and [Rust Tools](https://
* [gitpod.io](https://gitpod.io) — Online IDE with full Rust support based on Rust Language Server * [gitpod.io](https://gitpod.io) — Online IDE with full Rust support based on Rust Language Server
* [gnome-builder](https://wiki.gnome.org/Apps/Builder) — native support for rust and cargo since Version 3.22.2 * [gnome-builder](https://wiki.gnome.org/Apps/Builder) — native support for rust and cargo since Version 3.22.2
* [IntelliJ](https://www.jetbrains.com/idea/) * [IntelliJ](https://www.jetbrains.com/idea/)
* [intellij-rust/intellij-rust](https://github.com/intellij-rust/intellij-rust) — * [intellij-rust/intellij-rust](https://github.com/intellij-rust/intellij-rust) — Rust plugin for the IntelliJ Platform
* [Kakoune](http://kakoune.org/) * [Kakoune](http://kakoune.org/)
* [kakoune-lsp](https://github.com/kakoune-lsp/kakoune-lsp/) — [LSP](https://microsoft.github.io/language-server-protocol/) client. Implemented in Rust and supports rls out of the box. * [kakoune-lsp](https://github.com/kakoune-lsp/kakoune-lsp/) — [LSP](https://microsoft.github.io/language-server-protocol/) client. Implemented in Rust and supports rls out of the box.
* [lapce](https://github.com/lapce/lapce) — Lightning-fast and Powerful Code Editor written in Rust. [![build badge](https://github.com/lapce/lapce/actions/workflows/release.yml/badge.svg)](https://github.com/lapce/lapce/actions/workflows/release.yml) * [lapce](https://github.com/lapce/lapce) — Lightning-fast and Powerful Code Editor written in Rust. [![build badge](https://github.com/lapce/lapce/actions/workflows/release.yml/badge.svg)](https://github.com/lapce/lapce/actions/workflows/release.yml)
* [Ride](https://github.com/madeso/ride) — * [Ride](https://github.com/madeso/ride) — A Rust IDE
* [Sublime Text](https://www.sublimetext.com/) * [Sublime Text](https://www.sublimetext.com/)
* [rust-lang/rust-enhanced](https://github.com/rust-lang/rust-enhanced) — official Rust package * [rust-lang/rust-enhanced](https://github.com/rust-lang/rust-enhanced) — official Rust package
* [Vim](https://vim.sourceforge.io/) — the ubiquitous text editor * [Vim](https://vim.sourceforge.io/) — the ubiquitous text editor
@ -782,7 +782,7 @@ See also [Are we (I)DE yet?](https://areweideyet.com/) and [Rust Tools](https://
* [Divan](https://github.com/nvzqz/divan) — Simple yet powerful benchmarking library with allocation profiling * [Divan](https://github.com/nvzqz/divan) — Simple yet powerful benchmarking library with allocation profiling
* [ellisonch/rust-stopwatch](https://github.com/ellisonch/rust-stopwatch) — A stopwatch library * [ellisonch/rust-stopwatch](https://github.com/ellisonch/rust-stopwatch) — A stopwatch library
* FlameGraphs * FlameGraphs
* [llogiq/flame](https://github.com/llogiq/flame) — * [llogiq/flame](https://github.com/llogiq/flame) — An intrusive flamegraph profiling tool for rust
* [mrhooray/torch](https://github.com/mrhooray/torch) — generates FlameGraphs based on DWARF Debug Info * [mrhooray/torch](https://github.com/mrhooray/torch) — generates FlameGraphs based on DWARF Debug Info
* [sharkdp/hyperfine](https://github.com/sharkdp/hyperfine) — A command-line benchmarking tool * [sharkdp/hyperfine](https://github.com/sharkdp/hyperfine) — A command-line benchmarking tool
@ -861,7 +861,7 @@ See also [About Rusts Machine Learning Community](https://medium.com/@autumn_
* [autumnai/leaf](https://github.com/autumnai/leaf) — Open Machine Intelligence framework.. Abandoned project. The most updated fork is [spearow/juice]( https://github.com/spearow/juice). * [autumnai/leaf](https://github.com/autumnai/leaf) — Open Machine Intelligence framework.. Abandoned project. The most updated fork is [spearow/juice]( https://github.com/spearow/juice).
* [burn](https://github.com/tracel-ai/burn) — A Flexible and Comprehensive Deep Learning Framework. * [burn](https://github.com/tracel-ai/burn) — A Flexible and Comprehensive Deep Learning Framework.
* [coreylowman/dfdx](https://github.com/coreylowman/dfdx) — CUDA accelerated machine learning framework that leverages many of Rust's unique features. ![Crates.io](https://img.shields.io/crates/v/dfdx) * [coreylowman/dfdx](https://github.com/coreylowman/dfdx) — CUDA accelerated machine learning framework that leverages many of Rust's unique features. ![Crates.io](https://img.shields.io/crates/v/dfdx)
* [huggingface/candle](https://github.com/huggingface/candle) [[candle-core](https://crates.io/crates/candle-core)]- a minimalist ML framework with a focus on easiness of use and on performance (including GPU support) * [huggingface/candle](https://github.com/huggingface/candle) [[candle-core](https://crates.io/crates/candle-core)] a minimalist ML framework with a focus on easiness of use and on performance (including GPU support)
* [huggingface/tokenizers](https://github.com/huggingface/tokenizers) — Hugging Face's tokenizers for modern NLP pipelines (original implementation) with bindings for Python. [![Build Status](https://github.com/huggingface/tokenizers/workflows/Rust/badge.svg?branch=master)](https://github.com/huggingface/tokenizers/actions) * [huggingface/tokenizers](https://github.com/huggingface/tokenizers) — Hugging Face's tokenizers for modern NLP pipelines (original implementation) with bindings for Python. [![Build Status](https://github.com/huggingface/tokenizers/workflows/Rust/badge.svg?branch=master)](https://github.com/huggingface/tokenizers/actions)
* [LaurentMazare/tch-rs](https://github.com/LaurentMazare/tch-rs) — Bindings for PyTorch. * [LaurentMazare/tch-rs](https://github.com/LaurentMazare/tch-rs) — Bindings for PyTorch.
* [maciejkula/rustlearn](https://github.com/maciejkula/rustlearn) — Machine learning library. [![Circle CI](https://circleci.com/gh/maciejkula/rustlearn.svg?style=svg)](https://app.circleci.com/pipelines/github/maciejkula/rustlearn) * [maciejkula/rustlearn](https://github.com/maciejkula/rustlearn) — Machine learning library. [![Circle CI](https://circleci.com/gh/maciejkula/rustlearn.svg?style=svg)](https://app.circleci.com/pipelines/github/maciejkula/rustlearn)
@ -946,7 +946,7 @@ See also [About Rusts Machine Learning Community](https://medium.com/@autumn_
* AWS [[aws](https://crates.io/keywords/aws)] * AWS [[aws](https://crates.io/keywords/aws)]
* [awslabs/aws-lambda-rust-runtime](https://github.com/awslabs/aws-lambda-rust-runtime) [[lambda_runtime](https://crates.io/crates/lambda_runtime)] — Runtime for AWS Lambda [![build badge](https://github.com/awslabs/aws-lambda-rust-runtime/workflows/Rust/badge.svg)](https://github.com/awslabs/aws-lambda-rust-runtime/actions) * [awslabs/aws-lambda-rust-runtime](https://github.com/awslabs/aws-lambda-rust-runtime) [[lambda_runtime](https://crates.io/crates/lambda_runtime)] — Runtime for AWS Lambda [![build badge](https://github.com/awslabs/aws-lambda-rust-runtime/workflows/Rust/badge.svg)](https://github.com/awslabs/aws-lambda-rust-runtime/actions)
* [awslabs/aws-sdk-rust](https://github.com/awslabs/aws-sdk-rust) — The new AWS SDK * [awslabs/aws-sdk-rust](https://github.com/awslabs/aws-sdk-rust) — The new AWS SDK
* [rusoto/rusoto](https://github.com/rusoto/rusoto) — * [rusoto/rusoto](https://github.com/rusoto/rusoto) — An AWS SDK for Rust
* Load Balancer * Load Balancer
* [Convey](https://github.com/bparli/convey) — Layer 4 Load Balancer with dynamic configuration loading. * [Convey](https://github.com/bparli/convey) — Layer 4 Load Balancer with dynamic configuration loading.
* Multi Cloud * Multi Cloud
@ -1138,10 +1138,10 @@ See also [About Rusts Machine Learning Community](https://medium.com/@autumn_
* [djduque/pgfplots](https://github.com/djduque/pgfplots) [[pgfplots](https://crates.io/crates/pgfplots)] — Library to generate publication-quality figures. [![build](https://github.com/DJDuque/pgfplots/actions/workflows/rust.yml/badge.svg)](https://github.com/DJDuque/pgfplots/actions/workflows/rust.yml) * [djduque/pgfplots](https://github.com/djduque/pgfplots) [[pgfplots](https://crates.io/crates/pgfplots)] — Library to generate publication-quality figures. [![build](https://github.com/DJDuque/pgfplots/actions/workflows/rust.yml/badge.svg)](https://github.com/DJDuque/pgfplots/actions/workflows/rust.yml)
* [igiagkiozis/plotly](https://github.com/igiagkiozis/plotly) — Plotly for Rust. * [igiagkiozis/plotly](https://github.com/igiagkiozis/plotly) — Plotly for Rust.
* [mazznoer/colorgrad-rs](https://github.com/mazznoer/colorgrad-rs) [[colorgrad](https://crates.io/crates/colorgrad)] — Color scales library for data visualization, charts, games, maps, generative art and others. * [mazznoer/colorgrad-rs](https://github.com/mazznoer/colorgrad-rs) [[colorgrad](https://crates.io/crates/colorgrad)] — Color scales library for data visualization, charts, games, maps, generative art and others.
* [milliams/plotlib](https://github.com/milliams/plotlib) — * [milliams/plotlib](https://github.com/milliams/plotlib) — a generic data visualisation and plotting library
* [plotters](https://github.com/plotters-rs/plotters) — [![build badge](https://github.com/plotters-rs/plotters/workflows/CI/badge.svg)](https://github.com/plotters-rs/plotters/actions) * [plotters](https://github.com/plotters-rs/plotters) — [![build badge](https://github.com/plotters-rs/plotters/workflows/CI/badge.svg)](https://github.com/plotters-rs/plotters/actions)
* [rerun](https://github.com/rerun-io/rerun) — [[rerun](https://crates.io/crates/rerun)] — An SDK for logging computer vision and robotics data (tensors, point clouds, etc) paired with a visualizer for exploring that data over time. * [rerun](https://github.com/rerun-io/rerun) — [[rerun](https://crates.io/crates/rerun)] — An SDK for logging computer vision and robotics data (tensors, point clouds, etc) paired with a visualizer for exploring that data over time.
* [saresend/gust](https://github.com/saresend/Gust) — * [saresend/gust](https://github.com/saresend/Gust) — A small charting/visualization tool and partial vega implementation
### Database ### Database
@ -1154,9 +1154,9 @@ See also [About Rusts Machine Learning Community](https://medium.com/@autumn_
* [Arangors](https://github.com/fMeow/arangors) [[arangors](https://crates.io/crates/arangors)] — An ArangoDB driver * [Arangors](https://github.com/fMeow/arangors) [[arangors](https://crates.io/crates/arangors)] — An ArangoDB driver
* [Cassandra](https://cassandra.apache.org/_/index.html) [[cassandra](https://crates.io/keywords/cassandra), [cql](https://crates.io/keywords/cql)] * [Cassandra](https://cassandra.apache.org/_/index.html) [[cassandra](https://crates.io/keywords/cassandra), [cql](https://crates.io/keywords/cql)]
* [AlexPikalov/cdrs](https://github.com/AlexPikalov/cdrs) [[cdrs](https://crates.io/crates/cdrs)] — native client * [AlexPikalov/cdrs](https://github.com/AlexPikalov/cdrs) [[cdrs](https://crates.io/crates/cdrs)] — native client
* [krojew/cdrs-tokio](https://github.com/krojew/cdrs-tokio) [![build badge](https://github.com/krojew/cdrs-tokio/actions/workflows/rust.yml/badge.svg)](https://github.com/krojew/cdrs-tokio/actions) * [krojew/cdrs-tokio](https://github.com/krojew/cdrs-tokio) — High-level async Cassandra client written in 100% Rust. [![build badge](https://github.com/krojew/cdrs-tokio/actions/workflows/rust.yml/badge.svg)](https://github.com/krojew/cdrs-tokio/actions)
* [[cassandra-protocol](https://crates.io/crates/cassandra-protocol)] — Cassandra protocol implementation. * [[cassandra-protocol](https://crates.io/crates/cassandra-protocol)] — Cassandra protocol implementation.
* [[cdrs-tokio](https://crates.io/crates/cdrs-tokio)] — production-ready async Apache Cassandra driver * [[cdrs-tokio](https://crates.io/crates/cdrs-tokio)] — production-ready async Apache Cassandra driver
* [Metaswitch/cassandra-rs](https://github.com/Metaswitch/cassandra-rs) — bindings to the DataStax C/C++ client * [Metaswitch/cassandra-rs](https://github.com/Metaswitch/cassandra-rs) — bindings to the DataStax C/C++ client
* CouchDB [[couchdb](https://crates.io/keywords/couchdb)] * CouchDB [[couchdb](https://crates.io/keywords/couchdb)]
* [chill-rs/chill](https://github.com/chill-rs/chill) [[couchdb](https://crates.io/crates/chill)] — Client for the CouchDB REST API * [chill-rs/chill](https://github.com/chill-rs/chill) [[couchdb](https://crates.io/crates/chill)] — Client for the CouchDB REST API
@ -1228,7 +1228,7 @@ See also [About Rusts Machine Learning Community](https://medium.com/@autumn_
[[date](https://crates.io/keywords/date), [time](https://crates.io/keywords/time)] [[date](https://crates.io/keywords/date), [time](https://crates.io/keywords/time)]
* [chronotope/chrono](https://github.com/chronotope/chrono) — * [chronotope/chrono](https://github.com/chronotope/chrono) — Date and time library
* [Mnwa/ms](https://github.com/Mnwa/ms) [[ms-converter](https://crates.io/crates/ms-converter)] — it's a library for converting human-like times to milliseconds [![build badge](https://github.com/Mnwa/ms/workflows/build/badge.svg?branch=master)](https://github.com/Mnwa/ms/actions?query=workflow%3Abuild) * [Mnwa/ms](https://github.com/Mnwa/ms) [[ms-converter](https://crates.io/crates/ms-converter)] — it's a library for converting human-like times to milliseconds [![build badge](https://github.com/Mnwa/ms/workflows/build/badge.svg?branch=master)](https://github.com/Mnwa/ms/actions?query=workflow%3Abuild)
* [sorairolake/nt-time](https://github.com/sorairolake/nt-time) [[nt-time](https://crates.io/crates/nt-time)] — A Windows file time library. [![CI](https://github.com/sorairolake/nt-time/workflows/CI/badge.svg?branch=develop)](https://github.com/sorairolake/nt-time/actions?query=workflow%3ACI) * [sorairolake/nt-time](https://github.com/sorairolake/nt-time) [[nt-time](https://crates.io/crates/nt-time)] — A Windows file time library. [![CI](https://github.com/sorairolake/nt-time/workflows/CI/badge.svg?branch=develop)](https://github.com/sorairolake/nt-time/actions?query=workflow%3ACI)
* [time-rs/time](https://github.com/time-rs/time) — [![build badge](https://github.com/time-rs/time/workflows/Build/badge.svg)](https://github.com/time-rs/time/actions) * [time-rs/time](https://github.com/time-rs/time) — [![build badge](https://github.com/time-rs/time/workflows/Build/badge.svg)](https://github.com/time-rs/time/actions)
@ -1240,7 +1240,7 @@ See also [About Rusts Machine Learning Community](https://medium.com/@autumn_
* Apache Kafka * Apache Kafka
* [fede1024/rust-rdkafka](https://github.com/fede1024/rust-rdkafka) [[rdkafka](https://crates.io/crates/rdkafka)] — [librdkafka](https://github.com/confluentinc/librdkafka) bindings * [fede1024/rust-rdkafka](https://github.com/fede1024/rust-rdkafka) [[rdkafka](https://crates.io/crates/rdkafka)] — [librdkafka](https://github.com/confluentinc/librdkafka) bindings
* [gklijs/schema_registry_converter](https://github.com/gklijs/schema_registry_converter) [[schema_registry_converter](https://crates.io/crates/schema_registry_converter)] — to integrate with [confluent schema registry](https://www.confluent.io/product/confluent-platform/data-compatibility/) * [gklijs/schema_registry_converter](https://github.com/gklijs/schema_registry_converter) [[schema_registry_converter](https://crates.io/crates/schema_registry_converter)] — to integrate with [confluent schema registry](https://www.confluent.io/product/confluent-platform/data-compatibility/)
* [kafka-rust/kafka-rust](https://github.com/kafka-rust/kafka-rust) — * [kafka-rust/kafka-rust](https://github.com/kafka-rust/kafka-rust) — Rust client for Apache Kafka
* Beanstalkd * Beanstalkd
* [schickling/rust-beanstalkd](https://github.com/schickling/rust-beanstalkd) — [Beanstalkd](https://github.com/beanstalkd/beanstalkd) bindings * [schickling/rust-beanstalkd](https://github.com/schickling/rust-beanstalkd) — [Beanstalkd](https://github.com/beanstalkd/beanstalkd) bindings
* HDFS * HDFS
@ -1290,14 +1290,14 @@ See also [About Rusts Machine Learning Community](https://medium.com/@autumn_
* Byte swapping * Byte swapping
* [BurntSushi/byteorder](https://github.com/BurntSushi/byteorder) — Supports big-endian, little-endian and native byte orders * [BurntSushi/byteorder](https://github.com/BurntSushi/byteorder) — Supports big-endian, little-endian and native byte orders
* Cap'n Proto * Cap'n Proto
* [capnproto/capnproto-rust](https://github.com/capnproto/capnproto-rust) — * [capnproto/capnproto-rust](https://github.com/capnproto/capnproto-rust) — Cap'n Proto is a type system for distributed systems
* CBOR * CBOR
* [serde_cbor](https://crates.io/crates/serde_cbor) — CBOR support for serde * [serde_cbor](https://crates.io/crates/serde_cbor) — CBOR support for serde
* Character Encoding * Character Encoding
* [hsivonen/encoding_rs](https://github.com/hsivonen/encoding_rs) [[encoding_rs](https://crates.io/crates/encoding_rs)] — A Gecko-oriented implementation of the Encoding Standard * [hsivonen/encoding_rs](https://github.com/hsivonen/encoding_rs) [[encoding_rs](https://crates.io/crates/encoding_rs)] — A Gecko-oriented implementation of the Encoding Standard
* [lifthrasiir/rust-encoding](https://github.com/lifthrasiir/rust-encoding) — * [lifthrasiir/rust-encoding](https://github.com/lifthrasiir/rust-encoding) — Character encoding support for Rust. (also known as rust-encoding) It is based on WHATWG Encoding Standard, and also provides an advanced interface for error detection and recovery.
* CRC * CRC
* [mrhooray/crc-rs](https://github.com/mrhooray/crc-rs) — * [mrhooray/crc-rs](https://github.com/mrhooray/crc-rs) — Rust implementation of CRC(16, 32, 64) with support of various standards
* CSV * CSV
* [BurntSushi/rust-csv](https://github.com/BurntSushi/rust-csv) — A fast and flexible CSV reader and writer, with support for Serde * [BurntSushi/rust-csv](https://github.com/BurntSushi/rust-csv) — A fast and flexible CSV reader and writer, with support for Serde
* EDN * EDN
@ -1321,12 +1321,12 @@ See also [About Rusts Machine Learning Community](https://medium.com/@autumn_
* PEM * PEM
* [jcreekmore/pem-rs](https://github.com/jcreekmore/pem-rs) [[pem](https://crates.io/crates/pem)] — Parse and encode PEM-encoded data * [jcreekmore/pem-rs](https://github.com/jcreekmore/pem-rs) [[pem](https://crates.io/crates/pem)] — Parse and encode PEM-encoded data
* ProtocolBuffers * ProtocolBuffers
* [stepancheg/rust-protobuf](https://github.com/stepancheg/rust-protobuf) — * [stepancheg/rust-protobuf](https://github.com/stepancheg/rust-protobuf) — Rust implementation of Google protocol buffers
* [tokio-rs/prost](https://github.com/tokio-rs/prost) — [![continuous integration](https://github.com/tokio-rs/prost/workflows/continuous%20integration/badge.svg?branch=master)](https://github.com/tokio-rs/prost/actions) * [tokio-rs/prost](https://github.com/tokio-rs/prost) — [![continuous integration](https://github.com/tokio-rs/prost/workflows/continuous%20integration/badge.svg?branch=master)](https://github.com/tokio-rs/prost/actions)
* rkyv * rkyv
* [rkyv/rkyv](https://github.com/rkyv/rkyv) [[rkyv](https://crates.io/crates/rkyv)] — rkyv (archive) is a zero-copy deserialization framework * [rkyv/rkyv](https://github.com/rkyv/rkyv) [[rkyv](https://crates.io/crates/rkyv)] — rkyv (archive) is a zero-copy deserialization framework
* RON (Rusty Object Notation) * RON (Rusty Object Notation)
* [https://github.com/ron-rs/ron](https://github.com/ron-rs/ron) — * [https://github.com/ron-rs/ron](https://github.com/ron-rs/ron) — Rusty Object Notation
* Serde * Serde
* [iddm/serde-aux](https://github.com/iddm/serde-aux/) — additional tools for using with the serde library. [![CI](https://github.com/iddm/serde-aux/actions/workflows/ci.yml/badge.svg)](https://github.com/iddm/serde-aux/actions/workflows/ci.yml) [![Crates badge](https://img.shields.io/crates/v/serde-aux.svg)](https://crates.io/crates/serde-aux) * [iddm/serde-aux](https://github.com/iddm/serde-aux/) — additional tools for using with the serde library. [![CI](https://github.com/iddm/serde-aux/actions/workflows/ci.yml/badge.svg)](https://github.com/iddm/serde-aux/actions/workflows/ci.yml) [![Crates badge](https://img.shields.io/crates/v/serde-aux.svg)](https://crates.io/crates/serde-aux)
* TOML * TOML
@ -1439,20 +1439,20 @@ See also [Are we game yet?](https://arewegameyet.rs)
* [gfx-rs/gfx](https://github.com/gfx-rs/gfx) — A high-performance, bindless graphics API. * [gfx-rs/gfx](https://github.com/gfx-rs/gfx) — A high-performance, bindless graphics API.
* [gfx-rs/wgpu](https://github.com/gfx-rs/wgpu) — Native WebGPU implementation based on gfx-hal. [![build badge](https://github.com/gfx-rs/wgpu/workflows/CI/badge.svg?branch=master)](https://github.com/gfx-rs/wgpu/actions) * [gfx-rs/wgpu](https://github.com/gfx-rs/wgpu) — Native WebGPU implementation based on gfx-hal. [![build badge](https://github.com/gfx-rs/wgpu/workflows/CI/badge.svg?branch=master)](https://github.com/gfx-rs/wgpu/actions)
* OpenGL [[opengl](https://crates.io/keywords/opengl)] * OpenGL [[opengl](https://crates.io/keywords/opengl)]
* [brendanzab/gl-rs](https://github.com/brendanzab/gl-rs) — * [brendanzab/gl-rs](https://github.com/brendanzab/gl-rs) — An OpenGL function pointer loader
* [glium/glium](https://github.com/glium/glium) — safe OpenGL wrapper. * [glium/glium](https://github.com/glium/glium) — safe OpenGL wrapper.
* [glutin](https://crates.io/crates/glutin) — Alternative to [GLFW](https://www.glfw.org/) * [glutin](https://crates.io/crates/glutin) — Alternative to [GLFW](https://www.glfw.org/)
* [Kiss3d](http://kiss3d.org) — draw simple geometric figures and play with them with one-liners * [Kiss3d](http://kiss3d.org) — draw simple geometric figures and play with them with one-liners
* [PistonDevelopers/glfw-rs](https://github.com/PistonDevelopers/glfw-rs) — * [PistonDevelopers/glfw-rs](https://github.com/PistonDevelopers/glfw-rs) — GLFW3 bindings and idiomatic wrapper
* PDF * PDF
* [bastibense/libharu_ng](https://github.com/bastibense/libharu_ng) [[libharu_ng](https://crates.io/crates/libharu_ng)] — Easily generate PDFs from your Rust app. * [bastibense/libharu_ng](https://github.com/bastibense/libharu_ng) [[libharu_ng](https://crates.io/crates/libharu_ng)] — Easily generate PDFs from your Rust app.
* [fschutt/printpdf](https://github.com/fschutt/printpdf) — PDF writing library * [fschutt/printpdf](https://github.com/fschutt/printpdf) — PDF writing library
* [J-F-Liu/lopdf](https://github.com/J-F-Liu/lopdf) — PDF document manipulation * [J-F-Liu/lopdf](https://github.com/J-F-Liu/lopdf) — PDF document manipulation
* [kaj/rust-pdf](https://github.com/kaj/rust-pdf) — * [kaj/rust-pdf](https://github.com/kaj/rust-pdf) — Generating PDF files in pure Rust
* [WASM-PDF](https://github.com/jussiniinikoski/wasm-pdf) — Generates PDF files with JavaScript and WASM (WebAssembly) * [WASM-PDF](https://github.com/jussiniinikoski/wasm-pdf) — Generates PDF files with JavaScript and WASM (WebAssembly)
* [Vulkan](https://www.vulkan.org/) [[vulkan](https://crates.io/keywords/vulkan)] * [Vulkan](https://www.vulkan.org/) [[vulkan](https://crates.io/keywords/vulkan)]
* [erupt](https://gitlab.com/Friz64/erupt) [[erupt](https://crates.io/crates/erupt)] — [![build badge](https://gitlab.com/Friz64/erupt/badges/main/pipeline.svg)](https://gitlab.com/Friz64/erupt/-/pipelines) * [erupt](https://gitlab.com/Friz64/erupt) [[erupt](https://crates.io/crates/erupt)] — [![build badge](https://gitlab.com/Friz64/erupt/badges/main/pipeline.svg)](https://gitlab.com/Friz64/erupt/-/pipelines)
* [vulkano](https://github.com/vulkano-rs/vulkano) [[vulkano](https://crates.io/crates/vulkano)] — * [vulkano](https://github.com/vulkano-rs/vulkano) [[vulkano](https://crates.io/crates/vulkano)] — Safe and rich Rust wrapper around the Vulkan API
### GUI ### GUI
@ -1460,7 +1460,7 @@ See also [Are we game yet?](https://arewegameyet.rs)
* [autopilot-rs/autopilot-rs](https://github.com/autopilot-rs/autopilot-rs) — A simple, cross-platform GUI automation library. * [autopilot-rs/autopilot-rs](https://github.com/autopilot-rs/autopilot-rs) — A simple, cross-platform GUI automation library.
* Cocoa * Cocoa
* [servo/core-foundation-rs](https://github.com/servo/core-foundation-rs) — * [servo/core-foundation-rs](https://github.com/servo/core-foundation-rs) — Rust bindings to Core Foundation and other low level libraries on Mac OS X and iOS
* [DioxusLabs/dioxus](https://github.com/dioxuslabs/dioxus) — a portable, performant, and ergonomic framework for building cross-platform user interfaces in Rust. ![rust ci](https://github.com/dioxuslabs/dioxus/actions/workflows/main.yml/badge.svg) * [DioxusLabs/dioxus](https://github.com/dioxuslabs/dioxus) — a portable, performant, and ergonomic framework for building cross-platform user interfaces in Rust. ![rust ci](https://github.com/dioxuslabs/dioxus/actions/workflows/main.yml/badge.svg)
* [emilk/egui](https://github.com/emilk/egui) — Simple, fast, and highly portable immediate mode GUI library. egui runs on the web, natively, and in your favorite game engine. [![Build Status](https://github.com/emilk/egui/workflows/CI/badge.svg)](https://github.com/emilk/egui/actions?workflow=CI) * [emilk/egui](https://github.com/emilk/egui) — Simple, fast, and highly portable immediate mode GUI library. egui runs on the web, natively, and in your favorite game engine. [![Build Status](https://github.com/emilk/egui/workflows/CI/badge.svg)](https://github.com/emilk/egui/actions?workflow=CI)
* [emoon/rust_minifb](https://github.com/emoon/rust_minifb) — minifb is a cross-platform window setup with optional bitmap rendering. It also comes with easy mouse and keyboard input. Primarily designed for prototyping * [emoon/rust_minifb](https://github.com/emoon/rust_minifb) — minifb is a cross-platform window setup with optional bitmap rendering. It also comes with easy mouse and keyboard input. Primarily designed for prototyping
@ -1489,7 +1489,7 @@ See also [Are we game yet?](https://arewegameyet.rs)
* [PistonDevelopers/conrod](https://github.com/PistonDevelopers/conrod/) — An easy-to-use, immediate-mode, 2D GUI library * [PistonDevelopers/conrod](https://github.com/PistonDevelopers/conrod/) — An easy-to-use, immediate-mode, 2D GUI library
* [Qt](https://doc.qt.io) * [Qt](https://doc.qt.io)
* [cyndis/qmlrs](https://github.com/cyndis/qmlrs) — QtQuick bindings * [cyndis/qmlrs](https://github.com/cyndis/qmlrs) — QtQuick bindings
* [rust-qt](https://github.com/rust-qt) — * [rust-qt](https://github.com/rust-qt) — Qt bindings for Rust
* [woboq/qmetaobject-rs](https://github.com/woboq/qmetaobject-rs) — Integrate Qml and Rust by building the QMetaObject at compile time. * [woboq/qmetaobject-rs](https://github.com/woboq/qmetaobject-rs) — Integrate Qml and Rust by building the QMetaObject at compile time.
* [rise-ui](https://github.com/rise-ui/rise) — Simple component-based cross-Platform GUI Toolkit for developing beautiful and user-friendly interfaces. * [rise-ui](https://github.com/rise-ui/rise) — Simple component-based cross-Platform GUI Toolkit for developing beautiful and user-friendly interfaces.
* [saurvs/nfd-rs](https://github.com/saurvs/nfd-rs) — [nativefiledialog](https://github.com/mlabbe/nativefiledialog) bindings * [saurvs/nfd-rs](https://github.com/saurvs/nfd-rs) — [nativefiledialog](https://github.com/mlabbe/nativefiledialog) bindings
@ -1542,7 +1542,7 @@ See also [Are we game yet?](https://arewegameyet.rs)
* Android / iOS * Android / iOS
* [owlmafia/rust_android_ios](https://github.com/owlmafia/rust_android_ios) — An example of using a shared lib for Android and iOS using rust-swig and cbindgen respectively. * [owlmafia/rust_android_ios](https://github.com/owlmafia/rust_android_ios) — An example of using a shared lib for Android and iOS using rust-swig and cbindgen respectively.
* Generic * Generic
* [Geal/rust_on_mobile](https://github.com/Geal/rust_on_mobile) * [Geal/rust_on_mobile](https://github.com/Geal/rust_on_mobile) — iOS CocoaPods / Android JNI
* [redbadger/crux](https://github.com/redbadger/crux) [[crux_core](https://crates.io/crates/crux_core)] — Cross-platform app development. Crux helps you share your app's business logic and behavior across mobile (iOS/Android) and web — as a single reusable core. [![Build status](https://img.shields.io/github/actions/workflow/status/redbadger/crux/build.yaml)](https://github.com/redbadger/crux/actions) * [redbadger/crux](https://github.com/redbadger/crux) [[crux_core](https://crates.io/crates/crux_core)] — Cross-platform app development. Crux helps you share your app's business logic and behavior across mobile (iOS/Android) and web — as a single reusable core. [![Build status](https://img.shields.io/github/actions/workflow/status/redbadger/crux/build.yaml)](https://github.com/redbadger/crux/actions)
* iOS * iOS
* [TimNN/cargo-lipo](https://github.com/TimNN/cargo-lipo) — A cargo lipo subcommand which automatically creates a universal library for use with your iOS application. * [TimNN/cargo-lipo](https://github.com/TimNN/cargo-lipo) — A cargo lipo subcommand which automatically creates a universal library for use with your iOS application.
@ -1696,7 +1696,7 @@ See also [Are we game yet?](https://arewegameyet.rs)
* [lambda-fairy/maud](https://github.com/lambda-fairy/maud) — compile-time HTML templates * [lambda-fairy/maud](https://github.com/lambda-fairy/maud) — compile-time HTML templates
* [Stebalien/horrorshow-rs](https://github.com/Stebalien/horrorshow-rs) — compile-time HTML templates * [Stebalien/horrorshow-rs](https://github.com/Stebalien/horrorshow-rs) — compile-time HTML templates
* Mustache * Mustache
* [rustache/rustache](https://github.com/rustache/rustache) — * [rustache/rustache](https://github.com/rustache/rustache) — a Rust implementation of the Mustache spec
### Text processing ### Text processing
@ -1719,8 +1719,8 @@ See also [Are we game yet?](https://arewegameyet.rs)
### Text search ### Text search
* [andylokandy/simsearch-rs](https://github.com/andylokandy/simsearch-rs) [[simsearch](https://crates.io/crates/simsearch)] — A simple and lightweight fuzzy search engine that works in memory, searching for similar strings * [andylokandy/simsearch-rs](https://github.com/andylokandy/simsearch-rs) [[simsearch](https://crates.io/crates/simsearch)] — A simple and lightweight fuzzy search engine that works in memory, searching for similar strings
* [BurntSushi/fst](https://github.com/BurntSushi/fst) [[fst](https://crates.io/crates/fst)] — * [BurntSushi/fst](https://github.com/BurntSushi/fst) [[fst](https://crates.io/crates/fst)] — a fast implementation of ordered sets and maps using finite state machines
* [CurrySoftware/perlin](https://github.com/CurrySoftware/perlin) [[perlin](https://crates.io/crates/perlin)] — * [CurrySoftware/perlin](https://github.com/CurrySoftware/perlin) [[perlin](https://crates.io/crates/perlin)] — A lazy, zero-allocation and data-agnostic Information Retrieval library
* [meilisearch/MeiliSearch](https://github.com/meilisearch/MeiliSearch) — Ultra relevant, instant and typo-tolerant full-text search API. [![Build Status](https://github.com/meilisearch/MeiliSearch/workflows/Cargo%20test/badge.svg?branch=master)](https://github.com/meilisearch/MeiliSearch/actions) * [meilisearch/MeiliSearch](https://github.com/meilisearch/MeiliSearch) — Ultra relevant, instant and typo-tolerant full-text search API. [![Build Status](https://github.com/meilisearch/MeiliSearch/workflows/Cargo%20test/badge.svg?branch=master)](https://github.com/meilisearch/MeiliSearch/actions)
* [pg_bm25](https://github.com/paradedb/paradedb/tree/dev/pg_bm25) — PostgreSQL extension that enables full text search over SQL tables using the BM25 algorithm, the state-of-the-art ranking function for full-text search. * [pg_bm25](https://github.com/paradedb/paradedb/tree/dev/pg_bm25) — PostgreSQL extension that enables full text search over SQL tables using the BM25 algorithm, the state-of-the-art ranking function for full-text search.
* [tantivy](https://github.com/quickwit-oss/tantivy) [[tantivy](https://crates.io/crates/tantivy)] — A horse-speed full-text search engine library written in Rust. [![Build Status](https://github.com/quickwit-oss/tantivy/actions/workflows/test.yml/badge.svg)](https://github.com/quickwit-oss/tantivy/actions/workflows/test.yml) * [tantivy](https://github.com/quickwit-oss/tantivy) [[tantivy](https://crates.io/crates/tantivy)] — A horse-speed full-text search engine library written in Rust. [![Build Status](https://github.com/quickwit-oss/tantivy/actions/workflows/test.yml/badge.svg)](https://github.com/quickwit-oss/tantivy/actions/workflows/test.yml)
@ -1836,7 +1836,8 @@ A registry allows you to publish your Rust libraries as crate packages, to share
* [Aquascope](https://github.com/cognitive-engineering-lab/aquascope) — Interactive visualizations of Rust at compile-time and run-time * [Aquascope](https://github.com/cognitive-engineering-lab/aquascope) — Interactive visualizations of Rust at compile-time and run-time
* [Awesome Rust Streaming](https://github.com/jamesmunns/awesome-rust-streaming) — A community curated list of livestreams. * [Awesome Rust Streaming](https://github.com/jamesmunns/awesome-rust-streaming) — A community curated list of livestreams.
* [awesome-rust-mentors](https://rustbeginners.github.io/awesome-rust-mentors/) — A list of helpful mentors willing to take mentees and educate them about Rust and programming. * [awesome-rust-mentors](https://rustbeginners.github.io/awesome-rust-mentors/) — A list of helpful mentors willing to take mentees and educate them about Rust and programming.
* [Build a language VM](https://blog.subnetzero.io/post/building-language-vm-part-00/) — * [Build a language VM](https://blog.subnetzero.io/post/building-language-vm-part-00/) — a series of posts to detailing how to build a language VM.
* [CIS 198: Rust Programming](http://cis198-2016s.github.io/schedule/) — University of Pennsylvania's Comp Sci Rust Programming Course
* [CodeCrafters.io](https://app.codecrafters.io/tracks/rust) — Build your own Redis, Git, Docker, or SQLite * [CodeCrafters.io](https://app.codecrafters.io/tracks/rust) — Build your own Redis, Git, Docker, or SQLite
* [Comprehensive Rust 🦀](https://google.github.io/comprehensive-rust/) — A 3-day course on Rust Fundamentals plus 1-day courses on Android, Bare-metal Rust, and Concurrency. Available in English, [Brazilian Portuguese](https://google.github.io/comprehensive-rust/pt-BR/), and [Korean](https://google.github.io/comprehensive-rust/ko/). * [Comprehensive Rust 🦀](https://google.github.io/comprehensive-rust/) — A 3-day course on Rust Fundamentals plus 1-day courses on Android, Bare-metal Rust, and Concurrency. Available in English, [Brazilian Portuguese](https://google.github.io/comprehensive-rust/pt-BR/), and [Korean](https://google.github.io/comprehensive-rust/ko/).
* [Easy Rust](https://github.com/Dhghomon/easy_rust) — Learn Rust in easy English. * [Easy Rust](https://github.com/Dhghomon/easy_rust) — Learn Rust in easy English.
@ -1848,13 +1849,13 @@ A registry allows you to publish your Rust libraries as crate packages, to share
* [Little Book of Rust Books](https://lborb.github.io/book/) — Curated list of rust books and how-tos. * [Little Book of Rust Books](https://lborb.github.io/book/) — Curated list of rust books and how-tos.
* [Programming Community Curated Resources for Learning Rust](https://hackr.io/tutorials/learn-rust) — A list of recommended resources voted by the programming community. * [Programming Community Curated Resources for Learning Rust](https://hackr.io/tutorials/learn-rust) — A list of recommended resources voted by the programming community.
* [Refactoring to Rust](https://www.manning.com/books/refactoring-to-rust) — A book that introduces to Rust language. * [Refactoring to Rust](https://www.manning.com/books/refactoring-to-rust) — A book that introduces to Rust language.
* [Rust by Example](https://doc.rust-lang.org/rust-by-example/) — * [Rust by Example](https://doc.rust-lang.org/rust-by-example/) — a collection of runnable examples that illustrate various Rust concepts and standard libraries.
* [Rust Cookbook](https://rust-lang-nursery.github.io/rust-cookbook/) — A collection of simple examples that demonstrate good practices to accomplish common programming tasks, using the crates of the Rust ecosystem. * [Rust Cookbook](https://rust-lang-nursery.github.io/rust-cookbook/) — A collection of simple examples that demonstrate good practices to accomplish common programming tasks, using the crates of the Rust ecosystem.
* [Rust for professionals](https://overexact.com/rust-for-professionals/) — A quick introduction to Rust for experienced software developers. * [Rust for professionals](https://overexact.com/rust-for-professionals/) — A quick introduction to Rust for experienced software developers.
* [Rust Gym](https://github.com/warycat/rustgym) — A big collection of coding interview problems solved in Rust. * [Rust Gym](https://github.com/warycat/rustgym) — A big collection of coding interview problems solved in Rust.
* [Rust in Action](https://www.manning.com/books/rust-in-action) — A hands-on guide to systems programming with Rust by [Tim McNamara](https://github.com/timClicks) (paid) * [Rust in Action](https://www.manning.com/books/rust-in-action) — A hands-on guide to systems programming with Rust by [Tim McNamara](https://github.com/timClicks) (paid)
* [Rust in Motion](https://www.manning.com/livevideo/rust-in-motion?a_aid=cnichols&a_bid=6a993c2e) — A video series by [Carol Nichols](https://github.com/carols10cents) and [Jake Goulding](https://github.com/shepmaster) (paid) * [Rust in Motion](https://www.manning.com/livevideo/rust-in-motion?a_aid=cnichols&a_bid=6a993c2e) — A video series by [Carol Nichols](https://github.com/carols10cents) and [Jake Goulding](https://github.com/shepmaster) (paid)
* [Rust Language Cheat Sheet](https://cheats.rs/) — * [Rust Language Cheat Sheet](https://cheats.rs/) — Rust Language Cheat Sheet
* [Rust Tiếng Việt](https://rust-tieng-viet.github.io/) — Learn Rust in Vietnamese. * [Rust Tiếng Việt](https://rust-tieng-viet.github.io/) — Learn Rust in Vietnamese.
* [rust-how-do-i-start](https://github.com/jondot/rust-how-do-i-start) — A repo dedicated to answering the question: "So, Rust. How do I _start_?". A beginner only hand-picked resources and learning track. * [rust-how-do-i-start](https://github.com/jondot/rust-how-do-i-start) — A repo dedicated to answering the question: "So, Rust. How do I _start_?". A beginner only hand-picked resources and learning track.
* [rust-learning](https://github.com/ctjhoa/rust-learning) — A collection of useful resources to learn Rust * [rust-learning](https://github.com/ctjhoa/rust-learning) — A collection of useful resources to learn Rust
@ -1863,18 +1864,17 @@ A registry allows you to publish your Rust libraries as crate packages, to share
* [stdx](https://github.com/brson/stdx) — Learn these crates first as an extension to std * [stdx](https://github.com/brson/stdx) — Learn these crates first as an extension to std
* [Take your first steps with Rust](https://learn.microsoft.com/en-us/training/paths/rust-first-steps/) — Lay the foundation of knowledge you need to build fast and effective programs in Rust. * [Take your first steps with Rust](https://learn.microsoft.com/en-us/training/paths/rust-first-steps/) — Lay the foundation of knowledge you need to build fast and effective programs in Rust.
* [Tour of Rust](https://tourofrust.com) — This is meant to be an interactive step by step guide through the features of the Rust programming language. * [Tour of Rust](https://tourofrust.com) — This is meant to be an interactive step by step guide through the features of the Rust programming language.
* [University of Pennsylvania's Comp Sci Rust Programming Course](http://cis198-2016s.github.io/schedule/) —
* Podcasts * Podcasts
* [New Rustacean](https://newrustacean.com) — A podcast about learning Rust * [New Rustacean](https://newrustacean.com) — A podcast about learning Rust
* [Rustacean Station](https://rustacean-station.org/) — A community project for creating podcast content for Rust * [Rustacean Station](https://rustacean-station.org/) — A community project for creating podcast content for Rust
* [Rust Design Patterns](https://github.com/rust-unofficial/patterns) — * [Rust Design Patterns](https://github.com/rust-unofficial/patterns) — A catalogue of Rust design patterns, anti-patterns and idioms
* [Rust Guidelines](http://aturon.github.io/) — * [Rust Guidelines](http://aturon.github.io/) — Aaron Turon's blog posts on rust
* [Rust Servers, Services and Apps - MEAP](https://www.manning.com/books/rust-servers-services-and-apps) — Build backend servers, services, and front-ends in Rust to get fast, reliable, and maintainable applications. * [Rust Servers, Services and Apps - MEAP](https://www.manning.com/books/rust-servers-services-and-apps) — Build backend servers, services, and front-ends in Rust to get fast, reliable, and maintainable applications.
* [Rust Subreddit](https://www.reddit.com/r/rust/) — A subreddit(forum) where rust related questions, articles and resources are posted and discussed * [Rust Subreddit](https://www.reddit.com/r/rust/) — A subreddit(forum) where rust related questions, articles and resources are posted and discussed
* [RustBooks](https://github.com/sger/RustBooks) — list of RustBooks * [RustBooks](https://github.com/sger/RustBooks) — list of RustBooks
* [RustCamp 2015 Talks](https://www.youtube.com/playlist?list=PLE7tQUdRKcybdIw61JpCoo89i4pWU5f_t) — * [RustCamp 2015 Talks](https://www.youtube.com/playlist?list=PLE7tQUdRKcybdIw61JpCoo89i4pWU5f_t) — Recorded talks from RustCamp 2015
* [RustViz](https://github.com/rustviz/rustviz) — generates visualizations from simple Rust programs to assist users in better understanding the Rust Lifetime and Borrowing mechanism. * [RustViz](https://github.com/rustviz/rustviz) — generates visualizations from simple Rust programs to assist users in better understanding the Rust Lifetime and Borrowing mechanism.
* [Watch Jon Gjengset Implement BitTorrent in Rust](https://www.youtube.com/watch?v=jf_ddGnum_4) — * [Watch Jon Gjengset Implement BitTorrent in Rust](https://www.youtube.com/watch?v=jf_ddGnum_4) — Implementing (part of) a BitTorrent client in Rust
## License ## License

View File

@ -173,6 +173,8 @@ lazy_static! {
static ref GITHUB_API_REGEX: Regex = Regex::new(r"https://api.github.com/").unwrap(); static ref GITHUB_API_REGEX: Regex = Regex::new(r"https://api.github.com/").unwrap();
static ref CRATE_REGEX: Regex = static ref CRATE_REGEX: Regex =
Regex::new(r"https://crates.io/crates/(?P<crate>[^/]+)/?$").unwrap(); Regex::new(r"https://crates.io/crates/(?P<crate>[^/]+)/?$").unwrap();
static ref ITEM_REGEX: Regex =
Regex::new(r"(?P<repo>(\S+)(/\S+)?)(?P<crate> \[\S*\])? — (?P<desc>.+)").unwrap();
} }
#[derive(Deserialize, Debug)] #[derive(Deserialize, Debug)]
@ -580,6 +582,9 @@ async fn main() -> Result<(), Error> {
} }
return Err(format_err!("Not high enough metrics ({:?} stars < {}, and {:?} cargo downloads < {}): {}", github_stars, required_stars, cargo_downloads, MINIMUM_CARGO_DOWNLOADS, list_item)); return Err(format_err!("Not high enough metrics ({:?} stars < {}, and {:?} cargo downloads < {}): {}", github_stars, required_stars, cargo_downloads, MINIMUM_CARGO_DOWNLOADS, list_item));
} }
if !ITEM_REGEX.is_match(&list_item) {
return Err(format_err!("Item does not match the template: {}. See https://github.com/rust-unofficial/awesome-rust/blob/main/CONTRIBUTING.md#tldr", list_item));
}
} }
list_items.last_mut().unwrap().data.push(list_item.clone()); list_items.last_mut().unwrap().data.push(list_item.clone());
list_item = String::new(); list_item = String::new();