mirror of
https://github.com/rust-unofficial/awesome-rust.git
synced 2025-03-10 17:19:28 -04:00
Merge branch 'master' into popularity
This commit is contained in:
commit
e3116d0eac
12 changed files with 194 additions and 124 deletions
22
.editorconfig
Normal file
22
.editorconfig
Normal file
|
@ -0,0 +1,22 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[Cargo.lock]
|
||||
# Just ignore that
|
||||
indent_size = unset
|
||||
|
||||
[LICENSE.txt]
|
||||
# Ignore that too
|
||||
indent_size = unset
|
||||
|
||||
[README.md]
|
||||
indent_size = 2
|
||||
|
||||
[.github/workflows/*.yml]
|
||||
indent_size = 2
|
5
.gitattributes
vendored
5
.gitattributes
vendored
|
@ -0,0 +1,5 @@
|
|||
/.github export-ignore
|
||||
/.gitignore export-ignore
|
||||
/CONTRIBUTING.md export-ignore
|
||||
/.markdownlint.json export-ignore
|
||||
/.editorconfig export-ignore
|
6
.github/workflows/approve.yml
vendored
6
.github/workflows/approve.yml
vendored
|
@ -1,7 +1,7 @@
|
|||
name: Automatic Approve
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
- cron: 0 0 * * *
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
automatic-approve:
|
||||
|
@ -12,5 +12,5 @@ jobs:
|
|||
uses: mheap/automatic-approve-action@v1.1.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
workflows: "rust.yml"
|
||||
dangerous_files: "src/main.rs,Cargo.toml,Cargo.lock"
|
||||
workflows: rust.yml
|
||||
dangerous_files: src/main.rs,Cargo.toml,Cargo.lock
|
||||
|
|
30
.github/workflows/lint.yml
vendored
Normal file
30
.github/workflows/lint.yml
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
name: Lint
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
lint-md:
|
||||
runs-on: ubuntu-latest
|
||||
name: Lint Markdown content
|
||||
steps:
|
||||
- name: Checkout the repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Markdown lint for README
|
||||
uses: docker://avtodev/markdown-lint:v1
|
||||
with:
|
||||
config: ./.markdownlint.json
|
||||
args: ./README.md
|
||||
lint-editorconfig:
|
||||
runs-on: ubuntu-latest
|
||||
name: Lint for editorconfig violations
|
||||
steps:
|
||||
- name: Checkout the repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Check for editorconfig violations
|
||||
uses: editorconfig-checker/action-editorconfig-checker@v1
|
62
.github/workflows/rust.yml
vendored
62
.github/workflows/rust.yml
vendored
|
@ -1,43 +1,41 @@
|
|||
name: Rust
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches:
|
||||
- master
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
|
||||
- cron: 0 0 * * *
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: stable
|
||||
override: true
|
||||
- uses: Swatinem/rust-cache@v1
|
||||
- name: Get random cache id
|
||||
run: echo "CACHE_ID=$((RANDOM))" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
- uses: pat-s/always-upload-cache@v2.1.5
|
||||
with:
|
||||
path: results/results.yaml
|
||||
key: results-${{ hashFiles('Cargo.lock') }}-${{ hashFiles('README.md') }}-${{ env.CACHE_ID }}
|
||||
restore-keys: |
|
||||
results-${{ hashFiles('Cargo.lock') }}-${{ hashFiles('README.md') }}-
|
||||
results-${{ hashFiles('Cargo.lock') }}-
|
||||
results-
|
||||
- name: Build
|
||||
run: cargo build
|
||||
- name: Run
|
||||
run: cargo run
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RUST_LOG: warn
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: stable
|
||||
override: true
|
||||
- uses: Swatinem/rust-cache@v1
|
||||
- name: Get random cache id
|
||||
run: echo "CACHE_ID=$((RANDOM))" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
- uses: pat-s/always-upload-cache@v2.1.5
|
||||
with:
|
||||
path: results/results.yaml
|
||||
key: results-${{ hashFiles('Cargo.lock') }}-${{ hashFiles('README.md') }}-${{ env.CACHE_ID }}
|
||||
restore-keys: |
|
||||
results-${{ hashFiles('Cargo.lock') }}-${{ hashFiles('README.md') }}-
|
||||
results-${{ hashFiles('Cargo.lock') }}-
|
||||
results-
|
||||
- name: Build
|
||||
run: cargo build
|
||||
- name: Run
|
||||
run: cargo run
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RUST_LOG: warn
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
|||
.idea/
|
||||
.vscode/
|
||||
target/
|
10
.markdownlint.json
Normal file
10
.markdownlint.json
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"default": true,
|
||||
"MD004": false,
|
||||
"MD007": false,
|
||||
"MD013": {
|
||||
"line_length": 1000
|
||||
},
|
||||
"MD024": false,
|
||||
"MD032": false
|
||||
}
|
|
@ -14,11 +14,10 @@ If you want to add an entry to the `README.md` please consider this:
|
|||
- if you want to add something, please use the template `[ACCOUNT/REPO](https://github.com/ACCOUNT/REPO) [[CRATE](https://crates.io/crates/CRATE)] — DESCRIPTION`
|
||||
* if you've not published your crate to `crates.io` remove the `[[CRATE](...)]` part.
|
||||
* if you have a CI build, please add the build badge. Put the image after the description, separated by a space. Please make sure to add the branch information to the image:
|
||||
* example for Travis: ` [<img src="https://api.travis-ci.org/XXX/CRATE.svg?branch=master">](https://travis-ci.org/XXX/CRATE)`
|
||||
* for Github actions please see https://docs.github.com/en/actions/managing-workflow-runs/adding-a-workflow-status-badge
|
||||
* example for Travis: `[<img src="https://api.travis-ci.org/XXX/CRATE.svg?branch=master">](https://travis-ci.org/XXX/CRATE)`
|
||||
* for Github actions please see [adding-a-workflow-status-badge](https://docs.github.com/en/actions/managing-workflow-runs/adding-a-workflow-status-badge)
|
||||
- please pay attention to the alphabetical ordering.
|
||||
|
||||
|
||||
## Removing projects
|
||||
|
||||
We don't remove projects unless they are outright broken or pronounced deprecated by another project or by its author.
|
||||
|
|
29
README.md
29
README.md
|
@ -123,7 +123,7 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio
|
|||
* [nicohman/eidolon](https://github.com/nicohman/eidolon) — A steam and drm-free game registry and launcher for linux and macosx [](https://travis-ci.org/nicohman/eidolon)
|
||||
* [notty](https://github.com/withoutboats/notty) — A new kind of terminal
|
||||
* [Pijul](https://pijul.org) — A patch-based distributed version control system
|
||||
* [Rudr](https://github.com/oam-dev/rudr) — A Kubernetes implementation of the [Open Application Model](https://oam.dev/) specification [](https://github.com/oam-dev/rudr/actions)
|
||||
* [Rudr](https://github.com/oam-dev/rudr) — A Kubernetes implementation of the [Open Application Model](https://oam.dev/) specification [](https://github.com/oam-dev/rudr/actions)
|
||||
* [rx](https://github.com/cloudhead/rx) — Vi inspired Modern Pixel Art Editor
|
||||
* [Servo](https://github.com/servo/servo) — A prototype web browser engine
|
||||
* [tiny](https://github.com/osa1/tiny) — A terminal IRC client
|
||||
|
@ -183,11 +183,10 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio
|
|||
* [PumpkinDB](https://github.com/PumpkinDB/PumpkinDB) — an event sourcing database engine
|
||||
* [seppo0010/rsedis](https://github.com/seppo0010/rsedis) — A Redis reimplementation in Rust [](https://travis-ci.org/seppo0010/rsedis)
|
||||
* [Skytable](https://github.com/skytable/skytable) — A multi-model NoSQL database 
|
||||
* [sled](https://crates.io/crates/sled) — A (beta) modern embedded database [](https://github.com/spacejam/s
|
||||
led/actions?workflow=Rust)
|
||||
* [sled](https://crates.io/crates/sled) — A (beta) modern embedded database [](https://github.com/spacejam/sled/actions?workflow=Rust)
|
||||
* [TerminusDB](https://github.com/terminusdb/terminusdb-store) - open source graph database and document store [](https://github.com/terminusdb/terminusdb-store/actions)
|
||||
* [tikv](https://github.com/tikv/tikv) — A distributed KV database in Rust [](https://ci.pingcap.net/job/tikv_ghpr_test/)
|
||||
|
||||
* [WooriDB](https://github.com/naomijub/wooridb) - General purpose time serial database inspired by Crux and Datomic.
|
||||
|
||||
### Emulators
|
||||
|
||||
|
@ -248,6 +247,7 @@ See also [Games Made With Piston](https://github.com/PistonDevelopers/piston/wik
|
|||
|
||||
### Observability
|
||||
|
||||
* [avito-tech/bioyino](https://github.com/avito-tech/bioyino) — A high-performance scalable StatsD compatible server.
|
||||
* [OpenTelemetry](https://crates.io/crates/opentelemetry) — OpenTelemetry provides a single set of APIs, libraries, agents, and collector services to capture distributed traces and metrics from your application. You can analyze them using Prometheus, Jaeger, and other observability tools. [](https://github.com/open-telemetry/opentelemetry-rust/actions?query=workflow%3ACI+branch%3Amaster)
|
||||
* [Scaphandre](https://github.com/hubblo-org/scaphandre) - A power consumption monitoring agent, to track host and each service power consumption and enable designing systems and applications for more sustainability. Designed to fit any monitoring toolchain (already supports prometheus, warp10, riemann...).
|
||||
* [timberio/vector](https://github.com/timberio/vector) — A High-Performance, Logs, Metrics, & Events Router.
|
||||
|
@ -304,6 +304,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/
|
|||
* [mmstick/parallel](https://github.com/mmstick/parallel) — Reimplementation of GNU Parallel
|
||||
* [mmstick/tv-renamer](https://github.com/mmstick/tv-renamer) — A tv series renaming application with an optional GTK3 frontend. [](https://travis-ci.org/mmstick/tv-renamer)
|
||||
* [mxseev/logram](https://github.com/mxseev/logram) — Push log files' updates to Telegram
|
||||
* [nickgerace/gfold](https://github.com/nickgerace/gfold) [[gfold](https://crates.io/crates/gfold)] - CLI tool to help keep track of multiple Git repositories [](https://github.com/nickgerace/gfold/actions?query=workflow%3Amerge+branch%3Amain)
|
||||
* [nivekuil/rip](https://github.com/nivekuil/rip) - A safe and ergonomic alternative to `rm` [](https://travis-ci.org/nivekuil/rip)
|
||||
* [ogham/exa](https://github.com/ogham/exa) — A replacement for 'ls' [](https://travis-ci.org/ogham/exa)
|
||||
* [orhun/kmon](https://github.com/orhun/kmon) — Linux Kernel Manager and Activity Monitor 
|
||||
|
@ -359,11 +360,12 @@ See also [A comparison of operating systems written in Rust](https://github.com/
|
|||
* [fcsonline/tmux-thumbs](https://github.com/fcsonline/tmux-thumbs) — A lightning fast version of tmux-fingers written in Rust, copy/pasting tmux like vimium/vimperator.
|
||||
* [guoxbin/dtool](https://github.com/guoxbin/dtool) — A useful command-line tool collection to assist development including conversion, codec, hashing, encryption, etc. [](https://travis-ci.org/guoxbin/dtool)
|
||||
* [nomino](https://github.com/yaa110/nomino) — Batch rename utility for developers [](https://travis-ci.org/yaa110/nomino)
|
||||
* [raftario/licensor](https://github.com/raftario/licensor) — write licenses to stdout [](https://github.com/
|
||||
raftario/licensor/actions?workflowID=Build)
|
||||
* [raftario/licensor](https://github.com/raftario/licensor) — write licenses to stdout [](https://github.com/raftario/licensor/actions/workflows/build.yml)
|
||||
* [rustdesk/rustdesk](https://github.com/rustdesk/rustdesk) — A remote desktop software, great alternative to TeamViewer and AnyDesk.
|
||||
* [tversteeg/emplace](https://github.com/tversteeg/emplace) — Synchronize installed packages on multiple machines
|
||||
* [unrelentingtech/freepass](https://github.com/unrelentingtech/freepass) — The free password manager for power users.
|
||||
* [vamolessa/verco](https://github.com/vamolessa/verco) [[verco](https://crates.io/crates/verco)] — A simple Git/Hg tui client focused on keyboard shortcuts
|
||||
* [vaultwarden](https://github.com/dani-garcia/vaultwarden#readme) [](https://github.com/dani-garcia/vaultwarden/actions/workflows/build.yml) — Alternative implementation of the Bitwarden server API written in Rust
|
||||
* [yaa110/cb](https://github.com/yaa110/cb) — Command line interface to manage clipboard [](https://travis-ci.org/yaa110/cb)
|
||||
|
||||
### Video
|
||||
|
@ -657,6 +659,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_
|
|||
[[astronomy](https://crates.io/keywords/astronomy)]
|
||||
|
||||
* [fitsio](https://crates.io/crates/fitsio) — fits interface library wrapping cfitsio [](https://travis-ci.org/mindriot101/rust-fitsio)
|
||||
* [flosse/rust-sun](https://github.com/flosse/rust-sun) [[sun](https://crates.io/crates/sun)] — A rust port of the JS library suncalc [](https://travis-ci.org/flosse/rust-sun)
|
||||
* [saurvs/astro-rust](https://github.com/saurvs/astro-rust) — astronomy for Rust [](https://travis-ci.org/saurvs/astro-rust)
|
||||
|
||||
### Asynchronous
|
||||
|
@ -682,6 +685,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_
|
|||
* [RustAudio/cpal](https://github.com/RustAudio/cpal) - Low-level cross-platform audio I/O library in pure Rust. [](https://github.com/RustAudio/cpal/actions)
|
||||
* [RustAudio/rodio](https://github.com/RustAudio/rodio) — A Rust audio playback library [](https://travis-ci.org/RustAudio/rodio)
|
||||
* [RustAudio/rust-portaudio](https://github.com/RustAudio/rust-portaudio) — [PortAudio](http://www.portaudio.com/) bindings [](https://travis-ci.org/RustAudio/rust-portaudio)
|
||||
|
||||
### Authentication
|
||||
|
||||
* [Keats/jsonwebtoken](https://github.com/Keats/jsonwebtoken) — [JSON Web Token](https://en.wikipedia.org/wiki/JSON_Web_Token) lib in rust [](https://travis-ci.org/Keats/jsonwebtoken)
|
||||
|
@ -721,6 +725,8 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_
|
|||
|
||||
* AWS [[aws](https://crates.io/keywords/aws)]
|
||||
* [rusoto/rusoto](https://github.com/rusoto/rusoto) — [](https://travis-ci.org/rusoto/rusoto)
|
||||
* Load Balancer
|
||||
* [Convey](https://github.com/bparli/convey) - Layer 4 Load Balancer with dynamic configuration loading.
|
||||
|
||||
### Command-line
|
||||
|
||||
|
@ -773,7 +779,6 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_
|
|||
* [gchp/rustbox](https://github.com/gchp/rustbox) [[rustbox](https://crates.io/crates/rustbox)] — bindings to [Termbox](https://github.com/nsf/termbox) [](https://travis-ci.org/gchp/rustbox)
|
||||
* [TimonPost/crossterm](https://github.com/crossterm-rs/crossterm) [[crossterm](https://crates.io/crates/crossterm)] — crossplatform terminal library
|
||||
|
||||
|
||||
### Compression
|
||||
|
||||
* [Brotli](https://opensource.googleblog.com/2015/09/introducing-brotli-new-compression.html)
|
||||
|
@ -1021,8 +1026,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_
|
|||
* [media-io/yaserde](https://github.com/media-io/yaserde) — Yet Another Serializer/Deserializer specialized for XML [](https://travis-ci.org/media-io/yaserde)
|
||||
* [netvl/xml-rs](https://github.com/netvl/xml-rs) — A streaming XML library [](https://travis-ci.org/netvl/xml-rs)
|
||||
* [shepmaster/sxd-document](https://github.com/shepmaster/sxd-document) — An XML library in Rust [](https://travis-ci.org/shepmaster/sxd-document)
|
||||
* [shepmaster/sxd-xpath](https://github.com/shepmaster/sxd-xpath) — An XPath library in Rust [](https://tr
|
||||
avis-ci.org/shepmaster/sxd-xpath)
|
||||
* [shepmaster/sxd-xpath](https://github.com/shepmaster/sxd-xpath) — An XPath library in Rust [](https://travis-ci.org/shepmaster/sxd-xpath)
|
||||
* [tafia/quick-xml](https://github.com/tafia/quick-xml) — High performance XML pull reader/writer [](https://travis-ci.org/tafia/quick-xml)
|
||||
* YAML
|
||||
* [chyh1990/yaml-rust](https://github.com/chyh1990/yaml-rust) — The missing YAML 1.2 implementation for Rust. [](https://travis-ci.org/chyh1990/yaml-rust)
|
||||
|
@ -1044,6 +1048,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_
|
|||
* [zboxfs/zbox](https://github.com/zboxfs/zbox) [[zbox](https://crates.io/crates/zbox)] — Zero-details, privacy-focused embeddable file system. [](https://travis-ci.org/zboxfs/zbox)
|
||||
|
||||
### Functional Programming
|
||||
|
||||
[[functional programming](https://crates.io/keywords/fp)]
|
||||
* Prelude
|
||||
* [JasonShin/fp-core.rs](https://github.com/JasonShin/fp-core.rs) — A library for functional programming in Rust [](https://travis-ci.com/JasonShin/fp-core.rs)
|
||||
|
@ -1079,7 +1084,7 @@ See also [Are we game yet?](https://arewegameyet.rs)
|
|||
* [brson/rust-sdl](https://github.com/brson/rust-sdl) — SDL1 bindings [](https://travis-ci.org/brson/rust-sdl)
|
||||
* [Rust-SDL2/rust-sdl2](https://github.com/Rust-SDL2/rust-sdl2) — SDL2 bindings [](https://travis-ci.org/Rust-SDL2/rust-sdl2)
|
||||
* SFML
|
||||
* [jeremyletang/rust-sfml](https://github.com/jeremyletang/rust-sfml) — [SFML](https://www.sfml-dev.org/) bindings [](https://travis-ci.org/jeremyletang/rust-sfml)
|
||||
* [jeremyletang/rust-sfml](https://github.com/jeremyletang/rust-sfml) — [SFML](https://www.sfml-dev.org/) bindings
|
||||
* Tcod-rs
|
||||
* [tomassedovic/tcod-rs](https://github.com/tomassedovic/tcod-rs) — Libtcod bindings for Rust.
|
||||
* Victorem
|
||||
|
@ -1091,7 +1096,7 @@ See also [Are we game yet?](https://arewegameyet.rs)
|
|||
|
||||
* [DaveKram/coord_transforms](https://github.com/DaveKram/coord_transforms) [[coord_transforms](https://crates.io/crates/coord_transforms)] — coordinate transformations (2-d, 3-d, and geospatial) [](https://travis-ci.org/DaveKram/coord_transforms)
|
||||
* [Georust](https://github.com/georust) — geospatial tools and libraries written in Rust
|
||||
* [rust-reverse-geocoder](https://github.com/gx0r/rrgeo) — A fast, offline reverse geocoder in Rust, inspired by https://github.com/thampiman/reverse-geocoder
|
||||
* [rust-reverse-geocoder](https://github.com/gx0r/rrgeo) — A fast, offline reverse geocoder in Rust, inspired by [thampiman/reverse-geocoder](https://github.com/thampiman/reverse-geocoder)
|
||||
* [vlopes11/geomorph](https://github.com/vlopes11/geomorph) [[geomorph](https://crates.io/crates/geomorph)] — conversion between UTM, LatLon and MGRS coordinates [](https://travis-ci.org/vlopes11/geomorph)
|
||||
|
||||
### Graphics
|
||||
|
@ -1267,7 +1272,7 @@ See also [Are we game yet?](https://arewegameyet.rs)
|
|||
* [pest-parser/pest](https://github.com/pest-parser/pest) — The Elegant Parser [](https://travis-ci.org/pest-parser/pest)
|
||||
* [ptal/oak](https://github.com/ptal/oak) — A typed PEG parser generator (compiler plugin)
|
||||
* [replicadse/wavefront_rs](https://github.com/replicadse/wavefront_rs) — A parser for the Wavefront OBJ format. [](https://crates.io/crates/wavefront_rs) [](https://crates.io/crates/wavefront_rs) [](https://github.com/replicadse/wavefront_rs/actions)
|
||||
* [s-panferov/queryst](https://github.com/s-panferov/queryst) — A query string parsing library for Rust inspired by https://github.com/ljharb/qs
|
||||
* [s-panferov/queryst](https://github.com/s-panferov/queryst) — A query string parsing library for Rust inspired by [gs](https://github.com/ljharb/qs#readme)
|
||||
* [softdevteam/grmtools](https://github.com/softdevteam/grmtools/) - A LR parser with better error correction
|
||||
|
||||
### Peripherals
|
||||
|
|
Loading…
Add table
Reference in a new issue