From ea809b8d7d4bb3a5defec60ed815d915c4ce84fd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 28 Oct 2019 15:14:15 -0400 Subject: [PATCH 01/65] Add Rudr. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e129400..b24c19b 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,7 @@ See also [Rust — Production](https://www.rust-lang.org/production)(organizatio * [notty](https://github.com/withoutboats/notty) — A new kind of terminal * [Pijul](https://pijul.org) — A patch-based distributed version control system * [rsign](https://crates.io/crates/rsign) — A simple command-line tool used to generate/sign/verify digital signatures designed to be compatible with Minisign [![Codeship Status for danielrangel/rsign](https://app.codeship.com/projects/60b28d80-7645-0135-4402-1639b58199d0/status?branch=master)](https://app.codeship.com/projects/244452) +* [Rudr](https://github.com/oam-dev/rudr) - A Kubernetes implementation of the [Open Application Model](https://openappmodel.io/) specification * [Sandstorm Collections App](https://github.com/sandstorm-io/collections-app) * [Servo](https://github.com/servo/servo) — A prototype web browser engine * [trust-dns](https://crates.io/crates/trust-dns) — A DNS-server [](https://travis-ci.org/bluejekyll/trust-dns) From e41067fc592372b5a12d83812d6f11d68d9fbe57 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 28 Oct 2019 15:29:06 -0400 Subject: [PATCH 02/65] Add GitHub Actions status link for Rudr. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b24c19b..7bcc5e3 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ See also [Rust — Production](https://www.rust-lang.org/production)(organizatio * [notty](https://github.com/withoutboats/notty) — A new kind of terminal * [Pijul](https://pijul.org) — A patch-based distributed version control system * [rsign](https://crates.io/crates/rsign) — A simple command-line tool used to generate/sign/verify digital signatures designed to be compatible with Minisign [![Codeship Status for danielrangel/rsign](https://app.codeship.com/projects/60b28d80-7645-0135-4402-1639b58199d0/status?branch=master)](https://app.codeship.com/projects/244452) -* [Rudr](https://github.com/oam-dev/rudr) - A Kubernetes implementation of the [Open Application Model](https://openappmodel.io/) specification +* [Rudr](https://github.com/oam-dev/rudr) - A Kubernetes implementation of the [Open Application Model](https://openappmodel.io/) specification [](https://github.com/oam-dev/rudr/workflows/Rust/badge.svg) * [Sandstorm Collections App](https://github.com/sandstorm-io/collections-app) * [Servo](https://github.com/servo/servo) — A prototype web browser engine * [trust-dns](https://crates.io/crates/trust-dns) — A DNS-server [](https://travis-ci.org/bluejekyll/trust-dns) From 3f808a54a8ac70c72d3b0e7c98108e2f3e2122f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Th=C3=A9riault?= Date: Tue, 29 Oct 2019 13:40:53 -0400 Subject: [PATCH 03/65] Added licensor Also took the opportunity to reorder the Applications/Utilities section in alphabetical order --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1e019da..68bdee6 100644 --- a/README.md +++ b/README.md @@ -320,19 +320,20 @@ See also [A comparison of operating systems written in Rust](https://github.com/ ### Utilities +* [aleshaleksey/AZDice](https://github.com/aleshaleksey/AZDice) — A dice roll success distribution generator for tabletop homebrewers. [](https://travis-ci.org/aleshaleksey/AZDice) +* [yaa110/cb](https://github.com/yaa110/cb) — Command line interface to manage clipboard [![Build Status](https://api.travis-ci.org/yaa110/cb.svg?branch=master)](https://travis-ci.org/yaa110/cb) * [brycx/checkpwn](https://github.com/brycx/checkpwn) — A Have I Been Pwned (HIBP) command-line utility tool that lets you easily check for compromised accounts and passwords. * [evansmurithi/cloak](https://github.com/evansmurithi/cloak) — A Command Line OTP (One Time Password) Authenticator application. [](https://travis-ci.com/evansmurithi/cloak) [](https://ci.appveyor.com/project/evansmurithi/cloak) * [arthrp/consoletimer](https://github.com/arthrp/consoleTimer) - Simple timer for your terminal. [](https://travis-ci.org/arthrp/consoleTimer) * [myfreeweb/freepass](https://github.com/myfreeweb/freepass) — The free password manager for power users. [](https://travis-ci.org/myfreeweb/freepass) +* [raftario/licensor](https://github.com/raftario/licensor) - write licenses to stdout [![GitHub Actions](https://github.com/raftario/licensor/workflows/Build/badge.svg)](https://github.com/raftario/licensor/actions?workflowID=Build) * [arthrp/quick-skeleton](https://github.com/arthrp/quick-skeleton) — Project scaffolding tool, similar to Yeoman and Slush. [](https://travis-ci.org/arthrp/quick-skeleton) +* [repoch](https://github.com/lucawen/repoch) — Convert epoch to datetime and datetime to epoch [](https://travis-ci.com/lucawen/repoch/) * [yaa110/rubigo](https://github.com/yaa110/rubigo) — Golang dependency tool and package manager, written in Rust [](https://travis-ci.org/yaa110/rubigo) * [whitfin/s3-concat](https://github.com/whitfin/s3-concat) — A command line tool to concatenate Amazon S3 files remotely using flexible patterns. * [whitfin/s3-meta](https://github.com/whitfin/s3-meta) — A command line tool to gather metadata about your Amazon S3 buckets. -* [amar-laksh/workstation](https://github.com/amar-laksh/workstation) — A commandline tool to help you manage your workstation by distancing you from your screen, locking your screen when you aren't there among other things with OPENCV! -* [aleshaleksey/AZDice](https://github.com/aleshaleksey/AZDice) — A dice roll success distribution generator for tabletop homebrewers. [](https://travis-ci.org/aleshaleksey/AZDice) * [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. -* [repoch](https://github.com/lucawen/repoch) — Convert epoch to datetime and datetime to epoch [](https://travis-ci.com/lucawen/repoch/) -* [yaa110/cb](https://github.com/yaa110/cb) — Command line interface to manage clipboard [![Build Status](https://api.travis-ci.org/yaa110/cb.svg?branch=master)](https://travis-ci.org/yaa110/cb) +* [amar-laksh/workstation](https://github.com/amar-laksh/workstation) — A commandline tool to help you manage your workstation by distancing you from your screen, locking your screen when you aren't there among other things with OPENCV! ### Video From 29903737db70320aa99dc657576978d6627016c4 Mon Sep 17 00:00:00 2001 From: Bruno Bigras Date: Tue, 29 Oct 2019 18:03:36 -0400 Subject: [PATCH 04/65] update starship's build status badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e019da..bac46f8 100644 --- a/README.md +++ b/README.md @@ -718,7 +718,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [FGRibreau/spinners](https://github.com/FGRibreau/spinners) [[spinners](https://crates.io/crates/spinners)] — 60+ elegant terminal spinners * Prompt * [hashmismatch/terminal_cli.rs](https://github.com/hashmismatch/terminal_cli.rs) [[terminal_cli](https://crates.io/crates/terminal_cli)] — build an interactive command prompt [](https://travis-ci.org/hashmismatch/terminal_cli.rs) - * [starship/starship](https://starship.rs/) [[starship](https://crates.io/crates/starship)] — A minimal, blazing fast, and extremely customizable prompt for any shell [![Build status](https://badgen.net/azure-pipelines/starship-control/starship/Starship%20Test%20Suite)](https://dev.azure.com/starship-control/starship/_build) + * [starship/starship](https://starship.rs/) [[starship](https://crates.io/crates/starship)] — A minimal, blazing fast, and extremely customizable prompt for any shell [![Build status](https://github.com/starship/starship/workflows/Main%20workflow/badge.svg)](https://github.com/starship/starship/actions) * Style * [ogham/rust-ansi-term](https://github.com/ogham/rust-ansi-term) [[ansi_term](https://crates.io/crates/ansi_term)] — control colours and formatting on ANSI terminals [](https://travis-ci.org/ogham/rust-ansi-term) * [LukasKalbertodt/term-painter](https://github.com/LukasKalbertodt/term-painter) [[term-painter](https://crates.io/crates/term-painter)] — cross-platform styled terminal output [](https://travis-ci.org/LukasKalbertodt/term-painter) From 58879f962bc1401cd01b3f247170b6544c2a7e8c Mon Sep 17 00:00:00 2001 From: Dendi Suhubdy Date: Thu, 31 Oct 2019 00:40:29 +0700 Subject: [PATCH 05/65] adding websocket core --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e019da..1f46c81 100644 --- a/README.md +++ b/README.md @@ -1346,6 +1346,7 @@ See also [Are we web yet?](http://www.arewewebyet.org) and [Rust web framework c * [snapview/tungstenite-rs](https://github.com/snapview/tungstenite-rs) — Lightweight stream-based WebSocket implementation for Rust. * [vi/websocat](https://github.com/vi/websocat) — CLI for interacting with WebSockets, with functionality of Netcat, Curl and Socat. [](https://travis-ci.org/vi/websocat) * [vityafx/urlshortener-rs](https://github.com/vityafx/urlshortener-rs) [[urlshortener](https://crates.io/crates/urlshortener)] — A very simple urlshortener library for Rust. [](https://travis-ci.org/vityafx/urlshortener-rs) + * [bitwyre/websocket_core](https://github.com/bitwyre/websocket_core) — Websocket generic server library for periodic message broadcast. [](https://github.com/bitwyre/websocket_core/actions) * Miscellaneous * [cargonauts](https://github.com/cargonauts-rs/cargonauts) — A web framework intended for building maintainable, well-factored web apps. * [pyros2097/rust-embed](https://github.com/pyros2097/rust-embed) — A macro to embed static assets into the rust binary From 703e354e57ddfa50d2f6c434e5c147169cde8033 Mon Sep 17 00:00:00 2001 From: Igor Perikov Date: Sat, 2 Nov 2019 14:31:36 +0300 Subject: [PATCH 06/65] add QUIC (HTTP/3) implementations --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 1e019da..162c7cb 100644 --- a/README.md +++ b/README.md @@ -1205,6 +1205,10 @@ See also [Are we game yet?](http://arewegameyet.com) * [Covertness/coap-rs](https://github.com/Covertness/coap-rs) — A [Constrained Application Protocol(CoAP)](https://tools.ietf.org/html/rfc7252) library for Rust. [](https://travis-ci.org/Covertness/coap-rs) * RPC * [smallnest/rpcx-rs](https://github.com/smallnest/rpcx-rs) — A RPC library for Rust for developing microservices in easy and simple way. [](https://travis-ci.org/smallnest/rpcx-rs) +* QUIC + * [cloudflare/quiche](https://github.com/cloudflare/quiche) - cloudflare implementation of the QUIC transport protocol and HTTP/3 [](https://travis-ci.com/cloudflare/quiche) + * [djc/quinn](https://github.com/djc/quinn) - Futures-based QUIC implementation in Rust [](https://dev.azure.com/dochtman/Projects/_build/latest?definitionId=1&branchName=master) + * [mozilla/neqo](https://github.com/mozilla/neqo) - an Implementation of QUIC written in Rust ### Parsing From 5a3f33d69c8beb3dd3ded2d9c157f9b0373c7ae6 Mon Sep 17 00:00:00 2001 From: Igor Perikov Date: Sat, 2 Nov 2019 14:51:40 +0300 Subject: [PATCH 07/65] use api.travis --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 162c7cb..84972c0 100644 --- a/README.md +++ b/README.md @@ -1206,7 +1206,7 @@ See also [Are we game yet?](http://arewegameyet.com) * RPC * [smallnest/rpcx-rs](https://github.com/smallnest/rpcx-rs) — A RPC library for Rust for developing microservices in easy and simple way. [](https://travis-ci.org/smallnest/rpcx-rs) * QUIC - * [cloudflare/quiche](https://github.com/cloudflare/quiche) - cloudflare implementation of the QUIC transport protocol and HTTP/3 [](https://travis-ci.com/cloudflare/quiche) + * [cloudflare/quiche](https://github.com/cloudflare/quiche) - cloudflare implementation of the QUIC transport protocol and HTTP/3 [](https://travis-ci.com/cloudflare/quiche) * [djc/quinn](https://github.com/djc/quinn) - Futures-based QUIC implementation in Rust [](https://dev.azure.com/dochtman/Projects/_build/latest?definitionId=1&branchName=master) * [mozilla/neqo](https://github.com/mozilla/neqo) - an Implementation of QUIC written in Rust From 494d91fed0b03e1cf63ae855ae2533255030c183 Mon Sep 17 00:00:00 2001 From: Igor Perikov Date: Sat, 2 Nov 2019 15:18:12 +0300 Subject: [PATCH 08/65] try to fix dev.azure --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 84972c0..ad527b9 100644 --- a/README.md +++ b/README.md @@ -1207,7 +1207,7 @@ See also [Are we game yet?](http://arewegameyet.com) * [smallnest/rpcx-rs](https://github.com/smallnest/rpcx-rs) — A RPC library for Rust for developing microservices in easy and simple way. [](https://travis-ci.org/smallnest/rpcx-rs) * QUIC * [cloudflare/quiche](https://github.com/cloudflare/quiche) - cloudflare implementation of the QUIC transport protocol and HTTP/3 [](https://travis-ci.com/cloudflare/quiche) - * [djc/quinn](https://github.com/djc/quinn) - Futures-based QUIC implementation in Rust [](https://dev.azure.com/dochtman/Projects/_build/latest?definitionId=1&branchName=master) + * [djc/quinn](https://github.com/djc/quinn) - Futures-based QUIC implementation in Rust [](https://dev.azure.com/dochtman/Projects/_build) * [mozilla/neqo](https://github.com/mozilla/neqo) - an Implementation of QUIC written in Rust ### Parsing From 685826ccfd5d347b88d001a68ecf705bd532b31e Mon Sep 17 00:00:00 2001 From: colbyn Date: Sun, 3 Nov 2019 15:00:35 -0700 Subject: [PATCH 09/65] Added Image processing subsection of Applications, along with its first entry, Imager. --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 1e019da..6537b70 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ If you want to contribute, please read [this](CONTRIBUTING.md). - [System tools](#system-tools) - [Text editors](#text-editors) - [Text processing](#text-processing) + - [Image processing](#image-processing) - [Utilities](#utilities) - [Video](#video) - [Virtualization](#virtualization) @@ -318,6 +319,10 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [vishaltelangre/ff](https://github.com/vishaltelangre/ff) — Find files (ff) by name! [](https://travis-ci.org/vishaltelangre/ff) * [xsv](https://crates.io/crates/xsv) — A fast CSV command line tool (slicing, indexing, selecting, searching, sampling, etc.) [](https://travis-ci.org/BurntSushi/xsv) +### Image processing + +* [Imager](https://github.com/imager-io/imager) - Brute force image optimization + ### Utilities * [brycx/checkpwn](https://github.com/brycx/checkpwn) — A Have I Been Pwned (HIBP) command-line utility tool that lets you easily check for compromised accounts and passwords. From eb1790dfa32b233bb98f468cfeef3cf48b428008 Mon Sep 17 00:00:00 2001 From: Reugn Date: Thu, 7 Nov 2019 21:41:42 +0200 Subject: [PATCH 10/65] Add rspark library MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ▁▂▆▇▁▄█▁ Sparklines for Rust apps. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1e019da..b565d88 100644 --- a/README.md +++ b/README.md @@ -700,6 +700,8 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [docopt/docopt.rs](https://github.com/docopt/docopt.rs) [[docopt](https://crates.io/crates/docopt)] — A Rust implementation of [DocOpt](http://docopt.org) [](https://travis-ci.org/docopt/docopt.rs) * [TeXitoi/structopt](https://github.com/TeXitoi/structopt) [[structopt](https://crates.io/crates/structopt)] — parse command line argument by defining a struct [](https://travis-ci.org/TeXitoi/structopt) * [killercup/quicli](https://github.com/killercup/quicli) [[quicli](https://crates.io/crates/quicli)] — quickly build cool CLI apps in Rust [](https://travis-ci.org/killercup/quicli) +* Data visualization + * [reugn/rspark](https://github.com/reugn/rspark) [[rspark](https://crates.io/crates/rspark)] - ▁▂▆▇▁▄█▁ Sparklines for Rust apps [](https://travis-ci.org/reugn/rspark) * Human-centered design * [rust-cli/human-panic](https://github.com/rust-cli/human-panic) [[human-panic](https://crates.io/crates/human-panic)] — panic messages for humans [](https://travis-ci.org/rust-cli/human-panic) * Line editor From 211bb182590f64925f8815e70d897b482d4f28b9 Mon Sep 17 00:00:00 2001 From: Isaac Whitfield Date: Thu, 7 Nov 2019 16:41:53 -0800 Subject: [PATCH 11/65] Add s3-utils --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e019da..62fc6a4 100644 --- a/README.md +++ b/README.md @@ -328,6 +328,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [yaa110/rubigo](https://github.com/yaa110/rubigo) — Golang dependency tool and package manager, written in Rust [](https://travis-ci.org/yaa110/rubigo) * [whitfin/s3-concat](https://github.com/whitfin/s3-concat) — A command line tool to concatenate Amazon S3 files remotely using flexible patterns. * [whitfin/s3-meta](https://github.com/whitfin/s3-meta) — A command line tool to gather metadata about your Amazon S3 buckets. +* [whitfin/s3-utils](https://github.com/whitfin/s3-utils) - A small tool containing utilities based around Amazon S3 to provide additional convenience APIs. * [amar-laksh/workstation](https://github.com/amar-laksh/workstation) — A commandline tool to help you manage your workstation by distancing you from your screen, locking your screen when you aren't there among other things with OPENCV! * [aleshaleksey/AZDice](https://github.com/aleshaleksey/AZDice) — A dice roll success distribution generator for tabletop homebrewers. [](https://travis-ci.org/aleshaleksey/AZDice) * [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. From 72a05ebb6bc057832e360e84593872d695b253ee Mon Sep 17 00:00:00 2001 From: Ofek Lev Date: Sun, 10 Nov 2019 11:19:49 -0500 Subject: [PATCH 12/65] Fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e019da..749a5d5 100644 --- a/README.md +++ b/README.md @@ -1302,7 +1302,7 @@ See also [Are we game yet?](http://arewegameyet.com) ### Virtualization * [beneills/quantum](https://github.com/beneills/quantum) — Advanced Rust quantum computer simulator [](https://travis-ci.org/beneills/quantum) -* [chromium/chromiumos/platform/crosvm](https://chromium.googlesource.com/chromiumos/platform/crosvm/) CrOSVM - Enables Chrome OS to run Linux apps inside a fast, sercure virtualized environment +* [chromium/chromiumos/platform/crosvm](https://chromium.googlesource.com/chromiumos/platform/crosvm/) CrOSVM - Enables Chrome OS to run Linux apps inside a fast, secure virtualized environment * [ekse/unicorn-rs](https://github.com/ekse/unicorn-rs) — Rust bindings for the unicorn CPU emulator * [saurvs/hypervisor-rs](https://github.com/saurvs/hypervisor-rs) — Hardware-accelerated virtualization on OS X From 3fbc06f1b6481d71b6a3abbf20e7de1aa1a01d64 Mon Sep 17 00:00:00 2001 From: Aram Drevekenin Date: Wed, 13 Nov 2019 16:35:47 +0100 Subject: [PATCH 13/65] Add what --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e019da..087769a 100644 --- a/README.md +++ b/README.md @@ -296,6 +296,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [m4b/bingrep](https://github.com/m4b/bingrep) — Greps through binaries from various OSs and architectures, and colors them. [](https://travis-ci.org/m4b/bingrep) * [uutils/coreutils](https://github.com/uutils/coreutils) — A cross-platform Rust rewrite of the GNU coreutils [](https://travis-ci.org/uutils/coreutils) * [watchexec](https://github.com/watchexec/watchexec) — Executes commands in response to file modifications [](https://travis-ci.org/watchexec/watchexec) +* [what](https://crates.io/crates/what) — A command line network bandwidth monitor [](https://travis-ci.com/imsnif/what) * [XAMPPRocky/tokei](https://github.com/XAMPPRocky/tokei) — counts the lines of code [](https://travis-ci.org/XAMPPRocky/tokei) ### Text editors From dfac95ca459bead3268377b640eab70a2c9b229e Mon Sep 17 00:00:00 2001 From: ccc Date: Sat, 16 Nov 2019 12:22:10 +0800 Subject: [PATCH 14/65] Add etcd-rs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e019da..1d1bc88 100644 --- a/README.md +++ b/README.md @@ -838,6 +838,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [elastic-rs/elastic-reqwest](https://github.com/elastic-rs/elastic-reqwest) [[elastic_reqwest](https://crates.io/crates/elastic_reqwest)] — A lightweight implementation of the Elasticsearch API based on Reqwest [](https://travis-ci.org/elastic-rs/elastic-reqwest) * etcd * [jimmycuadra/rust-etcd](https://github.com/jimmycuadra/rust-etcd) [[etcd](https://crates.io/crates/etcd)] — A client library for CoreOS's etcd. [](https://travis-ci.org/jimmycuadra/rust-etcd) + * [ccc13/etcd-rs](https://github.com/ccc13/etcd-rs) — An asynchronous etcd client for rust [](https://travis-ci.org/ccc13/etcd-rs) * ForestDB * [vhbit/sherwood](https://github.com/vhbit/sherwood) — [ForestDB](https://github.com/couchbase/forestdb) bindings [](https://travis-ci.org/vhbit/sherwood) * [InfluxDB](https://www.influxdata.com/) From 33ee16d495acd2bf35c768b235a62de320c2ee6c Mon Sep 17 00:00:00 2001 From: Peter Kalivas Date: Tue, 19 Nov 2019 08:04:49 -0600 Subject: [PATCH 15/65] Update README.md Added a link to a new crate I have recently released for genetic algorithms. Took some inspiration from this page and so wanted to be a apart of it also. The project is being developed pretty consistently so I think it would also benefit from the eyes of others, hopefully this list will give it some reach to those who can help build/make use of it! --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d4d6068..790f3bb 100644 --- a/README.md +++ b/README.md @@ -606,6 +606,8 @@ See also [Are we (I)DE yet?](https://areweideyet.com/) and [Rust Tools](https:// * [m-decoster/RsGenetic](https://github.com/m-decoster/RsGenetic) — Genetic Algorithm library in Rust. In maintenance mode. * [mneumann/evo-rs](https://github.com/mneumann/evo-rs) — Evolutionary Algorithm Library for Rust. Without changes for 3 years. * [yurytsoy/revonet](https://github.com/yurytsoy/revonet) — Rust implementation of real-coded GA for solving optimization problems and training of neural networks. +* [pkalivas/radiate](https://github.com/pkalivas/radiate) - A customizable parallel genetic programming engine capable of evolving solutions for supervised, unsupervised, and reinforcement learning problems. Comes with complete and customizable implementation of NEAT and Evtree. [![Build Status](https://travis-ci.com/pkalivas/radiate.svg?branch=master)](https://travis-ci.com/pkalivas/radiate) +![Crates.io](https://img.shields.io/crates/v/radiate) #### Machine learning From 022b5be58df943bb7b2be9740e9dc91fc2e28937 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Mart=C3=ADn=20Pozo=20Delgado?= Date: Sat, 23 Nov 2019 10:44:24 +0000 Subject: [PATCH 16/65] Add the genetic programming library radiate --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index d4d6068..a29d087 100644 --- a/README.md +++ b/README.md @@ -607,6 +607,9 @@ See also [Are we (I)DE yet?](https://areweideyet.com/) and [Rust Tools](https:// * [mneumann/evo-rs](https://github.com/mneumann/evo-rs) — Evolutionary Algorithm Library for Rust. Without changes for 3 years. * [yurytsoy/revonet](https://github.com/yurytsoy/revonet) — Rust implementation of real-coded GA for solving optimization problems and training of neural networks. +#### Genetic Programming +* [pkalivas/radiate](https://github.com/pkalivas/radiate) — Radiate is a parallel genetic programming engine capable of evolving solutions for supervised, unsupervised, and general reinforcement learning problems. + #### Machine learning [[machine learning](https://crates.io/keywords/machine-learning)] From dcdcebc0f7d2e6d90dc187df88e93e2ffa1bd09b Mon Sep 17 00:00:00 2001 From: Benjamin Quinn Date: Wed, 27 Nov 2019 11:08:32 -0500 Subject: [PATCH 17/65] Add the iced gui library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4d6068..1133be4 100644 --- a/README.md +++ b/README.md @@ -1116,6 +1116,7 @@ See also [Are we game yet?](http://arewegameyet.com) * [saurvs/nfd-rs](https://github.com/saurvs/nfd-rs) — [nativefiledialog](https://github.com/mlabbe/nativefiledialog) bindings * [Sciter](https://sciter.com/) * [sciter-sdk/rust-sciter](https://github.com/sciter-sdk/rust-sciter) — Sciter bindings [](https://ci.appveyor.com/project/sciter-sdk/rust-sciter) +* [hecrj/iced](https://github.com/hecrj/iced) - A cross-platform GUI library for Rust focused on simplicity and type-safety. Inspired by Elm. ### Image processing From bbabb46faad9c742aabe305be0ab060b8ba17270 Mon Sep 17 00:00:00 2001 From: Shohei Ueda <30958501+peaceiris@users.noreply.github.com> Date: Sun, 1 Dec 2019 19:19:40 +0900 Subject: [PATCH 18/65] Add mdBook setup GitHub Action GitHub Actions for mdBook (rust-lang/mdBook) Setup mdBook quickly and build your site fast. Linux (Ubuntu), macOS, and Windows are supported. repo: https://github.com/peaceiris/actions-mdbook --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4d6068..ff17569 100644 --- a/README.md +++ b/README.md @@ -416,6 +416,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [SiegeLord/RustCMake](https://github.com/SiegeLord/RustCMake) — an example project showing usage of CMake with Rust [](https://travis-ci.org/SiegeLord/RustCMake) * Github actions * [icepuma/rust-action](https://github.com/icepuma/rust-action) — rust github action + * [peaceiris/actions-mdbook](https://github.com/peaceiris/actions-mdbook) - GitHub Actions for mdBook * Webpack * [Ralvke/rust-loader](https://github.com/Ralvke/rust-loader) — Webpack Rust loader (wasm) From 8c9f06dd9b33ac9d7e5b9ab9970de054e1dbcff6 Mon Sep 17 00:00:00 2001 From: Folyd Date: Fri, 1 Nov 2019 21:58:38 +0800 Subject: [PATCH 19/65] Add rust-search-extension --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4d6068..cfd9be2 100644 --- a/README.md +++ b/README.md @@ -377,6 +377,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [Rustup](https://github.com/rust-lang/rustup.rs) — the Rust toolchain installer [](https://travis-ci.org/rust-lang/rustup.rs) * [Rust Language Server](https://github.com/rust-lang/rls) — A server that runs in the background, providing IDEs, editors, and other tools with information about Rust programs * [Rust Regex Playground](https://2fd.github.io/rust-regex-playground/#method=find®ex=%5Cw%2B&text=abc) — Web tool to evaluate rust regular expressions +* [Rust Search Extension](https://github.com/Folyd/rust-search-extension) - A handy browser extension to search crates and docs in address bar (omnibox). ![Build Status](https://github.com/folyd/rust-search-extension/workflows/build/badge.svg) * [artifact](https://github.com/vitiral/artifact) — the design doc tool made for developers [![Build Status](https://api.travis-ci.org/vitiral/artifact.svg?branch=master)](https://travis-ci.org/vitiral/artifact) * [semantic-rs](https://github.com/semantic-rs/semantic-rs) — automatic crate publishing [](https://travis-ci.org/semantic-rs/semantic-rs) * [fw](https://github.com/brocode/fw) — workspace productivity booster [](https://travis-ci.org/brocode/fw) From b5f0f819013d9dd860f2fef6a048ea83743dbdf1 Mon Sep 17 00:00:00 2001 From: colbyn Date: Mon, 2 Dec 2019 16:56:53 -0700 Subject: [PATCH 20/65] The Imager CLI has moved into its own repo. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6537b70..2962bea 100644 --- a/README.md +++ b/README.md @@ -321,7 +321,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ ### Image processing -* [Imager](https://github.com/imager-io/imager) - Brute force image optimization +* [Imager](https://github.com/imager-io/imager-tools) - Brute force image optimization ### Utilities From d0641a81988b65540d35a432c2b7073745548e56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Kj=C3=A4ll?= Date: Sun, 8 Dec 2019 12:44:52 +0100 Subject: [PATCH 21/65] Added ripasso Added ripasso, a password manager, under the security section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4d6068..b1ab2d9 100644 --- a/README.md +++ b/README.md @@ -260,6 +260,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [kpcyrd/badtouch](https://github.com/kpcyrd/badtouch) — A scriptable network authentication cracker [](https://travis-ci.org/kpcyrd/badtouch) * [Gymmasssorla/finshir](https://github.com/Hippolot/finshir) — A coroutines-driven Low & Slow traffic generator, written in Rust [](https://travis-ci.com/Gymmasssorla/finshir) * [arvancloud/libinjection-rs](https://github.com/arvancloud/libinjection-rs) — Rust bindings for [libinjection](https://github.com/client9/libinjection) [](https://travis-ci.org/arvancloud/libinjection-rs) +* [ripasso] (https://github.com/cortex/ripasso/) - A password manager, filesystem compatible with pass * [kpcyrd/rshijack](https://github.com/kpcyrd/rshijack) — A TCP connection hijacker, rust rewrite of shijack [](https://travis-ci.org/kpcyrd/rshijack) * [kpcyrd/sniffglue](https://github.com/kpcyrd/sniffglue) — A secure multithreaded packet sniffer [](https://travis-ci.org/kpcyrd/sniffglue) * [kpcyrd/sn0int](https://github.com/kpcyrd/sn0int) — A semi-automatic OSINT framework and package manager [](https://travis-ci.org/kpcyrd/sn0int) From febcc199ee81c6bc7ea7d33e75f7297425ece604 Mon Sep 17 00:00:00 2001 From: Quentin de Quelen Date: Sun, 8 Dec 2019 14:36:49 +0100 Subject: [PATCH 22/65] Add MeiliSearch to text search --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4d6068..3d3ebac 100644 --- a/README.md +++ b/README.md @@ -1294,6 +1294,7 @@ See also [Are we game yet?](http://arewegameyet.com) * [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)] — [](https://travis-ci.org/BurntSushi/fst) +* [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)](https://github.com/meilisearch/MeiliSearch/actions) * [minio/minsql](https://github.com/minio/minsql) — High-performance log search engine. [](https://travis-ci.org/minio/minsql) * [CurrySoftware/perlin](https://github.com/CurrySoftware/perlin) [[perlin](https://crates.io/crates/perlin)] — [](https://travis-ci.org/CurrySoftware/perlin) * [tantivy-search/tantivy](https://github.com/tantivy-search/tantivy) [[tantivy](https://crates.io/crates/tantivy)] — [](https://travis-ci.org/tantivy-search/tantivy) From c99994ed1be77eaffe97c3a67cc0cd56cc3651fa Mon Sep 17 00:00:00 2001 From: Yoshi <33449192+YoshiTheChinchilla@users.noreply.github.com> Date: Fri, 13 Dec 2019 23:56:30 +0900 Subject: [PATCH 23/65] Add hotkey-rs to System tools. close #763 Add unwrittenfun/hotkey-rs to [System tools](https://github.com/rust-unofficial/awesome-rust#system-tools) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4d6068..8c36be6 100644 --- a/README.md +++ b/README.md @@ -290,6 +290,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [pop-os/system76-power](https://github.com/pop-os/system76-power/) — Linux power management daemon (DBus-interface) with CLI tool. * [Ralvke/logram](https://github.com/Ralvke/logram) — Push log files' updates to Telegram [](https://travis-ci.org/Ralvke/logram) * [redox-os/ion](https://github.com/redox-os/ion) — Next-generation system shell [](https://travis-ci.org/redox-os/ion) +* [unwrittenfun/hotkey-rs](https://github.com/unwrittenfun/hotkey-rs) - A library to listen to global hotkeys in Rust * [sharkdp/bat](https://github.com/sharkdp/bat) — A cat(1) clone with wings. [](https://travis-ci.org/sharkdp/bat) * [sharkdp/fd](https://github.com/sharkdp/fd) — A simple, fast and user-friendly alternative to find. [![Build Status](https://api.travis-ci.org/sharkdp/fd.svg?branch=master)](https://travis-ci.org/sharkdp/fd) * [sitkevij/hex](https://github.com/sitkevij/hex) — A colorized hexdump terminal utility. [](https://travis-ci.org/sitkevij/hex) From 3359321bac67d26b7350259c8efb735f9f225bf4 Mon Sep 17 00:00:00 2001 From: Yoshi <33449192+YoshiTheChinchilla@users.noreply.github.com> Date: Sat, 14 Dec 2019 00:02:25 +0900 Subject: [PATCH 24/65] Add ballista to Applications. close #742 Add andygrove/ballista to [Applications](https://github.com/rust-unofficial/awesome-rust#applications). close #742 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8c36be6..56b4a87 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,7 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio * [asm-cli-rust](https://github.com/cch123/asm-cli-rust) — An interactive assembly shell written in rust. * [AnderEnder/s3find-rs](https://github.com/AnderEnder/s3find-rs) — A command line utility to walk an Amazon S3 hierarchy, an analog of find for Amazon S3 [](https://travis-ci.org/AnderEnder/s3find-rs) * [andschwa/rust-genetic-algorithm](https://github.com/andschwa/rust-genetic-algorithm) — A genetic algorithm for academic benchmark problems [](https://travis-ci.org/andschwa/rust-genetic-algorithm) +* [andygrove/ballista](https://github.com/andygrove/ballista) - PoC of distributed compute platform using Rust, Apache Arrow, and Kubernetes! * [cloudflare/boringtun](https://github.com/cloudflare/boringtun) — A Userspace WireGuard VPN Implementation [](https://crates.io/crates/boringtun) * [denoland/deno](https://github.com/denoland/deno) — A secure JavaScript/TypeScript runtime built with V8, Rust, and Tokio [](https://travis-ci.com/denoland/deno) * [ivanceras/diwata](https://github.com/ivanceras/diwata) — A database administration tool for postgresql [](https://travis-ci.org/ivanceras/diwata) From cca1473cb6f3e9dfa9524e7e5dad8b633b43d3ae Mon Sep 17 00:00:00 2001 From: colbyn Date: Thu, 19 Dec 2019 11:50:21 -0700 Subject: [PATCH 25/65] update Imagers link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2962bea..be06137 100644 --- a/README.md +++ b/README.md @@ -321,7 +321,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ ### Image processing -* [Imager](https://github.com/imager-io/imager-tools) - Brute force image optimization +* [Imager](https://github.com/imager-io/imager) - Automated image optimization. ### Utilities From 98e946646b63f67bc05146ae83a7706428a2ddb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Garillot?= Date: Fri, 20 Dec 2019 14:18:00 -0800 Subject: [PATCH 26/65] Add a mention of the MIRAI static analyzer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4d6068..4b89843 100644 --- a/README.md +++ b/README.md @@ -571,6 +571,7 @@ See also [Are we (I)DE yet?](https://areweideyet.com/) and [Rust Tools](https:// [[assert](https://crates.io/keywords/assert), [static](https://crates.io/keywords/static)] +* [facebookexperimental/MIRAI](https://github.com/facebookexperimental/mirai) — an abstract interpreter operating on Rust's mid-level intermediate representation (MIR) [![Build Status](https://api.travis-ci.com/facebookexperimental/MIRAI.svg?branch=master)](https://travis-ci.org/facebookexperimental/MIRAI/) * [static_assertions](https://crates.io/crates/static_assertions) — Compile-time assertions to ensure that invariants are met [![Build Status](https://api.travis-ci.org/nvzqz/static-assertions-rs.svg?branch=master)](https://travis-ci.org/nvzqz/static-assertions-rs/) ### Testing From 5c2c7e4e2762f4428e7774afb1b425415feec94e Mon Sep 17 00:00:00 2001 From: Rui Hu Date: Tue, 24 Dec 2019 00:22:55 -0800 Subject: [PATCH 27/65] Add kdtree-rs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4d6068..7ff1332 100644 --- a/README.md +++ b/README.md @@ -890,6 +890,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [danielpclark/array_tool](https://github.com/danielpclark/array_tool) — Array helpers for Rust. Some of the most common methods you would use on Arrays made available on Vectors. Polymorphic implementations for handling most of your use cases. [](https://travis-ci.org/danielpclark/array_tool) * [fizyk20/generic-array](https://github.com/fizyk20/generic-array) – a hack to allow for arrays sized by typenums [](https://travis-ci.org/fizyk20/generic-array) * [garro95/priority-queue](https://github.com/garro95/priority-queue)[[priority-queue](https://crates.io/crates/priority-queue)] — A priority queue that implements priority changes. [](https://travis-ci.org/garro95/priority-queue) +* [mrhooray/kdtree-rs](https://github.com/mrhooray/kdtree-rs) - K-dimensional tree in Rust for fast geospatial indexing and nearest neighbors lookup * [Nemo157/roaring-rs](https://github.com/Nemo157/roaring-rs) – Roaring Bitmaps in Rust [](https://travis-ci.org/Nemo157/roaring-rs) * [orium/rpds](https://github.com/orium/rpds) [[rpds](https://crates.io/crates/rpds)] — Persistent data structures in Rust. [](https://travis-ci.org/orium/rpds) * [pop-os/progress-streams](https://github.com/pop-os/progress-streams) — Progress callbacks for types which implement `dyn io::Read` or `dyn io::Write`. From 779b6c5e2250a7db19e60e562af0c3aa3ed8e905 Mon Sep 17 00:00:00 2001 From: Andrew Barchuk Date: Tue, 24 Dec 2019 23:38:03 +0100 Subject: [PATCH 28/65] Add dust --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4d6068..2a83cb9 100644 --- a/README.md +++ b/README.md @@ -272,6 +272,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [buster/rrun](https://github.com/buster/rrun) — A command launcher for Linux, similar to gmrun [](https://travis-ci.org/buster/rrun) * [cristianoliveira/funzzy](https://github.com/cristianoliveira/funzzy) — A configurable filesystem watcher inspired by [entr](http://entrproject.org/) [](https://travis-ci.org/cristianoliveira/funzzy) * [dalance/procs](https://github.com/dalance/procs) — A modern replacement for 'ps' written by Rust [](https://dev.azure.com/dalance/procs/_build/results?buildId=250) +* [dust](https://github.com/bootandy/dust) - A more intuitive version of du * [ddh](https://github.com/darakian/ddh) — Fast duplicate file finder [](https://travis-ci.org/darakian/ddh) * [fselect](https://crates.io/crates/fselect) — Find files with SQL-like queries [](https://travis-ci.org/jhspetersson/fselect) * [k0pernicus/zou](https://github.com/k0pernicus/zou) — A download accelerator [](https://travis-ci.org/k0pernicus/zou) From d551f3361833942fd29a07375a257be847b3e725 Mon Sep 17 00:00:00 2001 From: Hirokazu Hata Date: Fri, 27 Dec 2019 12:35:38 +0900 Subject: [PATCH 29/65] Add graphql-client --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4d6068..1cde260 100644 --- a/README.md +++ b/README.md @@ -1320,6 +1320,7 @@ See also [Are we web yet?](http://www.arewewebyet.org) and [Rust web framework c * [yew](https://crates.io/crates/yew) — Rust framework for making client web apps * HTTP Client * [alexcrichton/curl-rust](https://github.com/alexcrichton/curl-rust) — [libcurl](https://curl.haxx.se/libcurl/) bindings [](https://travis-ci.org/alexcrichton/curl-rust) + * [graphql-client](https://github.com/graphql-rust/graphql-client) —Typed, correct GraphQL requests and responses in Rus. [![Github actions Status](https://github.com/graphql-rust/graphql-client/workflows/CI/badge.svg)](https://github.com/graphql-rust/graphql-client/actions) * [hyperium/hyper](https://github.com/hyperium/hyper) — an HTTP implementation [](https://travis-ci.org/hyperium/hyper) * [seanmonstar/reqwest](https://github.com/seanmonstar/reqwest) — an ergonomic HTTP Client for Rust. [](https://travis-ci.org/seanmonstar/reqwest) * [DoumanAsh/yukikaze](https://gitlab.com/Douman/yukikaze) — Beautiful and elegant Yukikaze is little HTTP client library based on hyper. [](https://gitlab.com/Douman/yukikaze) From 37564b7f32e22fd807f367d8a2ee41da7345ffc2 Mon Sep 17 00:00:00 2001 From: Jason Shin Date: Fri, 27 Dec 2019 14:56:11 +1100 Subject: [PATCH 30/65] Add fp-core.rs --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index d4d6068..136bfe9 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,7 @@ If you want to contribute, please read [this](CONTRIBUTING.md). - [Email](#email) - [Encoding](#encoding) - [Filesystem](#filesystem) + - [Functional Programming](#functional-programming) - [Game development](#game-development) - [Geospatial](#geospatial) - [Graphics](#graphics-1) @@ -1014,6 +1015,11 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [Stebalien/xattr](https://github.com/Stebalien/xattr) [[xattr](https://crates.io/crates/xattr)] — list and manipulate unix extended file attributes [](https://travis-ci.org/Stebalien/xattr) * [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 [![Build Status](https://travis-ci.com/JasonShin/fp-core.rs.svg?branch=master)](https://travis-ci.com/JasonShin/fp-core.rs) + ### Game development See also [Are we game yet?](http://arewegameyet.com) From 003cdd8fffacbccd17734249158a5076407375bb Mon Sep 17 00:00:00 2001 From: Aram Drevekenin Date: Mon, 6 Jan 2020 15:45:16 +0100 Subject: [PATCH 31/65] update name --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 087769a..26c393d 100644 --- a/README.md +++ b/README.md @@ -296,7 +296,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [m4b/bingrep](https://github.com/m4b/bingrep) — Greps through binaries from various OSs and architectures, and colors them. [](https://travis-ci.org/m4b/bingrep) * [uutils/coreutils](https://github.com/uutils/coreutils) — A cross-platform Rust rewrite of the GNU coreutils [](https://travis-ci.org/uutils/coreutils) * [watchexec](https://github.com/watchexec/watchexec) — Executes commands in response to file modifications [](https://travis-ci.org/watchexec/watchexec) -* [what](https://crates.io/crates/what) — A command line network bandwidth monitor [](https://travis-ci.com/imsnif/what) +* [bandwhich](https://github.com/imsnif/bandwhich) — Terminal bandwidth utilization tool [](https://travis-ci.com/imsnif/bandwhich) * [XAMPPRocky/tokei](https://github.com/XAMPPRocky/tokei) — counts the lines of code [](https://travis-ci.org/XAMPPRocky/tokei) ### Text editors From 4047f1d2b3e68ab75047bc19813a7612e02cf84e Mon Sep 17 00:00:00 2001 From: Aram Drevekenin Date: Mon, 6 Jan 2020 15:46:34 +0100 Subject: [PATCH 32/65] update alphabetical sorting --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 26c393d..4fc9d8c 100644 --- a/README.md +++ b/README.md @@ -268,6 +268,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ ### System tools +* [bandwhich](https://github.com/imsnif/bandwhich) — Terminal bandwidth utilization tool [](https://travis-ci.com/imsnif/bandwhich) * [brocode/fblog](https://github.com/brocode/fblog) — Small command-line JSON Log viewer [](https://travis-ci.org/brocode/fblog) * [buster/rrun](https://github.com/buster/rrun) — A command launcher for Linux, similar to gmrun [](https://travis-ci.org/buster/rrun) * [cristianoliveira/funzzy](https://github.com/cristianoliveira/funzzy) — A configurable filesystem watcher inspired by [entr](http://entrproject.org/) [](https://travis-ci.org/cristianoliveira/funzzy) @@ -296,7 +297,6 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [m4b/bingrep](https://github.com/m4b/bingrep) — Greps through binaries from various OSs and architectures, and colors them. [](https://travis-ci.org/m4b/bingrep) * [uutils/coreutils](https://github.com/uutils/coreutils) — A cross-platform Rust rewrite of the GNU coreutils [](https://travis-ci.org/uutils/coreutils) * [watchexec](https://github.com/watchexec/watchexec) — Executes commands in response to file modifications [](https://travis-ci.org/watchexec/watchexec) -* [bandwhich](https://github.com/imsnif/bandwhich) — Terminal bandwidth utilization tool [](https://travis-ci.com/imsnif/bandwhich) * [XAMPPRocky/tokei](https://github.com/XAMPPRocky/tokei) — counts the lines of code [](https://travis-ci.org/XAMPPRocky/tokei) ### Text editors From e80d29d80bf10801166bbb1c6dbca6b5fde2f1bf Mon Sep 17 00:00:00 2001 From: Rain Chen Date: Tue, 7 Jan 2020 12:25:41 +0800 Subject: [PATCH 33/65] add CITA into Cryptocurrencies list CITA is a fast and scalable blockchain kernel for enterprises. CITA supports both native contract and EVM contract, by which enterprise users can build their own blockchain applications. CITA has a unique architecture which enables enterprise users to release all their computing resources. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4d6068..2a8cdc6 100644 --- a/README.md +++ b/README.md @@ -141,6 +141,7 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio * [Bitcoin Satoshi's Vision](https://github.com/brentongunning/rust-sv) — A Rust library for working with Bitcoin SV . * [cardano-cli](https://github.com/input-output-hk/cardano-cli) — Cardano Command Line Interface (CLI) * [ChainX](https://github.com/chainx-org/ChainX) — Fully Decentralized Interchain Crypto Asset Management on Polkadot. +* [CITA](https://github.com/citahub/cita) — A high performance blockchain kernel for enterprise users. * [coinbase-pro-rs](https://github.com/inv2004/coinbase-pro-rs) — Coinbase pro client in Rust, supports sync/async/websocket [](https://travis-ci.org/inv2004/coinbase-pro-rs) * [ethaddrgen](https://github.com/Limeth/ethaddrgen) — Custom Ethereum vanity address generator made in Rust [](https://travis-ci.org/Limeth/ethaddrgen) * [Grin](https://github.com/mimblewimble/grin/) — Evolution of the MimbleWimble protocol From 57a7f96ba599693593b5be0ed6b43b826fb68837 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Fri, 10 Jan 2020 23:07:36 +0000 Subject: [PATCH 34/65] Start writing a rust-based url checker --- .gitignore | 3 +- .travis.yml | 6 ++-- Cargo.toml | 9 +++++- README.md | 2 +- src/main.rs | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 94 insertions(+), 7 deletions(-) create mode 100644 src/main.rs diff --git a/.gitignore b/.gitignore index 008f177..409fcf2 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ Cargo.lock target/ cleanup cleanup.exe -ab-results*.json \ No newline at end of file +ab-results*.json +results.yaml \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index a37dd5c..c6e77e5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,2 @@ -language: ruby -before_script: gem install awesome_bot -# `crates.io` needs to be whitelisted, because of https://github.com/rust-lang/crates.io/issues/788 -script: awesome_bot -f README.md --allow-dupe --allow-ssl --white-list crates.io,sciter.com +language: rust +script: cargo run \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index 38962d6..abbf4d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,6 +2,13 @@ name = "awesome-rust" version = "0.1.0" authors = [] +edition = "2018" [dependencies] -pulldown-cmark= "0.0.8" +pulldown-cmark = "0.6" +futures = "0.3" +reqwest = "0.10" +tokio = {version = "0.2", features = ["macros", "rt-core", "rt-threaded"] } +serde = { version = "1.0", features = ["derive"] } +serde_yaml = "0.8" +anyhow = "1.0" \ No newline at end of file diff --git a/README.md b/README.md index 5b1a04a..f62dbf7 100644 --- a/README.md +++ b/README.md @@ -1017,7 +1017,7 @@ See also [Are we game yet?](http://arewegameyet.com) * Corange * [lucidscape/corange-rs](https://github.com/lucidscape/corange-rs) — [Corange](https://github.com/orangeduck/Corange) bindings * Entity-Component Systems (ECS) - * [slide-rs/specs](https://github.com/amethyst/specs) — Specs Parallel ECS [](httpsL//github.com/travis-ci.org/slide-rs/specs) + * [slide-rs/specs](https://github.com/amethyst/specs) — Specs Parallel ECS [](https://github.com/travis-ci.org/slide-rs/specs) * Game Engines * [Amethyst](https://amethyst.rs) — Data-oriented game engine [](https://jenkins.amethyst-engine.org/blue/organizations/jenkins/amethyst/activity/) * [Piston](https://www.piston.rs/) — [](https://travis-ci.org/PistonDevelopers/piston) diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..5691fca --- /dev/null +++ b/src/main.rs @@ -0,0 +1,81 @@ +use pulldown_cmark::{Parser, Event, Tag}; +use std::fs; +use futures::future::select_all; +use futures::future::FutureExt; +use std::collections::{BTreeSet, BTreeMap}; +use serde::{Serialize, Deserialize}; +use anyhow::Result; + +fn to_anyhow(res: std::result::Result) -> Result + where E: std::error::Error + std::marker::Send + std::marker::Sync + 'static +{ + res.map_err(|x| Into::::into(x)) +} + +async fn get_url(url: String) -> (String, Result) { + let res = reqwest::get(&url).await; + (url, to_anyhow(res.map(|x| format!("{:?}", x)))) +} + +#[derive(Debug, Serialize, Deserialize)] +struct Results { + working: BTreeSet, + failed: BTreeMap +} + +impl Results { + fn new() -> Results { + Results { + working: BTreeSet::new(), + failed: BTreeMap::new() + } + } +} + +#[tokio::main] +async fn main() -> Result<()> { + let markdown_input = fs::read_to_string("README.md").expect("Can't read README.md"); + let parser = Parser::new(&markdown_input); + + let mut results: Results = to_anyhow(fs::read_to_string("results.yaml")).and_then(|x| to_anyhow(serde_yaml::from_str(&x))).unwrap_or(Results::new()); + results.failed.clear(); + + let mut url_checks = vec![]; + + for (event, _range) in parser.into_offset_iter() { + if let Event::Start(tag) = event { + if let Tag::Link(_link_type, url, _title) = tag { + if !url.starts_with("http") { + continue; + } + let url_string = url.to_string(); + if results.working.contains(&url_string) { + continue; + } + let check = get_url(url_string).boxed(); + url_checks.push(check); + } + } + } + + while url_checks.len() > 0 { + let ((url, res), _index, remaining) = select_all(url_checks).await; + url_checks = remaining; + match res { + Ok(_) => { + print!("\u{2714} "); + results.working.insert(url); + }, + Err(err) => { + print!("\u{2718} "); + results.failed.insert(url, err.to_string()); + } + } + fs::write("results.yaml", serde_yaml::to_string(&results)?)?; + } + println!(""); + for (url, error) in &results.failed { + println!("Error: {} {}", url, error); + } + Ok(()) +} \ No newline at end of file From 20d035d3b8f5ba5c65e2788aa5efd340fb9a2e16 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Fri, 10 Jan 2020 23:12:13 +0000 Subject: [PATCH 35/65] Correct case on Kiss3d --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f62dbf7..5d68006 100644 --- a/README.md +++ b/README.md @@ -1022,7 +1022,7 @@ See also [Are we game yet?](http://arewegameyet.com) * [Amethyst](https://amethyst.rs) — Data-oriented game engine [](https://jenkins.amethyst-engine.org/blue/organizations/jenkins/amethyst/activity/) * [Piston](https://www.piston.rs/) — [](https://travis-ci.org/PistonDevelopers/piston) * [ggez](https://github.com/ggez/ggez) — A lightweight game framework for making 2D games with minimum friction [](https://travis-ci.org/ggez/ggez) - * [Kiss3D](http://kiss3d.org/) — A Keep It Simple, Stupid 3d graphics engine written with Rust + * [Kiss3d](http://kiss3d.org) — A Keep It Simple, Stupid 3d graphics engine written with Rust * [Unrust](https://github.com/unrust/unrust) — unrust — A pure rust based (webgl 2.0 / native) game engine * [Vulkust](https://github.com/Hossein-Noroozpour/vulkust) — Vulkust — A safe, highly multithreaded, Vulkan based game engine written with Rust. * [SDL](http://www.libsdl.org/) [[sdl](https://crates.io/keywords/sdl)] From fd64b3e30432e31cb8dbe07efbfce898a4454da9 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Fri, 10 Jan 2020 23:12:28 +0000 Subject: [PATCH 36/65] Add cargo caching on Travis --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c6e77e5..ef6d0cd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,2 +1,3 @@ language: rust -script: cargo run \ No newline at end of file +script: cargo run +cache: cargo \ No newline at end of file From f6e1302d177dc9b9e373939468ec6ea4ccdc31e8 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Sat, 11 Jan 2020 12:05:30 +0000 Subject: [PATCH 37/65] Limit running gets to 20 to stop issues with file handles --- Cargo.toml | 10 +++++--- src/main.rs | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 73 insertions(+), 7 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index abbf4d2..ef0b37f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,8 +7,12 @@ edition = "2018" [dependencies] pulldown-cmark = "0.6" futures = "0.3" -reqwest = "0.10" -tokio = {version = "0.2", features = ["macros", "rt-core", "rt-threaded"] } +reqwest = { version="0.10", default_features=false, features=["rustls-tls"] } +tokio = {version = "0.2", features = ["macros", "rt-core", "rt-threaded"] } serde = { version = "1.0", features = ["derive"] } serde_yaml = "0.8" -anyhow = "1.0" \ No newline at end of file +anyhow = "1.0" +lazy_static = "1" +env_logger = "0.7" +async-std = "1" +log = "0.4" \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 5691fca..7689e2f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,6 +5,57 @@ use futures::future::FutureExt; use std::collections::{BTreeSet, BTreeMap}; use serde::{Serialize, Deserialize}; use anyhow::Result; +use lazy_static::lazy_static; +use std::sync::atomic::{AtomicU32, Ordering}; +use async_std::task; +use std::time; +use log::debug; +use std::io::Write; + +struct MaxHandles { + remaining: AtomicU32 +} + +struct Handle<'a> { + parent: &'a MaxHandles +} + +impl MaxHandles { + fn new(max: u32) -> MaxHandles { + MaxHandles { remaining: AtomicU32::new(max) } + } + + async fn get<'a>(&'a self) -> Handle<'a> { + loop { + let current = self.remaining.load(Ordering::Relaxed); + if current > 0 { + let new_current = self.remaining.compare_and_swap(current, current - 1, Ordering::Relaxed); + if new_current == current { // worked + debug!("Got handle with {}", new_current); + return Handle { parent: self }; + } + } + task::sleep(time::Duration::from_millis(500)).await; + } + } +} + +impl<'a> Drop for Handle<'a> { + fn drop(&mut self) { + debug!("Dropping"); + self.parent.remaining.fetch_add(1, Ordering::Relaxed); + } +} + +lazy_static! { + static ref CLIENT: reqwest::Client = reqwest::Client::builder() + .danger_accept_invalid_certs(true) // because some certs are out of date + .user_agent("curl/7.54.0") // so some sites (e.g. sciter.com) don't reject us + .build().unwrap(); + + // This is to avoid errors with running out of file handles, so we only do 20 requests at a time + static ref HANDLES: MaxHandles = MaxHandles::new(20); +} fn to_anyhow(res: std::result::Result) -> Result where E: std::error::Error + std::marker::Send + std::marker::Sync + 'static @@ -13,7 +64,10 @@ fn to_anyhow(res: std::result::Result) -> Result } async fn get_url(url: String) -> (String, Result) { - let res = reqwest::get(&url).await; + let _handle = HANDLES.get().await; + debug!("Running {}", url); + let res = CLIENT.get(&url).send().await; + debug!("Finished {}", url); (url, to_anyhow(res.map(|x| format!("{:?}", x)))) } @@ -34,6 +88,7 @@ impl Results { #[tokio::main] async fn main() -> Result<()> { + env_logger::init(); let markdown_input = fs::read_to_string("README.md").expect("Can't read README.md"); let parser = Parser::new(&markdown_input); @@ -59,6 +114,7 @@ async fn main() -> Result<()> { } while url_checks.len() > 0 { + debug!("Waiting..."); let ((url, res), _index, remaining) = select_all(url_checks).await; url_checks = remaining; match res { @@ -71,11 +127,17 @@ async fn main() -> Result<()> { results.failed.insert(url, err.to_string()); } } + std::io::stdout().flush().unwrap(); fs::write("results.yaml", serde_yaml::to_string(&results)?)?; } println!(""); - for (url, error) in &results.failed { - println!("Error: {} {}", url, error); + if results.failed.is_empty() { + println!("No errors!"); + Ok(()) + } else { + for (url, error) in &results.failed { + println!("Error: {} {}", url, error); + } + Err(anyhow::anyhow!("{} urls with errors", results.failed.len())) } - Ok(()) } \ No newline at end of file From 67bfa13da5519b6a852f2c1c3bdf4a7262ca8f9e Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Sat, 11 Jan 2020 14:45:49 +0000 Subject: [PATCH 38/65] Retry up to 5 times just in case on failure --- src/main.rs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index 7689e2f..92aa2a7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,7 +9,7 @@ use lazy_static::lazy_static; use std::sync::atomic::{AtomicU32, Ordering}; use async_std::task; use std::time; -use log::debug; +use log::{warn, debug}; use std::io::Write; struct MaxHandles { @@ -65,10 +65,19 @@ fn to_anyhow(res: std::result::Result) -> Result async fn get_url(url: String) -> (String, Result) { let _handle = HANDLES.get().await; - debug!("Running {}", url); - let res = CLIENT.get(&url).send().await; - debug!("Finished {}", url); - (url, to_anyhow(res.map(|x| format!("{:?}", x)))) + let mut res = Err(anyhow::anyhow!("Should always try at least once..")); + for _ in 0..5u8 { + debug!("Running {}", url); + let resp = CLIENT.get(&url).send().await; + if let Err(err) = resp { + warn!("Error while getting {}, retrying: {}", url, err); + continue; + } + debug!("Finished {}", url); + res = to_anyhow(resp.map(|x| format!("{:?}", x))); + break; + } + (url, res) } #[derive(Debug, Serialize, Deserialize)] From 70361602dd9c4363489c4fea087b4cb03cc5db09 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Mon, 13 Jan 2020 08:39:38 +0000 Subject: [PATCH 39/65] Detect redirects --- src/main.rs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index 92aa2a7..6a47403 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,6 +11,7 @@ use async_std::task; use std::time; use log::{warn, debug}; use std::io::Write; +use reqwest::{Client, redirect::Policy, StatusCode}; struct MaxHandles { remaining: AtomicU32 @@ -48,9 +49,10 @@ impl<'a> Drop for Handle<'a> { } lazy_static! { - static ref CLIENT: reqwest::Client = reqwest::Client::builder() + static ref CLIENT: Client = Client::builder() .danger_accept_invalid_certs(true) // because some certs are out of date .user_agent("curl/7.54.0") // so some sites (e.g. sciter.com) don't reject us + .redirect(Policy::none()) .build().unwrap(); // This is to avoid errors with running out of file handles, so we only do 20 requests at a time @@ -69,9 +71,18 @@ async fn get_url(url: String) -> (String, Result) { for _ in 0..5u8 { debug!("Running {}", url); let resp = CLIENT.get(&url).send().await; - if let Err(err) = resp { - warn!("Error while getting {}, retrying: {}", url, err); - continue; + match resp { + Err(err) => { + warn!("Error while getting {}, retrying: {}", url, err); + continue; + } + Ok(ref ok) => { + if ok.status() != StatusCode::OK { + warn!("Error while getting {}, retrying: {}", url, ok.status()); + res = Err(anyhow::anyhow!("Got status code {}", ok.status())); + continue; + } + } } debug!("Finished {}", url); res = to_anyhow(resp.map(|x| format!("{:?}", x))); From 39b2e4b3b6b3a81aabfa79b35bf4dffee4c62f64 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Mon, 13 Jan 2020 16:07:48 +0000 Subject: [PATCH 40/65] Add text/hmtl header to fix crates.io --- src/main.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 6a47403..d86365b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,7 +11,7 @@ use async_std::task; use std::time; use log::{warn, debug}; use std::io::Write; -use reqwest::{Client, redirect::Policy, StatusCode}; +use reqwest::{Client, redirect::Policy, StatusCode, header}; struct MaxHandles { remaining: AtomicU32 @@ -70,7 +70,11 @@ async fn get_url(url: String) -> (String, Result) { let mut res = Err(anyhow::anyhow!("Should always try at least once..")); for _ in 0..5u8 { debug!("Running {}", url); - let resp = CLIENT.get(&url).send().await; + let resp = CLIENT + .get(&url) + .header(header::ACCEPT, "text/html") + .send() + .await; match resp { Err(err) => { warn!("Error while getting {}, retrying: {}", url, err); From fd843a5dd835f470ebf5270de9eafffafe64ca94 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Mon, 13 Jan 2020 16:17:24 +0000 Subject: [PATCH 41/65] Add extra debug on redirects --- src/main.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index d86365b..0ae4c93 100644 --- a/src/main.rs +++ b/src/main.rs @@ -81,9 +81,14 @@ async fn get_url(url: String) -> (String, Result) { continue; } Ok(ref ok) => { - if ok.status() != StatusCode::OK { - warn!("Error while getting {}, retrying: {}", url, ok.status()); - res = Err(anyhow::anyhow!("Got status code {}", ok.status())); + let status = ok.status(); + if status != StatusCode::OK { + warn!("Error while getting {}, retrying: {}", url, status); + if status.is_redirection() { + res = Err(anyhow::anyhow!("Got status code {} redirecting to {}", status, ok.headers().get(header::LOCATION).and_then(|h| h.to_str().ok()).unwrap_or(""))); + } else { + res = Err(anyhow::anyhow!("Got status code {}", status)); + } continue; } } From a9a0cfdb13dce06c0029d988da60aa712d1eab70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Hozda=20=5Bmagnusi=5D?= Date: Mon, 13 Jan 2020 17:22:17 +0100 Subject: [PATCH 42/65] Revert "Add the genetic programming library radiate" --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index b48920a..eae0a82 100644 --- a/README.md +++ b/README.md @@ -625,9 +625,6 @@ See also [Are we (I)DE yet?](https://areweideyet.com/) and [Rust Tools](https:// * [pkalivas/radiate](https://github.com/pkalivas/radiate) - A customizable parallel genetic programming engine capable of evolving solutions for supervised, unsupervised, and reinforcement learning problems. Comes with complete and customizable implementation of NEAT and Evtree. [![Build Status](https://travis-ci.com/pkalivas/radiate.svg?branch=master)](https://travis-ci.com/pkalivas/radiate) ![Crates.io](https://img.shields.io/crates/v/radiate) -#### Genetic Programming -* [pkalivas/radiate](https://github.com/pkalivas/radiate) — Radiate is a parallel genetic programming engine capable of evolving solutions for supervised, unsupervised, and general reinforcement learning problems. - #### Machine learning [[machine learning](https://crates.io/keywords/machine-learning)] From a6b79d73ec70a6fb19c833aad68b291a2597c624 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Mon, 13 Jan 2020 17:04:46 +0000 Subject: [PATCH 43/65] Also pick up image tags --- src/main.rs | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main.rs b/src/main.rs index 0ae4c93..b72847c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -128,16 +128,19 @@ async fn main() -> Result<()> { for (event, _range) in parser.into_offset_iter() { if let Event::Start(tag) = event { - if let Tag::Link(_link_type, url, _title) = tag { - if !url.starts_with("http") { - continue; + match tag { + Tag::Link(_link_type, url, _title) | Tag::Image(_link_type, url, _title) => { + if !url.starts_with("http") { + continue; + } + let url_string = url.to_string(); + if results.working.contains(&url_string) { + continue; + } + let check = get_url(url_string).boxed(); + url_checks.push(check); } - let url_string = url.to_string(); - if results.working.contains(&url_string) { - continue; - } - let check = get_url(url_string).boxed(); - url_checks.push(check); + _ => {} } } } From ff703bac03c5f5e26061cb66b55f1986924b5bbf Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Mon, 13 Jan 2020 21:53:25 +0000 Subject: [PATCH 44/65] Fix accept header so we also get github svgs --- src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index b72847c..bc6033b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -72,7 +72,7 @@ async fn get_url(url: String) -> (String, Result) { debug!("Running {}", url); let resp = CLIENT .get(&url) - .header(header::ACCEPT, "text/html") + .header(header::ACCEPT, "text/html, */*;q=0.8") .send() .await; match resp { From c25072ec062f81a46ebf3333f2a5f1ed75b1e2e1 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Mon, 13 Jan 2020 22:13:00 +0000 Subject: [PATCH 45/65] Add workaround for github actions --- Cargo.toml | 3 ++- src/main.rs | 74 +++++++++++++++++++++++++++++++---------------------- 2 files changed, 45 insertions(+), 32 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index ef0b37f..4a6c52d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,4 +15,5 @@ anyhow = "1.0" lazy_static = "1" env_logger = "0.7" async-std = "1" -log = "0.4" \ No newline at end of file +log = "0.4" +regex = "1" \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index bc6033b..99b3977 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,6 @@ use pulldown_cmark::{Parser, Event, Tag}; use std::fs; -use futures::future::select_all; -use futures::future::FutureExt; +use futures::future::{select_all, BoxFuture, FutureExt}; use std::collections::{BTreeSet, BTreeMap}; use serde::{Serialize, Deserialize}; use anyhow::Result; @@ -12,6 +11,7 @@ use std::time; use log::{warn, debug}; use std::io::Write; use reqwest::{Client, redirect::Policy, StatusCode, header}; +use regex::Regex; struct MaxHandles { remaining: AtomicU32 @@ -65,39 +65,51 @@ fn to_anyhow(res: std::result::Result) -> Result res.map_err(|x| Into::::into(x)) } -async fn get_url(url: String) -> (String, Result) { - let _handle = HANDLES.get().await; - let mut res = Err(anyhow::anyhow!("Should always try at least once..")); - for _ in 0..5u8 { - debug!("Running {}", url); - let resp = CLIENT - .get(&url) - .header(header::ACCEPT, "text/html, */*;q=0.8") - .send() - .await; - match resp { - Err(err) => { - warn!("Error while getting {}, retrying: {}", url, err); - continue; - } - Ok(ref ok) => { - let status = ok.status(); - if status != StatusCode::OK { - warn!("Error while getting {}, retrying: {}", url, status); - if status.is_redirection() { - res = Err(anyhow::anyhow!("Got status code {} redirecting to {}", status, ok.headers().get(header::LOCATION).and_then(|h| h.to_str().ok()).unwrap_or(""))); - } else { - res = Err(anyhow::anyhow!("Got status code {}", status)); - } +fn get_url(url: String) -> BoxFuture<'static, (String, Result)> { + async move { + let _handle = HANDLES.get().await; + let mut res = Err(anyhow::anyhow!("Should always try at least once..")); + for _ in 0..5u8 { + debug!("Running {}", url); + let resp = CLIENT + .get(&url) + .header(header::ACCEPT, "text/html, */*;q=0.8") + .send() + .await; + match resp { + Err(err) => { + warn!("Error while getting {}, retrying: {}", url, err); continue; } + Ok(ref ok) => { + let status = ok.status(); + if status != StatusCode::OK { + lazy_static! { + static ref ACTIONS_REGEX: Regex = Regex::new(r"https://github.com/(?P[^/]+)/(?P[^/]+)/actions(?:\?workflow=.+)?").unwrap(); + } + if status == StatusCode::NOT_FOUND && ACTIONS_REGEX.is_match(&url) { + let rewritten = ACTIONS_REGEX.replace_all(&url, "https://github.com/$org/$repo"); + warn!("Got 404 with Github actions, so replacing {} with {}", url, rewritten); + let (_new_url, res) = get_url(rewritten.to_string()).await; + return (url, res); + } + + warn!("Error while getting {}, retrying: {}", url, status); + if status.is_redirection() { + res = Err(anyhow::anyhow!("Got status code {} redirecting to {}", status, ok.headers().get(header::LOCATION).and_then(|h| h.to_str().ok()).unwrap_or(""))); + } else { + res = Err(anyhow::anyhow!("Got status code {}", status)); + } + continue; + } + } } + debug!("Finished {}", url); + res = to_anyhow(resp.map(|x| format!("{:?}", x))); + break; } - debug!("Finished {}", url); - res = to_anyhow(resp.map(|x| format!("{:?}", x))); - break; - } - (url, res) + (url, res) + }.boxed() } #[derive(Debug, Serialize, Deserialize)] From f799381f753657c2cdea65e12c5fa4db817de910 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Mon, 13 Jan 2020 22:13:13 +0000 Subject: [PATCH 46/65] Add 20 second timeout --- src/main.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main.rs b/src/main.rs index 99b3977..b83bd3a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -53,6 +53,7 @@ lazy_static! { .danger_accept_invalid_certs(true) // because some certs are out of date .user_agent("curl/7.54.0") // so some sites (e.g. sciter.com) don't reject us .redirect(Policy::none()) + .timeout(time::Duration::from_secs(20)) .build().unwrap(); // This is to avoid errors with running out of file handles, so we only do 20 requests at a time From 5733288c9acb6c46fe7d2979364f6abab3940380 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Mon, 13 Jan 2020 22:21:03 +0000 Subject: [PATCH 47/65] Record actual real errors --- src/main.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main.rs b/src/main.rs index b83bd3a..757821b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -80,6 +80,7 @@ fn get_url(url: String) -> BoxFuture<'static, (String, Result)> { match resp { Err(err) => { warn!("Error while getting {}, retrying: {}", url, err); + res = to_anyhow(Err(err)); continue; } Ok(ref ok) => { From 118662d5a2a92df9c2b9906889c7f2c36c7e2eb4 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Mon, 13 Jan 2020 23:09:34 +0000 Subject: [PATCH 48/65] Fix Open Application Model to working site --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b16fc26..c052e09 100644 --- a/README.md +++ b/README.md @@ -124,7 +124,7 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio * [notty](https://github.com/withoutboats/notty) — A new kind of terminal * [Pijul](https://pijul.org) — A patch-based distributed version control system * [rsign](https://crates.io/crates/rsign) — A simple command-line tool used to generate/sign/verify digital signatures designed to be compatible with Minisign [![Codeship Status for danielrangel/rsign](https://app.codeship.com/projects/60b28d80-7645-0135-4402-1639b58199d0/status?branch=master)](https://app.codeship.com/projects/244452) -* [Rudr](https://github.com/oam-dev/rudr) - A Kubernetes implementation of the [Open Application Model](https://openappmodel.io/) specification [](https://github.com/oam-dev/rudr/workflows/Rust/badge.svg) +* [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/workflows/Rust/badge.svg) * [Sandstorm Collections App](https://github.com/sandstorm-io/collections-app) * [Servo](https://github.com/servo/servo) — A prototype web browser engine * [trust-dns](https://crates.io/crates/trust-dns) — A DNS-server [](https://travis-ci.org/bluejekyll/trust-dns) From a37b1cfee3a4d4ead7b4e81db51ebee4914edb38 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Fri, 17 Jan 2020 23:24:03 +0000 Subject: [PATCH 49/65] Redo error checking with failure and less verbose formatting --- Cargo.toml | 2 +- src/main.rs | 72 +++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 52 insertions(+), 22 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 4a6c52d..f7c8989 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ reqwest = { version="0.10", default_features=false, features=["rustls-tls"] } tokio = {version = "0.2", features = ["macros", "rt-core", "rt-threaded"] } serde = { version = "1.0", features = ["derive"] } serde_yaml = "0.8" -anyhow = "1.0" +failure = "0.1" lazy_static = "1" env_logger = "0.7" async-std = "1" diff --git a/src/main.rs b/src/main.rs index 757821b..e55c728 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,7 +3,6 @@ use std::fs; use futures::future::{select_all, BoxFuture, FutureExt}; use std::collections::{BTreeSet, BTreeMap}; use serde::{Serialize, Deserialize}; -use anyhow::Result; use lazy_static::lazy_static; use std::sync::atomic::{AtomicU32, Ordering}; use async_std::task; @@ -13,6 +12,25 @@ use std::io::Write; use reqwest::{Client, redirect::Policy, StatusCode, header}; use regex::Regex; +use failure::{Fail, Error, format_err}; + +#[derive(Debug, Fail)] +enum CheckerError { + #[fail(display = "failed to try url")] + NotTried, // Generally shouldn't happen, but useful to have + + #[fail(display = "http error: {}", status)] + HttpError { + status: StatusCode, + location: Option, + }, + + #[fail(display = "reqwest error: {}", error)] + ReqwestError { + error: reqwest::Error, + } +} + struct MaxHandles { remaining: AtomicU32 } @@ -60,16 +78,10 @@ lazy_static! { static ref HANDLES: MaxHandles = MaxHandles::new(20); } -fn to_anyhow(res: std::result::Result) -> Result - where E: std::error::Error + std::marker::Send + std::marker::Sync + 'static -{ - res.map_err(|x| Into::::into(x)) -} - -fn get_url(url: String) -> BoxFuture<'static, (String, Result)> { +fn get_url(url: String) -> BoxFuture<'static, (String, Result)> { async move { let _handle = HANDLES.get().await; - let mut res = Err(anyhow::anyhow!("Should always try at least once..")); + let mut res = Err(CheckerError::NotTried); for _ in 0..5u8 { debug!("Running {}", url); let resp = CLIENT @@ -80,7 +92,7 @@ fn get_url(url: String) -> BoxFuture<'static, (String, Result)> { match resp { Err(err) => { warn!("Error while getting {}, retrying: {}", url, err); - res = to_anyhow(Err(err)); + res = Err(CheckerError::ReqwestError{error: err}); continue; } Ok(ref ok) => { @@ -98,17 +110,17 @@ fn get_url(url: String) -> BoxFuture<'static, (String, Result)> { warn!("Error while getting {}, retrying: {}", url, status); if status.is_redirection() { - res = Err(anyhow::anyhow!("Got status code {} redirecting to {}", status, ok.headers().get(header::LOCATION).and_then(|h| h.to_str().ok()).unwrap_or(""))); + res = Err(CheckerError::HttpError {status: status, location: ok.headers().get(header::LOCATION).and_then(|h| h.to_str().ok()).map(|x| x.to_string())}); } else { - res = Err(anyhow::anyhow!("Got status code {}", status)); + res = Err(CheckerError::HttpError {status: status, location: None}); } continue; } + debug!("Finished {}", url); + res = Ok(format!("{:?}", ok)); + break; } } - debug!("Finished {}", url); - res = to_anyhow(resp.map(|x| format!("{:?}", x))); - break; } (url, res) }.boxed() @@ -130,12 +142,15 @@ impl Results { } #[tokio::main] -async fn main() -> Result<()> { +async fn main() -> Result<(), Error> { env_logger::init(); let markdown_input = fs::read_to_string("README.md").expect("Can't read README.md"); let parser = Parser::new(&markdown_input); - let mut results: Results = to_anyhow(fs::read_to_string("results.yaml")).and_then(|x| to_anyhow(serde_yaml::from_str(&x))).unwrap_or(Results::new()); + let mut results: Results = fs::read_to_string("results.yaml") + .map_err(|e| format_err!("{}", e)) + .and_then(|x| serde_yaml::from_str(&x).map_err(|e| format_err!("{}", e))) + .unwrap_or(Results::new()); results.failed.clear(); let mut url_checks = vec![]; @@ -170,7 +185,22 @@ async fn main() -> Result<()> { }, Err(err) => { print!("\u{2718} "); - results.failed.insert(url, err.to_string()); + let message = match err { + CheckerError::HttpError {status, location} => { + match location { + Some(loc) => { + format!("[{}] {} -> {}", status.as_u16(), url, loc) + } + None => { + format!("[{}] {}", status.as_u16(), url) + } + } + } + _ => { + format!("{:?}", err) + } + }; + results.failed.insert(url, message); } } std::io::stdout().flush().unwrap(); @@ -181,9 +211,9 @@ async fn main() -> Result<()> { println!("No errors!"); Ok(()) } else { - for (url, error) in &results.failed { - println!("Error: {} {}", url, error); + for (_url, error) in &results.failed { + println!("{}", error); } - Err(anyhow::anyhow!("{} urls with errors", results.failed.len())) + Err(format_err!("{} urls with errors", results.failed.len())) } } \ No newline at end of file From 6cb9433de0bbf8636ff15ead79d3297983075fd9 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Sat, 18 Jan 2020 14:01:05 +0000 Subject: [PATCH 50/65] Look for links/images in HTML content in the Markdown --- Cargo.toml | 3 ++- src/main.rs | 47 ++++++++++++++++++++++++++++++++++------------- 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f7c8989..d002e9c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,4 +16,5 @@ lazy_static = "1" env_logger = "0.7" async-std = "1" log = "0.4" -regex = "1" \ No newline at end of file +regex = "1" +scraper = "0.11" \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index e55c728..f436e05 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,7 +11,7 @@ use log::{warn, debug}; use std::io::Write; use reqwest::{Client, redirect::Policy, StatusCode, header}; use regex::Regex; - +use scraper::{Html, Selector}; use failure::{Fail, Error, format_err}; #[derive(Debug, Fail)] @@ -155,22 +155,43 @@ async fn main() -> Result<(), Error> { let mut url_checks = vec![]; + let mut do_check = |url: String| { + if !url.starts_with("http") { + return; + } + if results.working.contains(&url) { + return; + } + let check = get_url(url).boxed(); + url_checks.push(check); + }; + for (event, _range) in parser.into_offset_iter() { - if let Event::Start(tag) = event { - match tag { - Tag::Link(_link_type, url, _title) | Tag::Image(_link_type, url, _title) => { - if !url.starts_with("http") { - continue; + match event { + Event::Start(tag) => { + match tag { + Tag::Link(_link_type, url, _title) | Tag::Image(_link_type, url, _title) => { + do_check(url.to_string()); } - let url_string = url.to_string(); - if results.working.contains(&url_string) { - continue; - } - let check = get_url(url_string).boxed(); - url_checks.push(check); + _ => {} } - _ => {} } + Event::Html(content) => { + let fragment = Html::parse_fragment(&content); + for element in fragment.select(&Selector::parse("img").unwrap()) { + let img_src = element.value().attr("src"); + if let Some(src) = img_src { + do_check(src.to_string()); + } + } + for element in fragment.select(&Selector::parse("a").unwrap()) { + let a_href = element.value().attr("href"); + if let Some(href) = a_href { + do_check(href.to_string()); + } + } + } + _ => {} } } From a671768f9938a335f72a041026e67aba0f6fb4ad Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Mon, 20 Jan 2020 09:46:21 +0000 Subject: [PATCH 51/65] Fix all the known build errors --- README.md | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index c052e09..b64603b 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ If you want to contribute, please read [this](CONTRIBUTING.md). See also [Rust — Production](https://www.rust-lang.org/production) organizations running Rust in production. -* [alacritty](https://github.com/jwilm/alacritty) — A cross-platform, GPU enhanced terminal emulator +* [alacritty](https://github.com/alacritty/alacritty) — A cross-platform, GPU enhanced terminal emulator * [asm-cli-rust](https://github.com/cch123/asm-cli-rust) — An interactive assembly shell written in rust. * [AnderEnder/s3find-rs](https://github.com/AnderEnder/s3find-rs) — A command line utility to walk an Amazon S3 hierarchy, an analog of find for Amazon S3 [](https://travis-ci.org/AnderEnder/s3find-rs) * [andschwa/rust-genetic-algorithm](https://github.com/andschwa/rust-genetic-algorithm) — A genetic algorithm for academic benchmark problems [](https://travis-ci.org/andschwa/rust-genetic-algorithm) @@ -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 -* [rsign](https://crates.io/crates/rsign) — A simple command-line tool used to generate/sign/verify digital signatures designed to be compatible with Minisign [![Codeship Status for danielrangel/rsign](https://app.codeship.com/projects/60b28d80-7645-0135-4402-1639b58199d0/status?branch=master)](https://app.codeship.com/projects/244452) +* [rsign](https://crates.io/crates/rsign) — A simple command-line tool used to generate/sign/verify digital signatures designed to be compatible with Minisign ![Codeship Status for danielrangel/rsign](https://app.codeship.com/projects/60b28d80-7645-0135-4402-1639b58199d0/status?branch=master)] * [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/workflows/Rust/badge.svg) * [Sandstorm Collections App](https://github.com/sandstorm-io/collections-app) * [Servo](https://github.com/servo/servo) — A prototype web browser engine @@ -171,7 +171,7 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio * [indradb](https://crates.io/crates/indradb) — Rust based graph database [](https://travis-ci.org/indradb/indradb) * [noria](https://crates.io/crates/noria) — Dynamically changing, partially-stateful data-flow for web application backends [](https://travis-ci.org/mit-pdos/noria) -* [Lucid](https://github.com/clintnetwork/lucid) - High performance and distributed KV store accessible through a HTTP API. [![Build Status](https://travis-ci.com/clintnetwork/lucid.svg)](https://travis-ci.com/clintnetwork/lucid) +* [Lucid](https://github.com/lucid-kv/lucid) - High performance and distributed KV store accessible through a HTTP API. [![Build Status](https://api.travis-ci.com/lucid-kv/lucid.svg)](https://travis-ci.com/lucid-kv/lucid) * [ParityDB](https://github.com/paritytech/paritydb) — Fast and reliable database, optimised for read operation * [PumpkinDB](https://github.com/PumpkinDB/PumpkinDB) — an event sourcing database engine [](https://travis-ci.org/PumpkinDB/PumpkinDB) * [seppo0010/rsedis](https://github.com/seppo0010/rsedis) — A Redis reimplementation in Rust [](https://travis-ci.org/seppo0010/rsedis) @@ -235,7 +235,7 @@ See also [Games Made With Piston](https://github.com/PistonDevelopers/piston/wik * [RazrFalcon/svgcleaner](https://github.com/RazrFalcon/svgcleaner) — tidies SVG graphics * [Twinklebear/tray_rust](https://github.com/Twinklebear/tray_rust) — A ray tracer [](https://travis-ci.org/Twinklebear/tray_rust) * Image processing: - * [spejss/Image-Processing-CLI-in-Rust](https://github.com/spejss/Image-Processing-CLI-in-Rust) — CLI for processing images, generating histograms. [![Build Status](https://api.travis-ci.org/spejss/Image-Processing-CLI-in-Rust.svg?branch=master)](https://travis-ci.org/spejss/Image-Processing-CLI-in-Rust) + * [mikigraf/Image-Processing-CLI-in-Rust](https://github.com/mikigraf/Image-Processing-CLI-in-Rust) — CLI for processing images, generating histograms. [![Build Status](https://api.travis-ci.org/mikigraf/Image-Processing-CLI-in-Rust.svg?branch=master)](https://travis-ci.org/mikigraf/Image-Processing-CLI-in-Rust) ### Industrial automation * [locka99/opcua](https://github.com/locka99/opcua) — A pure rust [OPC UA](https://opcfoundation.org/about/opc-technologies/opc-ua/) library. @@ -268,8 +268,6 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [kpcyrd/rshijack](https://github.com/kpcyrd/rshijack) — A TCP connection hijacker, rust rewrite of shijack [](https://travis-ci.org/kpcyrd/rshijack) * [kpcyrd/sniffglue](https://github.com/kpcyrd/sniffglue) — A secure multithreaded packet sniffer [](https://travis-ci.org/kpcyrd/sniffglue) * [kpcyrd/sn0int](https://github.com/kpcyrd/sn0int) — A semi-automatic OSINT framework and package manager [](https://travis-ci.org/kpcyrd/sn0int) -* [Gymmasssorla/anevicon](https://github.com/Gymmasssorla/anevicon) — The most powerful UDP-based load generator, written in Rust [](https://travis-ci.com/Gymmasssorla/anevicon) -* [Gymmasssorla/finshir](https://github.com/Gymmasssorla/finshir) — A coroutines-driven Low & Slow traffic generator, written in Rust [](https://travis-ci.com/Gymmasssorla/finshir) * [phra/rustbuster](https://github.com/phra/rustbuster) - A Comprehensive Web Fuzzer and Content Discovery Tool ### System tools @@ -625,7 +623,7 @@ See also [Are we (I)DE yet?](https://areweideyet.com/) and [Rust Tools](https:// * [m-decoster/RsGenetic](https://github.com/m-decoster/RsGenetic) — Genetic Algorithm library in Rust. In maintenance mode. * [mneumann/evo-rs](https://github.com/mneumann/evo-rs) — Evolutionary Algorithm Library for Rust. Without changes for 3 years. * [yurytsoy/revonet](https://github.com/yurytsoy/revonet) — Rust implementation of real-coded GA for solving optimization problems and training of neural networks. -* [pkalivas/radiate](https://github.com/pkalivas/radiate) - A customizable parallel genetic programming engine capable of evolving solutions for supervised, unsupervised, and reinforcement learning problems. Comes with complete and customizable implementation of NEAT and Evtree. [![Build Status](https://travis-ci.com/pkalivas/radiate.svg?branch=master)](https://travis-ci.com/pkalivas/radiate) +* [pkalivas/radiate](https://github.com/pkalivas/radiate) - A customizable parallel genetic programming engine capable of evolving solutions for supervised, unsupervised, and reinforcement learning problems. Comes with complete and customizable implementation of NEAT and Evtree. [![Build Status](https://api.travis-ci.com/pkalivas/radiate.svg?branch=master)](https://travis-ci.com/pkalivas/radiate) ![Crates.io](https://img.shields.io/crates/v/radiate) #### Machine learning @@ -723,7 +721,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [TeXitoi/structopt](https://github.com/TeXitoi/structopt) [[structopt](https://crates.io/crates/structopt)] — parse command line argument by defining a struct [](https://travis-ci.org/TeXitoi/structopt) * [killercup/quicli](https://github.com/killercup/quicli) [[quicli](https://crates.io/crates/quicli)] — quickly build cool CLI apps in Rust [](https://travis-ci.org/killercup/quicli) * Data visualization - * [reugn/rspark](https://github.com/reugn/rspark) [[rspark](https://crates.io/crates/rspark)] - ▁▂▆▇▁▄█▁ Sparklines for Rust apps [](https://travis-ci.org/reugn/rspark) + * [reugn/rspark](https://github.com/reugn/rspark) [[rspark](https://crates.io/crates/rspark)] - ▁▂▆▇▁▄█▁ Sparklines for Rust apps [](https://travis-ci.org/reugn/rspark) * Human-centered design * [rust-cli/human-panic](https://github.com/rust-cli/human-panic) [[human-panic](https://crates.io/crates/human-panic)] — panic messages for humans [](https://travis-ci.org/rust-cli/human-panic) * Line editor @@ -863,7 +861,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [Sofa](https://github.com/YellowInnovation/sofa) — an interface to CouchDB HTTP REST API for stable rust * Elasticsearch [[elasticsearch](https://crates.io/keywords/elasticsearch)] * [benashford/rs-es](https://github.com/benashford/rs-es) [[rs-es](https://crates.io/crates/rs-es)] — A Rust client for the [Elastic](https://www.elastic.co/) REST API [](https://travis-ci.org/benashford/rs-es) - * [elastic-rs/elastic](https://github.com/elastic-rs/elastic) [[elastic](https://crates.io/crates/elastic)] — elastic is an efficient, modular API client for Elasticsearch written in Rust [](https://travis-ci.org/elastic-rs/elastic) [](https://ci.appveyor.com/project/KodrAus/elastic) + * [elastic-rs/elastic](https://github.com/elastic-rs/elastic) [[elastic](https://crates.io/crates/elastic)] — elastic is an efficient, modular API client for Elasticsearch written in Rust [](https://travis-ci.org/elastic-rs/elastic) [](https://ci.appveyor.com/project/KodrAus/elastic) * etcd * [jimmycuadra/rust-etcd](https://github.com/jimmycuadra/rust-etcd) [[etcd](https://crates.io/crates/etcd)] — A client library for CoreOS's etcd. [](https://travis-ci.org/jimmycuadra/rust-etcd) * [ccc13/etcd-rs](https://github.com/ccc13/etcd-rs) — An asynchronous etcd client for rust [](https://travis-ci.org/ccc13/etcd-rs) @@ -997,9 +995,9 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * JSON * [pikkr/pikkr](https://github.com/pikkr/pikkr) [[pikkr](https://crates.io/crates/pikkr)] — JSON parser which picks up values directly without performing tokenization in Rust * [serde-rs/json](https://github.com/serde-rs/json) [[serde\_json](https://crates.io/crates/serde_json)] — JSON support for [Serde](https://github.com/serde-rs/serde) framework [](https://travis-ci.org/serde-rs/json) - * [Licenser/simdjson-rs](https://github.com/Licenser/simdjson-rs) [[simd-json](https://crates.io/crates/simd-json)] - High performance JSON parser based on a port of simdjson + * [simd-lite/simdjson-rs](https://github.com/simd-lite/simdjson-rs) [[simd-json](https://crates.io/crates/simd-json)] - High performance JSON parser based on a port of simdjson * [maciejhirsz/json-rust](https://github.com/maciejhirsz/json-rust) [[json](https://crates.io/crates/json)] — JSON implementation in Rust [](https://travis-ci.org/maciejhirsz/json-rust) - * [importcjj/a-json](https://github.com/importcjj/a-json) [[ajson]](https://crates.io/crates/ajson) — Get JSON values quickly [](https://travis-ci.com/importcjj/a-json) + * [importcjj/rust-ajson](https://github.com/importcjj/rust-ajson) [[ajson]](https://crates.io/crates/ajson) — Get JSON values quickly [](https://travis-ci.com/importcjj/rust-ajson) * Jsonnet * [Qihoo360/rust-jsonnet](https://github.com/Qihoo360/rust-jsonnet) — [](https://travis-ci.org/Qihoo360/rust-jsonnet) * MsgPack @@ -1046,7 +1044,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ ### Game development -See also [Are we game yet?](http://arewegameyet.com) +See also [Are we game yet?](https://arewegameyet.com) * Allegro * [SiegeLord/RustAllegro](https://github.com/SiegeLord/RustAllegro) — [Allegro 5](https://liballeg.org/) bindings [](https://travis-ci.org/SiegeLord/RustAllegro) * Challonge @@ -1054,7 +1052,7 @@ See also [Are we game yet?](http://arewegameyet.com) * Corange * [lucidscape/corange-rs](https://github.com/lucidscape/corange-rs) — [Corange](https://github.com/orangeduck/Corange) bindings * Entity-Component Systems (ECS) - * [slide-rs/specs](https://github.com/amethyst/specs) — Specs Parallel ECS [](https://github.com/travis-ci.org/slide-rs/specs) + * [slide-rs/specs](https://github.com/amethyst/specs) — Specs Parallel ECS [](https://travis-ci.org/slide-rs/specs) * Game Engines * [Amethyst](https://amethyst.rs) — Data-oriented game engine [](https://jenkins.amethyst-engine.org/blue/organizations/jenkins/amethyst/activity/) * [Piston](https://www.piston.rs/) — [](https://travis-ci.org/PistonDevelopers/piston) @@ -1114,7 +1112,7 @@ See also [Are we game yet?](http://arewegameyet.com) * [autopilot-rs/autopilot-rs](https://github.com/autopilot-rs/autopilot-rs) — A simple, cross-platform GUI automation library for Rust. * [maps4print/azul](https://github.com/maps4print/azul) — A free, functional, IMGUI-oriented GUI framework for rapid development of desktop applications written in Rust, supported by the Mozilla WebRender rendering engine. [](https://travis-ci.org/maps4print/azul) -* [OrbTk](https://gitlab.redox-os.org/redox-os/orbtk) — The Orbital Widget Toolkit is a multi platform (G)UI toolkit using SDL2 [![Build status](https://gitlab.redox-os.org/redox-os/orbtk/badges/master/build.svg)](https://gitlab.redox-os.org/redox-os/orbtk/pipelines) +* [OrbTk](https://gitlab.redox-os.org/redox-os/orbtk-mirror) — The Orbital Widget Toolkit is a multi platform (G)UI toolkit using SDL2 [![Build status](https://gitlab.redox-os.org/redox-os/orbtk-mirror/badges/master/build.svg)](https://gitlab.redox-os.org/redox-os/orbtk-mirror/pipelines) * [PistonDevelopers/conrod](https://github.com/PistonDevelopers/conrod/) — An easy-to-use, immediate-mode, 2D GUI library written entirely in Rust [](https://travis-ci.org/PistonDevelopers/conrod) * [rise-ui](https://github.com/rise-ui/rise) — Simple component-based cross-Platform GUI Toolkit for developing beautiful and user-friendly interfaces. @@ -1395,7 +1393,7 @@ See also [Are we web yet?](http://www.arewewebyet.org) and [Rust web framework c * [pwoolcoc/soup](https://gitlab.com/pwoolcoc/soup) [[soup](https://crates.io/crates/soup)] - A library similar to Pythons BeautifulSoup, designed to enable quick and easy manipulation and querying of HTML documents. [![Build Status](https://gitlab.com/pwoolcoc/soup/badges/master/pipeline.svg)](https://gitlab.com/pwoolcoc/soup/badges/master/pipeline.svg) * [softprops/openapi](https://github.com/softprops/openapi) - A library for processing openapi spec files * Reverse Proxy - * [sozu-proxy/sozu](https://github.com/sozu-proxy/sozu) [[sozu](https://crates.io/crates/sozu)] — A HTTP reverse proxy. [![Build Status](https://api.travis-ci.org/sozu-proxy/sozu.svg?branch=master)](https://api.travis-ci.org/sozu-proxy/sozu) + * [sozu-proxy/sozu](https://github.com/sozu-proxy/sozu) [[sozu](https://crates.io/crates/sozu)] — A HTTP reverse proxy. [![Build Status](https://api.travis-ci.org/sozu-proxy/sozu.svg?branch=master)](https://travis-ci.org/sozu-proxy/sozu) * Static Site Generators * [getzola/zola](https://github.com/getzola/zola) [[zola](https://www.getzola.org/)] — An opinionated static site generator with everything built-in. [![Build Status](https://api.travis-ci.com/getzola/zola.svg?branch=master)](https://travis-ci.org/getzola/zola) * [cobalt-org/cobalt.rs](https://github.com/cobalt-org/cobalt.rs) — Static site generator written in Rust [](https://travis-ci.org/cobalt-org/cobalt.rs) From 7ea1063c325daddf1793fc00653e56f42c646cd0 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Mon, 20 Jan 2020 13:50:02 +0000 Subject: [PATCH 52/65] Update user-agent so Reddit stops complaining --- src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index f436e05..62d4ba2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -69,7 +69,7 @@ impl<'a> Drop for Handle<'a> { lazy_static! { static ref CLIENT: Client = Client::builder() .danger_accept_invalid_certs(true) // because some certs are out of date - .user_agent("curl/7.54.0") // so some sites (e.g. sciter.com) don't reject us + .user_agent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Firefox/68.0") // so some sites (e.g. sciter.com) don't reject us .redirect(Policy::none()) .timeout(time::Duration::from_secs(20)) .build().unwrap(); From f0af98f3fc627f7eb4578fc607b58112598d39b8 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Mon, 20 Jan 2020 17:53:24 +0000 Subject: [PATCH 53/65] Detect unknown status travis builds --- src/main.rs | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 62d4ba2..0f4c033 100644 --- a/src/main.rs +++ b/src/main.rs @@ -28,7 +28,10 @@ enum CheckerError { #[fail(display = "reqwest error: {}", error)] ReqwestError { error: reqwest::Error, - } + }, + + #[fail(display = "travis build is unknown")] + TravisBuildUnknown, } struct MaxHandles { @@ -111,10 +114,22 @@ fn get_url(url: String) -> BoxFuture<'static, (String, Result Result<(), Error> { } } } + CheckerError::TravisBuildUnknown => { + format!("[Unknown travis build] {}", url) + } _ => { format!("{:?}", err) } From dec99f44161561b287198ac93c7981d82ecdcf70 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Mon, 20 Jan 2020 18:05:20 +0000 Subject: [PATCH 54/65] Also look for travis.org as well as .com --- src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 0f4c033..0e2995c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -121,7 +121,7 @@ fn get_url(url: String) -> BoxFuture<'static, (String, Result Date: Mon, 20 Jan 2020 18:42:26 +0000 Subject: [PATCH 55/65] Start fixing Travis build badges --- README.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index b64603b..ad0f22c 100644 --- a/README.md +++ b/README.md @@ -171,7 +171,7 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio * [indradb](https://crates.io/crates/indradb) — Rust based graph database [](https://travis-ci.org/indradb/indradb) * [noria](https://crates.io/crates/noria) — Dynamically changing, partially-stateful data-flow for web application backends [](https://travis-ci.org/mit-pdos/noria) -* [Lucid](https://github.com/lucid-kv/lucid) - High performance and distributed KV store accessible through a HTTP API. [![Build Status](https://api.travis-ci.com/lucid-kv/lucid.svg)](https://travis-ci.com/lucid-kv/lucid) +* [Lucid](https://github.com/lucid-kv/lucid) - High performance and distributed KV store accessible through a HTTP API. [![Build Status](https://github.com/lucid-kv/lucid/workflows/Lucid/badge.svg)](https://github.com/lucid-kv/lucid/actions?workflow=Lucid) * [ParityDB](https://github.com/paritytech/paritydb) — Fast and reliable database, optimised for read operation * [PumpkinDB](https://github.com/PumpkinDB/PumpkinDB) — an event sourcing database engine [](https://travis-ci.org/PumpkinDB/PumpkinDB) * [seppo0010/rsedis](https://github.com/seppo0010/rsedis) — A Redis reimplementation in Rust [](https://travis-ci.org/seppo0010/rsedis) @@ -191,7 +191,7 @@ See also [crates matching keyword 'emulator'](https://crates.io/keywords/emulato * [NivenT/RGB](https://github.com/nivent/RGB) — [](https://travis-ci.org/NivenT/RGB) * [mohanson/gameboy](https://github.com/mohanson/gameboy) — Full featured Cross-platform GameBoy emulator. Forever boys!. * NES - * [iamsix/oxidenes](https://github.com/iamsix/oxidenes) — [](https://travis-ci.org/iamsix/oxidenes) + * [iamsix/oxidenes](https://github.com/iamsix/oxidenes) — [](https://travis-ci.org/iamsix/oxidenes) * [koute/pinky](https://github.com/koute/pinky) — [](https://travis-ci.org/koute/pinky) * [pcwalton/sprocketnes](https://github.com/pcwalton/sprocketnes) — [](https://travis-ci.org/pcwalton/sprocketnes) * Playstation @@ -272,7 +272,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ ### System tools -* [bandwhich](https://github.com/imsnif/bandwhich) — Terminal bandwidth utilization tool [](https://travis-ci.com/imsnif/bandwhich) +* [bandwhich](https://github.com/imsnif/bandwhich) — Terminal bandwidth utilization tool [](https://travis-ci.com/imsnif/bandwhich) * [brocode/fblog](https://github.com/brocode/fblog) — Small command-line JSON Log viewer [](https://travis-ci.org/brocode/fblog) * [buster/rrun](https://github.com/buster/rrun) — A command launcher for Linux, similar to gmrun [](https://travis-ci.org/buster/rrun) * [cristianoliveira/funzzy](https://github.com/cristianoliveira/funzzy) — A configurable filesystem watcher inspired by [entr](http://entrproject.org/) [](https://travis-ci.org/cristianoliveira/funzzy) @@ -384,9 +384,9 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [just](https://github.com/casey/just) — A handy command runner for project-specific tasks [](https://travis-ci.org/casey/just) * [Module Linker](https://github.com/fiatjaf/module-linker) — Extension that adds `` links to references in `mod`, `use` and `extern crate` statements at GitHub. * [ptags](https://github.com/dalance/ptags) — A parallel universal-ctags wrapper for git repository [![Build Status](https://api.travis-ci.org/dalance/ptags.svg?branch=master)](https://travis-ci.org/dalance/ptags) -* [Racer](https://github.com/racer-rust/racer) — code completion for Rust [](https://travis-ci.org/racer-rust/racer) -* [rustfmt](https://github.com/rust-lang/rustfmt) — A Rust code formatter [](https://travis-ci.org/rust-lang/rustfmt) -* [Rustup](https://github.com/rust-lang/rustup) — the Rust toolchain installer [](https://travis-ci.org/rust-lang/rustup) +* [Racer](https://github.com/racer-rust/racer) — code completion for Rust [](https://travis-ci.org/racer-rust/racer) +* [rustfmt](https://github.com/rust-lang/rustfmt) — A Rust code formatter [](https://travis-ci.com/rust-lang/rustfmt) +* [Rustup](https://github.com/rust-lang/rustup) — the Rust toolchain installer * [Rust Language Server](https://github.com/rust-lang/rls) — A server that runs in the background, providing IDEs, editors, and other tools with information about Rust programs * [Rust Regex Playground](https://2fd.github.io/rust-regex-playground/#method=find®ex=%5Cw%2B&text=abc) — Web tool to evaluate rust regular expressions * [Rust Search Extension](https://github.com/Folyd/rust-search-extension) - A handy browser extension to search crates and docs in address bar (omnibox). ![Build Status](https://github.com/folyd/rust-search-extension/workflows/build/badge.svg) @@ -575,7 +575,7 @@ See also [Are we (I)DE yet?](https://areweideyet.com/) and [Rust Tools](https:// * [ellisonch/rust-stopwatch](https://github.com/ellisonch/rust-stopwatch) — A stopwatch library [](https://travis-ci.org/ellisonch/rust-stopwatch) * FlameGraphs * [mrhooray/torch](https://github.com/mrhooray/torch) — generates FlameGraphs based on DWARF Debug Info - * [TyOverby/flame](https://github.com/llogiq/flame) — [](https://travis-ci.org/TyOverby/flame) + * [llogiq/flame](https://github.com/llogiq/flame) — [](https://travis-ci.org/llogiq/flame) ### Services @@ -716,7 +716,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ ### Command-line * Argument parsing - * [clap-rs](https://github.com/clap-rs/clap) [[clap](https://crates.io/crates/clap)] — A simple to use, full featured command-line argument parser [](https://travis-ci.org/clap-rs/clap-rs) + * [clap-rs](https://github.com/clap-rs/clap) [[clap](https://crates.io/crates/clap)] — A simple to use, full featured command-line argument parser [](https://travis-ci.org/clap-rs/clap) * [docopt/docopt.rs](https://github.com/docopt/docopt.rs) [[docopt](https://crates.io/crates/docopt)] — A Rust implementation of [DocOpt](http://docopt.org) [](https://travis-ci.org/docopt/docopt.rs) * [TeXitoi/structopt](https://github.com/TeXitoi/structopt) [[structopt](https://crates.io/crates/structopt)] — parse command line argument by defining a struct [](https://travis-ci.org/TeXitoi/structopt) * [killercup/quicli](https://github.com/killercup/quicli) [[quicli](https://crates.io/crates/quicli)] — quickly build cool CLI apps in Rust [](https://travis-ci.org/killercup/quicli) @@ -751,7 +751,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [TimonPost/crossterm](https://github.com/crossterm-rs/crossterm) [[crossterm](https://crates.io/crates/crossterm)] — crossplatform terminal library * [gyscos/Cursive](https://github.com/gyscos/Cursive) [[cursive](https://crates.io/crates/cursive)] — build rich TUI applications [](https://travis-ci.org/gyscos/Cursive) * [ogham/rust-term-grid](https://github.com/ogham/rust-term-grid) [[term_grid](https://crates.io/crates/term_grid)] — Rust library for putting things in a grid [](https://travis-ci.org/ogham/rust-term-grid) - * [ticki/termion](https://github.com/redox-os/termion) [[termion](https://crates.io/crates/termion)] — bindless library for controlling terminals/TTY [](https://travis-ci.org/ticki/termion) + * [redox-os/termion](https://github.com/redox-os/termion) [[termion](https://crates.io/crates/termion)] — bindless library for controlling terminals/TTY [](https://travis-ci.org/redox-os/termion) * [fdehau/tui-rs](https://github.com/fdehau/tui-rs) [[tui](https://crates.io/crates/tui)] — A TUI library inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib) and [termui](https://github.com/gizak/termui) [](https://travis-ci.org/fdehau/tui-rs) * BearLibTerminal * [cfyzium/bearlibterminal](https://github.com/nabijaczleweli/BearLibTerminal.rs) [[bear-lib-terminal](https://crates.io/crates/bear-lib-terminal)] — [BearLibTerminal](https://bitbucket.org/cfyzium/bearlibterminal) bindings [](https://travis-ci.org/nabijaczleweli/BearLibTerminal.rs) @@ -827,7 +827,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [dalek-cryptography/x25519-dalek](https://github.com/dalek-cryptography/x25519-dalek) - Pure Rust implementation of X25519 key exchange * [debris/tiny-keccak](https://github.com/debris/tiny-keccak) - Pure Rust implementation of the Keccak family (SHA3) * [defund/pw](https://github.com/defund/pw) - CLI password manager with no frills -* [dnaq/sodiumoxide](https://github.com/sodiumoxide/sodiumoxide) — [libsodium](https://github.com/jedisct1/libsodium) bindings [](https://travis-ci.org/dnaq/sodiumoxide) +* [sodiumoxide/sodiumoxide](https://github.com/sodiumoxide/sodiumoxide) — [libsodium](https://github.com/jedisct1/libsodium) bindings [](https://travis-ci.org/sodiumoxide/sodiumoxide) * [doublify/libblockchain](https://github.com/doublify/libblockchain) — A Blockchain implementation [](https://travis-ci.org/doublify/libblockchain) * [exonum/exonum](https://github.com/exonum/exonum) [[exonum](https://crates.io/crates/exonum)] — extensible framework for blockchain projects [](https://travis-ci.org/exonum/exonum) * [klutzy/suruga](https://github.com/klutzy/suruga) — A Rust implementation of [TLS 1.2](https://tools.ietf.org/html/rfc5246) @@ -911,7 +911,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ ### Data structures * [billyevans/tst](https://github.com/billyevans/tst) [[tst](https://crates.io/crates/tst)] — Ternary search tree collection [](https://travis-ci.org/billyevans/tst) -* [bluss/rust-itertools](https://github.com/rust-itertools/itertools) — [](https://travis-ci.org/bluss/rust-itertools) +* [rust-itertools/rust-itertools](https://github.com/rust-itertools/itertools) — [](https://travis-ci.org/rust-itertools/rust-itertools) * [contain-rs](https://github.com/contain-rs) — Extension of Rust's std::collections * [danielpclark/array_tool](https://github.com/danielpclark/array_tool) — Array helpers for Rust. Some of the most common methods you would use on Arrays made available on Vectors. Polymorphic implementations for handling most of your use cases. [](https://travis-ci.org/danielpclark/array_tool) * [fizyk20/generic-array](https://github.com/fizyk20/generic-array) – a hack to allow for arrays sized by typenums [](https://travis-ci.org/fizyk20/generic-array) @@ -1037,7 +1037,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [vitiral/path_abs](https://github.com/vitiral/path_abs) — Absolute serializable path types and associated methods. [](https://travis-ci.org/webdesus/fs_extr://travis-ci.org/vitiral/path_abs) * [webdesus/fs_extra](https://github.com/webdesus/fs_extra) — expanding opportunities standard library std::fs and std::io [](https://travis-ci.org/webdesus/fs_extra) * Temporary Files - * [rust-lang-deprecated/tempdir](https://github.com/rust-lang-deprecated/tempdir) — temporary directory library [](https://travis-ci.org/rust-lang-nursery/tempdir) + * [rust-lang-deprecated/tempdir](https://github.com/rust-lang-deprecated/tempdir) — temporary directory library [](https://travis-ci.org/rust-lang-deprecated/tempdir) * [Stebalien/tempfile](https://github.com/Stebalien/tempfile) — temporary file library [](https://travis-ci.org/Stebalien/tempfile) * [Stebalien/xattr](https://github.com/Stebalien/xattr) [[xattr](https://crates.io/crates/xattr)] — list and manipulate unix extended file attributes [](https://travis-ci.org/Stebalien/xattr) * [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) @@ -1091,7 +1091,7 @@ See also [Are we game yet?](https://arewegameyet.com) * OpenGL [[opengl](https://crates.io/keywords/opengl)] * [brendanzab/gl-rs](https://github.com/brendanzab/gl-rs) — [](https://travis-ci.org/brendanzab/gl-rs) * [glium/glium](https://github.com/glium/glium) — safe OpenGL wrapper for the Rust language. [](https://travis-ci.org/glium/glium) - * [Kiss3d](http://kiss3d.org) — draw simple geometric figures and play with them with one-liners [](https://api.travis-ci.org/repositories/sebcrozet/kiss3d.json) + * [Kiss3d](http://kiss3d.org) — draw simple geometric figures and play with them with one-liners [](https://api.travis-ci.org/repositories/sebcrozet/kiss3d.json) * [PistonDevelopers/glfw-rs](https://github.com/PistonDevelopers/glfw-rs) — [](https://travis-ci.org/PistonDevelopers/glfw-rs) * [glutin](https://crates.io/crates/glutin) — Rust alternative to [GLFW](https://www.glfw.org/) [](https://travis-ci.org/rust-windowing/glutin) * PDF @@ -1134,7 +1134,7 @@ See also [Are we game yet?](https://arewegameyet.com) * [libui](https://github.com/andlabs/libui) * [pcwalton/libui-rs](https://github.com/pcwalton/libui-rs) — libui bindings [](https://travis-ci.org/pcwalton/libui-rs). Abandoned project. The most updated fork is [NoraCodes/libui-rs](https://github.com/NoraCodes/libui-rs). * [Nuklear](https://github.com/vurtun/nuklear) - * [nuklear-rust](https://github.com/snuk182/nuklear-rust) — Rust bindings for Nuklear [](https://travis-ci.org/snuk182/nuklear-rust) + * [nuklear-rust](https://github.com/snuk182/nuklear-rust) — Rust bindings for Nuklear [](https://travis-ci.org/snuk182/nuklear-rust) * [Qt](https://doc.qt.io) * [woboq/qmetaobject-rs](https://github.com/woboq/qmetaobject-rs) - Integrate Qml and Rust by building the QMetaObject at compile time. [](https://travis-ci.org/woboq/qmetaobject-rs) * [cyndis/qmlrs](https://github.com/cyndis/qmlrs) — QtQuick bindings [](https://travis-ci.org/cyndis/qmlrs) @@ -1163,8 +1163,8 @@ See also [Are we game yet?](https://arewegameyet.com) [[log](https://crates.io/keywords/log)] -* [seanmonstar/pretty-env-logger](https://github.com/seanmonstar/pretty-env-logger) — A pretty, easy-to-use logger for Rust. [![Build Status](https://api.travis-ci.com/seanmonstar/pretty-env-logger.svg?branch=master)](https://travis-ci.org/seanmonstar/pretty-env-logger) -* [rust-lang-nursery/log](https://github.com/rust-lang/log) — Logging implementation for Rust [![Build Status](https://api.travis-ci.com/rust-lang-nursery/log.svg?branch=master)](https://travis-ci.org/rust-lang-nursery/log) +* [seanmonstar/pretty-env-logger](https://github.com/seanmonstar/pretty-env-logger) — A pretty, easy-to-use logger for Rust. [![Build Status](https://api.travis-ci.org/seanmonstar/pretty-env-logger.svg?branch=master)](https://travis-ci.org/seanmonstar/pretty-env-logger) +* [rust-lang-nursery/log](https://github.com/rust-lang/log) — Logging implementation for Rust [![Build Status](https://api.travis-ci.org/rust-lang-nursery/log.svg?branch=master)](https://travis-ci.org/rust-lang-nursery/log) * [slog-rs/slog](https://github.com/slog-rs/slog) — Structured, composable logging for Rust [![Build Status](https://api.travis-ci.org/slog-rs/slog.svg?branch=master)](https://travis-ci.org/slog-rs/slog) * [estk/log4rs](https://github.com/estk/log4rs) — highly configurable logging framework modeled after Java's Logback and log4j libraries [![CircleCI](https://circleci.com/gh/estk/log4rs.svg?style=shield)](https://circleci.com/gh/estk/log4rs) @@ -1303,7 +1303,7 @@ See also [Are we game yet?](https://arewegameyet.com) * [sunng87/handlebars-rust](https://github.com/sunng87/handlebars-rust) — Handlebars template engine with inheritance, custom helper support. [](https://travis-ci.org/sunng87/handlebars-rust) * [botika/yarte](https://github.com/botika/yarte) — Yarte stands for **Y**et **A**nother **R**ust **T**emplate **E**ngine, is the fastest template engine. [![Build Status](https://api.travis-ci.org/botika/yarte.svg?branch=master)](https://travis-ci.org/botika/yarte) * HTML - * [lfairy/maud](https://github.com/lambda-fairy/maud) — compile-time HTML templates [](https://travis-ci.org/lfairy/maud) + * [lambda-fairy/maud](https://github.com/lambda-fairy/maud) — compile-time HTML templates [](https://travis-ci.org/lambda-fairy/maud) * [Stebalien/horrorshow-rs](https://github.com/Stebalien/horrorshow-rs) — compile-time HTML templates [](https://travis-ci.org/Stebalien/horrorshow-rs) * [kaj/ructe](https://github.com/kaj/ructe) — HTML template system for Rust [](https://travis-ci.org/kaj/ructe) * [Keats/tera](https://github.com/Keats/tera) — template engine based on Jinja2 and the Django template language. [](https://travis-ci.org/Keats/tera) @@ -1330,7 +1330,7 @@ See also [Are we game yet?](https://arewegameyet.com) * [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)] — [](https://travis-ci.org/BurntSushi/fst) * [minio/minsql](https://github.com/minio/minsql) — High-performance log search engine. [](https://travis-ci.org/minio/minsql) -* [CurrySoftware/perlin](https://github.com/CurrySoftware/perlin) [[perlin](https://crates.io/crates/perlin)] — [](https://travis-ci.org/CurrySoftware/perlin) +* [CurrySoftware/perlin](https://github.com/CurrySoftware/perlin) [[perlin](https://crates.io/crates/perlin)] * [tantivy-search/tantivy](https://github.com/tantivy-search/tantivy) [[tantivy](https://crates.io/crates/tantivy)] — [](https://travis-ci.org/tantivy-search/tantivy) ### Unsafe @@ -1372,8 +1372,8 @@ See also [Are we web yet?](http://www.arewewebyet.org) and [Rust web framework c * [Rocket](https://github.com/SergioBenitez/Rocket) — Rocket is web framework for Rust (nightly) with a focus on ease-of-use, expressability, and speed [](https://travis-ci.org/SergioBenitez/Rocket) * [Rustless](https://github.com/rustless/rustless) — A REST-like API micro-framework inspired by [Grape](https://github.com/ruby-grape/grape) and [Hyper](https://github.com/hyperium/hyper) [](https://travis-ci.org/rustless/rustless) * [Saphir](https://github.com/richerarc/saphir) — A progressive web framework with low-level control, without the pain. - * [rustforce/sapper](https://github.com/daogangtang/sapper) — A lightweight web framework built on async hyper, implemented in Rust language. [](https://travis-ci.org/rustforce/sapper) - * [tiny-http](https://github.com/tiny-http/tiny-http) — Low level HTTP server library [](https://travis-ci.org/tiny-http/tiny-http) + * [daogangtang/sapper](https://github.com/daogangtang/sapper) — A lightweight web framework built on async hyper, implemented in Rust language. [](https://travis-ci.org/daogangtang/sapper) + * [tiny-http](https://github.com/tiny-http/tiny-http) — Low level HTTP server library [](https://travis-ci.org/tiny-http/tiny-http) * [tomaka/rouille](https://github.com/tomaka/rouille) — Web framework in Rust [](https://travis-ci.org/tomaka/rouille) * [carllerche/tower-web](https://github.com/carllerche/tower-web) [[tower-web](https://crates.io/crates/tower-web)] — A fast, boilerplate free, web framework for Rust [](https://travis-ci.org/carllerche/tower-web) * [danclive/sincere](https://github.com/danclive/sincere) — A micro web framework for Rust(stable) based on hyper and multithreading. [](https://travis-ci.org/danclive/sincere) @@ -1398,7 +1398,7 @@ See also [Are we web yet?](http://www.arewewebyet.org) and [Rust web framework c * [getzola/zola](https://github.com/getzola/zola) [[zola](https://www.getzola.org/)] — An opinionated static site generator with everything built-in. [![Build Status](https://api.travis-ci.com/getzola/zola.svg?branch=master)](https://travis-ci.org/getzola/zola) * [cobalt-org/cobalt.rs](https://github.com/cobalt-org/cobalt.rs) — Static site generator written in Rust [](https://travis-ci.org/cobalt-org/cobalt.rs) * [FuGangqiang/mdblog.rs](https://github.com/FuGangqiang/mdblog.rs) — Static site generator from markdown files. - * [leven-the-blog/leven](https://github.com/leven-the-blog/leven) [[leven](https://crates.io/crates/leven)] — A simple, parallelized blog generator. [](https://travis-ci.org/leven-the-blog/leven) + * [leven-the-blog/leven](https://github.com/leven-the-blog/leven) [[leven](https://crates.io/crates/leven)] — A simple, parallelized blog generator. [](https://travis-ci.org/leven-the-blog/leven) ## Registries From 129619dc03be7e059780b2076d8075921c8ee542 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 21 Jan 2020 11:06:12 +0000 Subject: [PATCH 56/65] Fix/remove remaining broken travis build badges --- README.md | 68 +++++++++++++++++++++++++++---------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index ad0f22c..7a0a6a4 100644 --- a/README.md +++ b/README.md @@ -191,9 +191,9 @@ See also [crates matching keyword 'emulator'](https://crates.io/keywords/emulato * [NivenT/RGB](https://github.com/nivent/RGB) — [](https://travis-ci.org/NivenT/RGB) * [mohanson/gameboy](https://github.com/mohanson/gameboy) — Full featured Cross-platform GameBoy emulator. Forever boys!. * NES - * [iamsix/oxidenes](https://github.com/iamsix/oxidenes) — [](https://travis-ci.org/iamsix/oxidenes) + * [iamsix/oxidenes](https://github.com/iamsix/oxidenes) * [koute/pinky](https://github.com/koute/pinky) — [](https://travis-ci.org/koute/pinky) - * [pcwalton/sprocketnes](https://github.com/pcwalton/sprocketnes) — [](https://travis-ci.org/pcwalton/sprocketnes) + * [pcwalton/sprocketnes](https://github.com/pcwalton/sprocketnes) * Playstation * [simias/rustation](https://github.com/simias/rustation) — [](https://travis-ci.org/simias/rustation) * ZX Spectrum @@ -235,7 +235,7 @@ See also [Games Made With Piston](https://github.com/PistonDevelopers/piston/wik * [RazrFalcon/svgcleaner](https://github.com/RazrFalcon/svgcleaner) — tidies SVG graphics * [Twinklebear/tray_rust](https://github.com/Twinklebear/tray_rust) — A ray tracer [](https://travis-ci.org/Twinklebear/tray_rust) * Image processing: - * [mikigraf/Image-Processing-CLI-in-Rust](https://github.com/mikigraf/Image-Processing-CLI-in-Rust) — CLI for processing images, generating histograms. [![Build Status](https://api.travis-ci.org/mikigraf/Image-Processing-CLI-in-Rust.svg?branch=master)](https://travis-ci.org/mikigraf/Image-Processing-CLI-in-Rust) + * [mikigraf/Image-Processing-CLI-in-Rust](https://github.com/mikigraf/Image-Processing-CLI-in-Rust) — CLI for processing images, generating histograms. [![Build Status](https://api.travis-ci.org/spejss/Image-Processing-CLI-in-Rust.svg?branch=master)](https://travis-ci.org/spejss/Image-Processing-CLI-in-Rust) ### Industrial automation * [locka99/opcua](https://github.com/locka99/opcua) — A pure rust [OPC UA](https://opcfoundation.org/about/opc-technologies/opc-ua/) library. @@ -279,7 +279,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [dalance/procs](https://github.com/dalance/procs) — A modern replacement for 'ps' written by Rust [](https://dev.azure.com/dalance/procs/_build/results?buildId=250) * [ddh](https://github.com/darakian/ddh) — Fast duplicate file finder [](https://travis-ci.org/darakian/ddh) * [fselect](https://crates.io/crates/fselect) — Find files with SQL-like queries [](https://travis-ci.org/jhspetersson/fselect) -* [k0pernicus/zou](https://github.com/k0pernicus/zou) — A download accelerator [](https://travis-ci.org/k0pernicus/zou) +* [k0pernicus/zou](https://github.com/k0pernicus/zou) — A download accelerator * [lotabout/rargs](https://github.com/lotabout/rargs) [[rargs](https://crates.io/crates/rargs)] — xargs + awk with pattern matching support [](https://travis-ci.org/lotabout/rargs) * [lotabout/skim](https://github.com/lotabout/skim) — A fuzzy finder in pure rust [](https://travis-ci.org/lotabout/skim) * [mitnk/cicada](https://github.com/mitnk/cicada) — A bash-like Unix shell [](https://travis-ci.org/mitnk/cicada) @@ -306,7 +306,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ ### Text editors * [gchp/iota](https://github.com/gchp/iota) — A simple text editor [](https://travis-ci.org/gchp/iota) -* [mathall/rim](https://github.com/mathall/rim) — Vim-like text editor written in Rust [](https://travis-ci.org/mathall/rim) +* [mathall/rim](https://github.com/mathall/rim) — Vim-like text editor written in Rust * [Remacs](https://github.com/remacs/remacs) — A community-driven port of Emacs to Rust. [](https://travis-ci.org/remacs/remacs) * [xi-editor](https://github.com/xi-editor/xi-editor) — A modern editor with a backend written in Rust. * [xray](https://github.com/atom-archive/xray) — An experimental next-generation Electron-based text editor. [](https://travis-ci.org/atom/xray) @@ -316,7 +316,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [TankerHQ/ruplacer](https://github.com/TankerHQ/ruplacer) — Find and replace text in source files [](https://travis-ci.org/TankerHQ/ruplacer) * [ripgrep](https://crates.io/crates/ripgrep) — combines the usability of The Silver Searcher with the raw speed of grep [](https://travis-ci.org/BurntSushi/ripgrep) * [phiresky/ripgrep-all](https://github.com/phiresky/ripgrep-all) — ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc. [![Build Status](https://api.travis-ci.org/phiresky/ripgrep-all.svg?branch=master)](https://travis-ci.org/phiresky/ripgrep-all) -* [sd](https://crates.io/crates/sd) — Intuitive find & replace CLI [](https://travis-ci.org/chmln/sd) +* [sd](https://crates.io/crates/sd) — Intuitive find & replace CLI * [lavifb/todo_r](https://github.com/lavifb/todo_r) — Find all your TODO notes with one command! [](https://travis-ci.org/lavifb/todo_r) * [whitfin/runiq](https://github.com/whitfin/runiq) — an efficient way to filter duplicate lines from unsorted input. * [whitfin/bytelines](https://github.com/whitfin/bytelines) — Read input lines as byte slices for high efficiency. @@ -336,7 +336,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [evansmurithi/cloak](https://github.com/evansmurithi/cloak) — A Command Line OTP (One Time Password) Authenticator application. [](https://travis-ci.com/evansmurithi/cloak) [](https://ci.appveyor.com/project/evansmurithi/cloak) * [arthrp/consoletimer](https://github.com/arthrp/consoleTimer) - Simple timer for your terminal. [](https://travis-ci.org/arthrp/consoleTimer) * [tversteeg/emplace](https://github.com/tversteeg/emplace) - Synchronize installed packages on multiple machines -* [myfreeweb/freepass](https://github.com/myfreeweb/freepass) — The free password manager for power users. [](https://travis-ci.org/myfreeweb/freepass) +* [myfreeweb/freepass](https://github.com/myfreeweb/freepass) — The free password manager for power users. * [raftario/licensor](https://github.com/raftario/licensor) - write licenses to stdout [![GitHub Actions](https://github.com/raftario/licensor/workflows/Build/badge.svg)](https://github.com/raftario/licensor/actions?workflowID=Build) * [arthrp/quick-skeleton](https://github.com/arthrp/quick-skeleton) — Project scaffolding tool, similar to Yeoman and Slush. [](https://travis-ci.org/arthrp/quick-skeleton) * [repoch](https://github.com/lucawen/repoch) — Convert epoch to datetime and datetime to epoch [](https://travis-ci.com/lucawen/repoch/) @@ -492,7 +492,7 @@ See also [Foreign Function Interface](https://doc.rust-lang.org/book/first-editi * [jni](https://crates.io/crates/jni) — use Rust from Java [](https://travis-ci.org/jni-rs/jni-rs) * [jni-sys](https://crates.io/crates/jni-sys) — Rust definitions corresponding to jni.h [](https://travis-ci.org/sfackler/rust-jni-sys) * [rucaja](https://crates.io/crates/rucaja) — use Java from Rust [](https://travis-ci.org/kud1ing/rucaja) - * [rawrasaur/rust-jdbc](https://github.com/rawrasaur/rust-jdbc) — uses JDBC from Rust [](https://travis-ci.org/rawrasaur/rust-jdbc) + * [rawrasaur/rust-jdbc](https://github.com/rawrasaur/rust-jdbc) — uses JDBC from Rust * Lua * [jcmoyer/rust-lua53](https://github.com/jcmoyer/rust-lua53) — Lua 5.3 bindings for Rust [](https://travis-ci.org/jcmoyer/rust-lua53) * [kballard/rust-lua](https://github.com/lilyball/rust-lua) — Safe Rust bindings to Lua 5.1 [](https://travis-ci.org/lilyball/rust-lua) @@ -571,7 +571,7 @@ See also [Are we (I)DE yet?](https://areweideyet.com/) and [Rust Tools](https:// * [sharkdp/hyperfine](https://github.com/sharkdp/hyperfine) — A command-line benchmarking tool [![Version info](https://img.shields.io/crates/v/hyperfine.svg)](https://crates.io/crates/hyperfine) [![Build Status](https://api.travis-ci.org/sharkdp/hyperfine.svg?branch=master)](https://travis-ci.org/sharkdp/hyperfine) * [performancecopilot/hornet](https://github.com/performancecopilot/hornet) — A Performance Co-Pilot memory-mapped values instrumentation library [![crates.io badge](https://img.shields.io/crates/v/hornet.svg)](https://crates.io/crates/hornet) [](https://travis-ci.org/performancecopilot/hornet) -* [nokia/memory-profiler](https://github.com/koute/memory-profiler) — A memory profiler for Linux [![Build Status](https://api.travis-ci.org/nokia/memory-profiler.svg?branch=master)](https://travis-ci.org/nokia/memory-profiler) +* [koute/memory-profiler](https://github.com/koute/memory-profiler) — A memory profiler for Linux [![Build Status](https://api.travis-ci.org/koute/memory-profiler.svg?branch=master)](https://travis-ci.org/koute/memory-profiler) * [ellisonch/rust-stopwatch](https://github.com/ellisonch/rust-stopwatch) — A stopwatch library [](https://travis-ci.org/ellisonch/rust-stopwatch) * FlameGraphs * [mrhooray/torch](https://github.com/mrhooray/torch) — generates FlameGraphs based on DWARF Debug Info @@ -667,7 +667,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [jpernst/alto](https://github.com/jpernst/alto) — OpenAL 1.1 bindings [](https://travis-ci.org/jpernst/alto) * [musitdev/portmidi-rs](https://github.com/musitdev/portmidi-rs) — [PortMidi](http://portmedia.sourceforge.net/portmidi/) bindings [](https://travis-ci.org/musitdev/portmidi-rs) * [hound](https://crates.io/crates/hound) — A WAV encoding and decoding library [](https://travis-ci.org/ruuda/hound) -* [tomaka/rodio](https://github.com/RustAudio/rodio) — A Rust audio playback library [![Build Status](https://api.travis-ci.org/tomaka/rodio.svg?branch=master)](https://travis-ci.org/tomaka/rodio) +* [RustAudio/rodio](https://github.com/RustAudio/rodio) — A Rust audio playback library [![Build Status](https://api.travis-ci.org/RustAudio/rodio.svg?branch=master)](https://travis-ci.org/RustAudio/rodio) * [RustAudio](https://github.com/RustAudio) * [RustAudio/rust-portaudio](https://github.com/RustAudio/rust-portaudio) — [PortAudio](http://www.portaudio.com/) bindings [](https://travis-ci.org/RustAudio/rust-portaudio) @@ -751,7 +751,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [TimonPost/crossterm](https://github.com/crossterm-rs/crossterm) [[crossterm](https://crates.io/crates/crossterm)] — crossplatform terminal library * [gyscos/Cursive](https://github.com/gyscos/Cursive) [[cursive](https://crates.io/crates/cursive)] — build rich TUI applications [](https://travis-ci.org/gyscos/Cursive) * [ogham/rust-term-grid](https://github.com/ogham/rust-term-grid) [[term_grid](https://crates.io/crates/term_grid)] — Rust library for putting things in a grid [](https://travis-ci.org/ogham/rust-term-grid) - * [redox-os/termion](https://github.com/redox-os/termion) [[termion](https://crates.io/crates/termion)] — bindless library for controlling terminals/TTY [](https://travis-ci.org/redox-os/termion) + * [redox-os/termion](https://github.com/redox-os/termion) [[termion](https://crates.io/crates/termion)] — bindless library for controlling terminals/TTY [](https://travis-ci.org/redox-os/termion) * [fdehau/tui-rs](https://github.com/fdehau/tui-rs) [[tui](https://crates.io/crates/tui)] — A TUI library inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib) and [termui](https://github.com/gizak/termui) [](https://travis-ci.org/fdehau/tui-rs) * BearLibTerminal * [cfyzium/bearlibterminal](https://github.com/nabijaczleweli/BearLibTerminal.rs) [[bear-lib-terminal](https://crates.io/crates/bear-lib-terminal)] — [BearLibTerminal](https://bitbucket.org/cfyzium/bearlibterminal) bindings [](https://travis-ci.org/nabijaczleweli/BearLibTerminal.rs) @@ -799,7 +799,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * Parallel * [arrayfire/arrayfire-rust](https://github.com/arrayfire/arrayfire-rust) — [Arrayfire](https://arrayfire.com/) bindings * [autumnai/collenchyma](https://github.com/autumnai/collenchyma) — An extensible, pluggable, backend-agnostic framework for parallel, high-performance computations on CUDA, OpenCL and common host CPU. [](https://travis-ci.org/autumnai/collenchyma) - * [luqmana/rust-opencl](https://github.com/luqmana/rust-opencl) — [OpenCL](https://www.khronos.org/opencl/) bindings [](https://travis-ci.org/luqmana/rust-opencl) + * [luqmana/rust-opencl](https://github.com/luqmana/rust-opencl) — [OpenCL](https://www.khronos.org/opencl/) bindings * Scirust * [indigits/scirust](https://github.com/indigits/scirust) — scientific computing library in Rust [![Build Status](https://api.travis-ci.org/indigits/scirust.svg?branch=master)](https://travis-ci.org/indigits/scirust) * Statrs @@ -868,7 +868,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * ForestDB * [vhbit/sherwood](https://github.com/vhbit/sherwood) — [ForestDB](https://github.com/couchbase/forestdb) bindings [](https://travis-ci.org/vhbit/sherwood) * [InfluxDB](https://www.influxdata.com/) - * [panoptix-za/influxdb-rs](https://github.com/panoptix-za/influxdb-rs) — asynchronous interface [](https://travis-ci.org/panoptix-za/influxdb-rs) + * [panoptix-za/influxdb-rs](https://github.com/panoptix-za/influxdb-rs) — asynchronous interface * [driftluo/InfluxDBClient-rs](https://github.com/driftluo/InfluxDBClient-rs) — Synchronization interface [](https://travis-ci.org/driftluo/InfluxDBClient-rs) * LevelDB * [skade/leveldb](https://github.com/skade/leveldb) — [LevelDB](https://github.com/google/leveldb) bindings [](https://travis-ci.org/skade/leveldb) @@ -891,7 +891,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * Microsoft SQL * [steffengy/tiberius](https://github.com/steffengy/tiberius) — [](https://travis-ci.org/steffengy/tiberius) * MySql [[mysql](https://crates.io/keywords/mysql)] - * [AgilData/mysql-proxy-rs](https://github.com/AgilData/mysql-proxy-rs) — A MySQL Proxy [](https://travis-ci.org/AgilData/mysql-proxy-rs) + * [AgilData/mysql-proxy-rs](https://github.com/AgilData/mysql-proxy-rs) — A MySQL Proxy [![CircleCI](https://circleci.com/gh/AgilData/mysql-proxy-rs/tree/master.svg?style=svg)](https://circleci.com/gh/AgilData/mysql-proxy-rs/tree/master) * [blackbeam/mysql_async](https://github.com/blackbeam/mysql_async) [[mysql_async](https://crates.io/crates/mysql_async)] — asyncronous Rust Mysql driver based on Tokio. [![CircleCI](https://circleci.com/gh/blackbeam/mysql_async/tree/master.svg?style=shield)](https://circleci.com/gh/blackbeam/mysql_async/tree/master) * [blackbeam/rust-mysql-simple](https://github.com/blackbeam/rust-mysql-simple) [[mysql](https://crates.io/crates/mysql)] — A native MySql client [](https://travis-ci.org/blackbeam/rust-mysql-simple) * PostgreSql [[postgres](https://crates.io/keywords/postgres), [postgresql](https://crates.io/keywords/postgresql)] @@ -911,7 +911,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ ### Data structures * [billyevans/tst](https://github.com/billyevans/tst) [[tst](https://crates.io/crates/tst)] — Ternary search tree collection [](https://travis-ci.org/billyevans/tst) -* [rust-itertools/rust-itertools](https://github.com/rust-itertools/itertools) — [](https://travis-ci.org/rust-itertools/rust-itertools) +* [rust-itertools/itertools](https://github.com/rust-itertools/itertools) — [](https://travis-ci.org/rust-itertools/itertools) * [contain-rs](https://github.com/contain-rs) — Extension of Rust's std::collections * [danielpclark/array_tool](https://github.com/danielpclark/array_tool) — Array helpers for Rust. Some of the most common methods you would use on Arrays made available on Vectors. Polymorphic implementations for handling most of your use cases. [](https://travis-ci.org/danielpclark/array_tool) * [fizyk20/generic-array](https://github.com/fizyk20/generic-array) – a hack to allow for arrays sized by typenums [](https://travis-ci.org/fizyk20/generic-array) @@ -947,7 +947,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * Beanstalkd * [schickling/rust-beanstalkd](https://github.com/schickling/rust-beanstalkd) — [Beanstalkd](https://github.com/beanstalkd/beanstalkd) bindings [](https://travis-ci.org/schickling/rust-beanstalkd) * HDFS - * [hyunsik/hdfs-rs](https://github.com/hyunsik/hdfs-rs) — libhdfs bindings [](https://travis-ci.org/hyunsik/hdfs-rs) + * [hyunsik/hdfs-rs](https://github.com/hyunsik/hdfs-rs) — libhdfs bindings ### Email @@ -968,7 +968,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [arjantop/rust-bencode](https://github.com/arjantop/rust-bencode) — [Bencode](https://en.wikipedia.org/wiki/Bencode) implementation in Rust [](https://travis-ci.org/arjantop/rust-bencode) * Binary * [arcnmx/nue](https://github.com/arcnmx/nue) — I/O and binary data encoding for Rust [](https://travis-ci.org/arcnmx/nue) - * [TyOverby/bincode](https://github.com/servo/bincode) — A binary encoder/decoder in Rust [](https://travis-ci.org/TyOverby/bincode) + * [servo/bincode](https://github.com/servo/bincode) — A binary encoder/decoder in Rust [](https://travis-ci.org/servo/bincode) * [m4b/goblin](https://github.com/m4b/goblin) [[goblin](https://crates.io/crates/goblin)] — cross-platform, zero-copy, and endian-aware binary parsing [](https://travis-ci.org/m4b/goblin) * BSON * [mongodb/bson-rust](https://github.com/mongodb/bson-rust) — Encoding and decoding support for BSON in Rust @@ -999,7 +999,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [maciejhirsz/json-rust](https://github.com/maciejhirsz/json-rust) [[json](https://crates.io/crates/json)] — JSON implementation in Rust [](https://travis-ci.org/maciejhirsz/json-rust) * [importcjj/rust-ajson](https://github.com/importcjj/rust-ajson) [[ajson]](https://crates.io/crates/ajson) — Get JSON values quickly [](https://travis-ci.com/importcjj/rust-ajson) * Jsonnet - * [Qihoo360/rust-jsonnet](https://github.com/Qihoo360/rust-jsonnet) — [](https://travis-ci.org/Qihoo360/rust-jsonnet) + * [Qihoo360/rust-jsonnet](https://github.com/Qihoo360/rust-jsonnet) * MsgPack * [3Hren/msgpack-rust](https://github.com/3Hren/msgpack-rust) — A pure Rust low/high level MessagePack implementation [](https://travis-ci.org/3Hren/msgpack-rust) * PEM @@ -1052,7 +1052,7 @@ See also [Are we game yet?](https://arewegameyet.com) * Corange * [lucidscape/corange-rs](https://github.com/lucidscape/corange-rs) — [Corange](https://github.com/orangeduck/Corange) bindings * Entity-Component Systems (ECS) - * [slide-rs/specs](https://github.com/amethyst/specs) — Specs Parallel ECS [](https://travis-ci.org/slide-rs/specs) + * [amethyst/specs](https://github.com/amethyst/specs) — Specs Parallel ECS [](https://travis-ci.org/amethyst/specs) * Game Engines * [Amethyst](https://amethyst.rs) — Data-oriented game engine [](https://jenkins.amethyst-engine.org/blue/organizations/jenkins/amethyst/activity/) * [Piston](https://www.piston.rs/) — [](https://travis-ci.org/PistonDevelopers/piston) @@ -1091,7 +1091,7 @@ See also [Are we game yet?](https://arewegameyet.com) * OpenGL [[opengl](https://crates.io/keywords/opengl)] * [brendanzab/gl-rs](https://github.com/brendanzab/gl-rs) — [](https://travis-ci.org/brendanzab/gl-rs) * [glium/glium](https://github.com/glium/glium) — safe OpenGL wrapper for the Rust language. [](https://travis-ci.org/glium/glium) - * [Kiss3d](http://kiss3d.org) — draw simple geometric figures and play with them with one-liners [](https://api.travis-ci.org/repositories/sebcrozet/kiss3d.json) + * [Kiss3d](http://kiss3d.org) — draw simple geometric figures and play with them with one-liners [](https://api.travis-ci.org/repositories/sebcrozet/kiss3d) * [PistonDevelopers/glfw-rs](https://github.com/PistonDevelopers/glfw-rs) — [](https://travis-ci.org/PistonDevelopers/glfw-rs) * [glutin](https://crates.io/crates/glutin) — Rust alternative to [GLFW](https://www.glfw.org/) [](https://travis-ci.org/rust-windowing/glutin) * PDF @@ -1104,7 +1104,7 @@ See also [Are we game yet?](https://arewegameyet.com) ### Graph processing -* [kud1ing/tinkerpop-rs](https://github.com/kud1ing/tinkerpop-rs) — an example how to use Apache TinkerPop from Rust [](https://travis-ci.org/kud1ing/tinkerpop-rs) +* [kud1ing/tinkerpop-rs](https://github.com/kud1ing/tinkerpop-rs) — an example how to use Apache TinkerPop from Rust ### GUI @@ -1118,7 +1118,7 @@ See also [Are we game yet?](https://arewegameyet.com) * Cocoa - * [kylewlacy/sorbet-cocoa](https://github.com/kylewlacy/sorbet-cocoa) — [](https://travis-ci.org/kylewlacy/sorbet-cocoa) + * [kylewlacy/sorbet-cocoa](https://github.com/kylewlacy/sorbet-cocoa) * [servo/core-foundation-rs](https://github.com/servo/core-foundation-rs) — [](https://travis-ci.org/servo/core-foundation-rs) * [Flutter](https://flutter.dev/) * [flutter-rs](https://github.com/flutter-rs/flutter-rs) — Build flutter desktop app in dart & rust. @@ -1132,13 +1132,13 @@ See also [Are we game yet?](https://arewegameyet.com) * [dcampbell24/iup-rust](https://github.com/dcampbell24/iup-rust) — IUP bindings [](https://travis-ci.org/dcampbell24/iup-rust) * [Kiss-ui](https://github.com/KISS-UI/kiss-ui) — A simple UI framework built on IUP [![Build Status](https://api.travis-ci.org/cybergeek94/kiss-ui.svg?branch=master)](https://travis-ci.org/cybergeek94/kiss-ui) * [libui](https://github.com/andlabs/libui) - * [pcwalton/libui-rs](https://github.com/pcwalton/libui-rs) — libui bindings [](https://travis-ci.org/pcwalton/libui-rs). Abandoned project. The most updated fork is [NoraCodes/libui-rs](https://github.com/NoraCodes/libui-rs). + * [rust-native-ui/libui-rs](https://github.com/rust-native-ui/libui-rs) — libui bindings [](https://travis-ci.org/rust-native-ui/libui-rs). * [Nuklear](https://github.com/vurtun/nuklear) - * [nuklear-rust](https://github.com/snuk182/nuklear-rust) — Rust bindings for Nuklear [](https://travis-ci.org/snuk182/nuklear-rust) + * [nuklear-rust](https://github.com/snuk182/nuklear-rust) — Rust bindings for Nuklear * [Qt](https://doc.qt.io) * [woboq/qmetaobject-rs](https://github.com/woboq/qmetaobject-rs) - Integrate Qml and Rust by building the QMetaObject at compile time. [](https://travis-ci.org/woboq/qmetaobject-rs) * [cyndis/qmlrs](https://github.com/cyndis/qmlrs) — QtQuick bindings [](https://travis-ci.org/cyndis/qmlrs) - * [kitech/qt.rs](https://github.com/kitech/qt.rs) — Qt5 bindings [](https://travis-ci.org/kitech/qt.rs) + * [kitech/qt.rs](https://github.com/kitech/qt.rs) — Qt5 bindings * [Rust Qt Binding Generator](https://phabricator.kde.org/source/rust-qt-binding-generator/) — Binding generator hosted by KDE. * [rust-qt](https://github.com/rust-qt) — * [White-Oak/qml-rust](https://github.com/White-Oak/qml-rust) — QML bindings. [](https://travis-ci.org/White-Oak/qml-rust) @@ -1164,7 +1164,7 @@ See also [Are we game yet?](https://arewegameyet.com) [[log](https://crates.io/keywords/log)] * [seanmonstar/pretty-env-logger](https://github.com/seanmonstar/pretty-env-logger) — A pretty, easy-to-use logger for Rust. [![Build Status](https://api.travis-ci.org/seanmonstar/pretty-env-logger.svg?branch=master)](https://travis-ci.org/seanmonstar/pretty-env-logger) -* [rust-lang-nursery/log](https://github.com/rust-lang/log) — Logging implementation for Rust [![Build Status](https://api.travis-ci.org/rust-lang-nursery/log.svg?branch=master)](https://travis-ci.org/rust-lang-nursery/log) +* [rust-lang/log](https://github.com/rust-lang/log) — Logging implementation for Rust [![Build Status](https://api.travis-ci.org/rust-lang/log.svg?branch=master)](https://travis-ci.org/rust-lang/log) * [slog-rs/slog](https://github.com/slog-rs/slog) — Structured, composable logging for Rust [![Build Status](https://api.travis-ci.org/slog-rs/slog.svg?branch=master)](https://travis-ci.org/slog-rs/slog) * [estk/log4rs](https://github.com/estk/log4rs) — highly configurable logging framework modeled after Java's Logback and log4j libraries [![CircleCI](https://circleci.com/gh/estk/log4rs.svg?style=shield)](https://circleci.com/gh/estk/log4rs) @@ -1188,7 +1188,7 @@ See also [Are we game yet?](https://arewegameyet.com) * [rust-windowing/android-rs-glue](https://github.com/rust-windowing/android-rs-glue) — glue between Rust and Android [](https://travis-ci.org/rust-windowing/android-rs-glue) * 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. [](https://travis-ci.org/TimNN/cargo-lipo) - * [vhbit/ObjCrust](https://github.com/vhbit/ObjCrust) — using Rust to create an iOS static library [](https://travis-ci.org/vhbit/ObjCrust) + * [vhbit/ObjCrust](https://github.com/vhbit/ObjCrust) — using Rust to create an iOS static library * Pebble * [andars/pebble.rs](https://github.com/andars/pebble.rs) — A crate that allows Rust to be used to develop Pebble applications. * Android / iOS @@ -1203,7 +1203,7 @@ See also [Are we game yet?](https://arewegameyet.com) * FTP * [mattnenterprise/rust-ftp](https://github.com/mattnenterprise/rust-ftp) — an [FTP](https://en.wikipedia.org/wiki/File_Transfer_Protocol) client for Rust [](https://travis-ci.org/mattnenterprise/rust-ftp) * gRPC - * [pingcap/grpc-rs](https://github.com/tikv/grpc-rs) — The gRPC library for Rust built on C Core library and futures [![Build Status](https://api.travis-ci.org/pingcap/grpc-rs.svg?branch=master)](https://travis-ci.org/pingcap/grpc-rs) + * [tikv/grpc-rs](https://github.com/tikv/grpc-rs) — The gRPC library for Rust built on C Core library and futures [![Build Status](https://api.travis-ci.org/tikv/grpc-rs.svg?branch=master)](https://travis-ci.org/tikv/grpc-rs) * IPNetwork * [achanda/ipnetwork](https://github.com/achanda/ipnetwork) — A library to work with IP networks in pure Rust [](https://travis-ci.org/achanda/ipnetwork) * [candrew/netsim](https://github.com/canndrew/netsim) — A Rust library for network simulation and testing [](https://travis-ci.org/canndrew/netsim) @@ -1251,7 +1251,7 @@ See also [Are we game yet?](https://arewegameyet.com) * [m4rw3r/chomp](https://github.com/m4rw3r/chomp) – A fast monadic-style parser combinator [](https://travis-ci.org/m4rw3r/chomp) * [Marwes/combine](https://github.com/Marwes/combine) — parser combinator library [](https://travis-ci.org/Marwes/combine) * [lalrpop/lalrpop](https://github.com/lalrpop/lalrpop) — LR(1) parser generator for Rust [![Build status](https://api.travis-ci.org/lalrpop/lalrpop.svg?branch=master)](https://travis-ci.org/lalrpop/lalrpop) - * [nrc/zero](https://github.com/nrc/zero) — zero-allocation parsing of binary data [](https://travis-ci.org/nrc/zero) + * [nrc/zero](https://github.com/nrc/zero) — zero-allocation parsing of binary data * [pest-parser/pest](https://github.com/pest-parser/pest) — The Elegant Parser [![Build Status](https://api.travis-ci.org/pest-parser/pest.svg?branch=master)](https://travis-ci.org/pest-parser/pest) * [ptal/oak](https://github.com/ptal/oak) — A typed PEG parser generator (compiler plugin) * [rustless/queryst](https://github.com/rustless/queryst) — A query string parsing library for Rust inspired by https://github.com/ljharb/qs [![Build Status](https://api.travis-ci.org/rustless/queryst.svg?branch=master)](https://travis-ci.org/rustless/queryst) @@ -1372,15 +1372,15 @@ See also [Are we web yet?](http://www.arewewebyet.org) and [Rust web framework c * [Rocket](https://github.com/SergioBenitez/Rocket) — Rocket is web framework for Rust (nightly) with a focus on ease-of-use, expressability, and speed [](https://travis-ci.org/SergioBenitez/Rocket) * [Rustless](https://github.com/rustless/rustless) — A REST-like API micro-framework inspired by [Grape](https://github.com/ruby-grape/grape) and [Hyper](https://github.com/hyperium/hyper) [](https://travis-ci.org/rustless/rustless) * [Saphir](https://github.com/richerarc/saphir) — A progressive web framework with low-level control, without the pain. - * [daogangtang/sapper](https://github.com/daogangtang/sapper) — A lightweight web framework built on async hyper, implemented in Rust language. [](https://travis-ci.org/daogangtang/sapper) - * [tiny-http](https://github.com/tiny-http/tiny-http) — Low level HTTP server library [](https://travis-ci.org/tiny-http/tiny-http) + * [daogangtang/sapper](https://github.com/daogangtang/sapper) — A lightweight web framework built on async hyper, implemented in Rust language. [](https://travis-ci.org/daogangtang/sapper) + * [tiny-http](https://github.com/tiny-http/tiny-http) — Low level HTTP server library [](https://travis-ci.org/tiny-http/tiny-http) * [tomaka/rouille](https://github.com/tomaka/rouille) — Web framework in Rust [](https://travis-ci.org/tomaka/rouille) * [carllerche/tower-web](https://github.com/carllerche/tower-web) [[tower-web](https://crates.io/crates/tower-web)] — A fast, boilerplate free, web framework for Rust [](https://travis-ci.org/carllerche/tower-web) * [danclive/sincere](https://github.com/danclive/sincere) — A micro web framework for Rust(stable) based on hyper and multithreading. [](https://travis-ci.org/danclive/sincere) - * [oltdaniel/zap](https://github.com/oltdaniel/zap) — A lightning fast http framework for Rust [](https://travis-ci.org/oltdaniel/zap) + * [oltdaniel/zap](https://github.com/oltdaniel/zap) — A lightning fast http framework for Rust * [WebSocket](https://datatracker.ietf.org/doc/rfc6455/) * [actix/sockjs](https://github.com/actix/sockjs) — A [SockJS](https://github.com/sockjs) server for Rust [](https://travis-ci.org/actix/sockjs) - * [cyderize/rust-websocket](https://github.com/cyderize/rust-websocket) — A framework for dealing with WebSocket connections (both clients and servers) [](https://travis-ci.org/cyderize/rust-websocket) + * [rust-websocket](https://github.com/websockets-rs/rust-websocket) — A framework for dealing with WebSocket connections (both clients and servers) [](https://travis-ci.org/websockets-rs/rust-websocket) * [housleyjk/ws-rs](https://github.com/housleyjk/ws-rs) — lightweight, event-driven WebSockets for Rust [](https://travis-ci.org/housleyjk/ws-rs) * [snapview/tungstenite-rs](https://github.com/snapview/tungstenite-rs) — Lightweight stream-based WebSocket implementation for Rust. * [vi/websocat](https://github.com/vi/websocat) — CLI for interacting with WebSockets, with functionality of Netcat, Curl and Socat. [](https://travis-ci.org/vi/websocat) @@ -1398,7 +1398,7 @@ See also [Are we web yet?](http://www.arewewebyet.org) and [Rust web framework c * [getzola/zola](https://github.com/getzola/zola) [[zola](https://www.getzola.org/)] — An opinionated static site generator with everything built-in. [![Build Status](https://api.travis-ci.com/getzola/zola.svg?branch=master)](https://travis-ci.org/getzola/zola) * [cobalt-org/cobalt.rs](https://github.com/cobalt-org/cobalt.rs) — Static site generator written in Rust [](https://travis-ci.org/cobalt-org/cobalt.rs) * [FuGangqiang/mdblog.rs](https://github.com/FuGangqiang/mdblog.rs) — Static site generator from markdown files. - * [leven-the-blog/leven](https://github.com/leven-the-blog/leven) [[leven](https://crates.io/crates/leven)] — A simple, parallelized blog generator. [](https://travis-ci.org/leven-the-blog/leven) + * [leven-the-blog/leven](https://github.com/leven-the-blog/leven) [[leven](https://crates.io/crates/leven)] — A simple, parallelized blog generator. [](https://travis-ci.org/quadrupleslap/leven) ## Registries From d0b22c76ac561fe73563a5bd631eb89bf9d754b7 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 21 Jan 2020 11:13:25 +0000 Subject: [PATCH 57/65] Fix all the travis badges that didn't specify a branch --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 7a0a6a4..8085681 100644 --- a/README.md +++ b/README.md @@ -105,7 +105,7 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio * [andschwa/rust-genetic-algorithm](https://github.com/andschwa/rust-genetic-algorithm) — A genetic algorithm for academic benchmark problems [](https://travis-ci.org/andschwa/rust-genetic-algorithm) * [cloudflare/boringtun](https://github.com/cloudflare/boringtun) — A Userspace WireGuard VPN Implementation [](https://crates.io/crates/boringtun) * [denoland/deno](https://github.com/denoland/deno) — A secure JavaScript/TypeScript runtime built with V8, Rust, and Tokio [![Build Status](https://github.com/denoland/deno/workflows/ci/badge.svg?branch=master&event=push)](https://github.com/denoland/deno/actions) -* [ivanceras/diwata](https://github.com/ivanceras/diwata) — A database administration tool for postgresql [](https://travis-ci.org/ivanceras/diwata) +* [ivanceras/diwata](https://github.com/ivanceras/diwata) — A database administration tool for postgresql [](https://travis-ci.org/ivanceras/diwata) * [linkerd/linkerd2-proxy](https://github.com/linkerd/linkerd2-proxy) — Ultralight service mesh for Kubernetes. * [darrint/device-blocker](https://github.com/darrint/device-blocker) — Limit screen time to children's various mobile devices by blocking internet access on the family Wifi router. * [dlecan/generic-dns-update](https://github.com/dlecan/generic-dns-update) — A tool to update DNS zonefiles with your IP address [](https://travis-ci.org/dlecan/generic-dns-update) @@ -128,7 +128,7 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio * [Sandstorm Collections App](https://github.com/sandstorm-io/collections-app) * [Servo](https://github.com/servo/servo) — A prototype web browser engine * [trust-dns](https://crates.io/crates/trust-dns) — A DNS-server [](https://travis-ci.org/bluejekyll/trust-dns) -* [Weld](https://github.com/serayuzgur/weld) — Full fake REST API generator [](https://travis-ci.org/serayuzgur/weld) +* [Weld](https://github.com/serayuzgur/weld) — Full fake REST API generator [](https://travis-ci.org/serayuzgur/weld) * [kytan](https://github.com/changlan/kytan) - High Performance Peer-to-Peer VPN * [rx](https://github.com/cloudhead/rx) - Vi inspired Modern Pixel Art Editor * [updns](https://github.com/wyhaya/updns) - DNS proxy tool @@ -230,10 +230,10 @@ See also [Games Made With Piston](https://github.com/PistonDevelopers/piston/wik ### Graphics * [Limeth/euclider](https://github.com/Limeth/euclider) — A real-time 4D CPU ray tracer [](https://travis-ci.org/Limeth/euclider) -* [RazrFalcon/resvg](https://github.com/RazrFalcon/resvg) — An SVG rendering library. [](https://travis-ci.org/RazrFalcon/resvg) -* [ivanceras/svgbob](https://github.com/ivanceras/svgbob) — converts ASCII diagrams into SVG graphics [](https://travis-ci.org/ivanceras/svgbob) +* [RazrFalcon/resvg](https://github.com/RazrFalcon/resvg) — An SVG rendering library. [](https://travis-ci.org/RazrFalcon/resvg) +* [ivanceras/svgbob](https://github.com/ivanceras/svgbob) — converts ASCII diagrams into SVG graphics [](https://travis-ci.org/ivanceras/svgbob) * [RazrFalcon/svgcleaner](https://github.com/RazrFalcon/svgcleaner) — tidies SVG graphics -* [Twinklebear/tray_rust](https://github.com/Twinklebear/tray_rust) — A ray tracer [](https://travis-ci.org/Twinklebear/tray_rust) +* [Twinklebear/tray_rust](https://github.com/Twinklebear/tray_rust) — A ray tracer [](https://travis-ci.org/Twinklebear/tray_rust) * Image processing: * [mikigraf/Image-Processing-CLI-in-Rust](https://github.com/mikigraf/Image-Processing-CLI-in-Rust) — CLI for processing images, generating histograms. [![Build Status](https://api.travis-ci.org/spejss/Image-Processing-CLI-in-Rust.svg?branch=master)](https://travis-ci.org/spejss/Image-Processing-CLI-in-Rust) @@ -495,7 +495,7 @@ See also [Foreign Function Interface](https://doc.rust-lang.org/book/first-editi * [rawrasaur/rust-jdbc](https://github.com/rawrasaur/rust-jdbc) — uses JDBC from Rust * Lua * [jcmoyer/rust-lua53](https://github.com/jcmoyer/rust-lua53) — Lua 5.3 bindings for Rust [](https://travis-ci.org/jcmoyer/rust-lua53) - * [kballard/rust-lua](https://github.com/lilyball/rust-lua) — Safe Rust bindings to Lua 5.1 [](https://travis-ci.org/lilyball/rust-lua) + * [kballard/rust-lua](https://github.com/lilyball/rust-lua) — Safe Rust bindings to Lua 5.1 [](https://travis-ci.org/lilyball/rust-lua) * [tickbh/td_rlua](https://github.com/tickbh/td_rlua) — Zero-cost high-level lua 5.3 wrapper for Rust [](https://travis-ci.org/tickbh/td_rlua) * [tomaka/hlua](https://github.com/tomaka/hlua) — Rust library to interface with Lua [](https://travis-ci.org/tomaka/hlua) * mruby @@ -719,15 +719,15 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [clap-rs](https://github.com/clap-rs/clap) [[clap](https://crates.io/crates/clap)] — A simple to use, full featured command-line argument parser [](https://travis-ci.org/clap-rs/clap) * [docopt/docopt.rs](https://github.com/docopt/docopt.rs) [[docopt](https://crates.io/crates/docopt)] — A Rust implementation of [DocOpt](http://docopt.org) [](https://travis-ci.org/docopt/docopt.rs) * [TeXitoi/structopt](https://github.com/TeXitoi/structopt) [[structopt](https://crates.io/crates/structopt)] — parse command line argument by defining a struct [](https://travis-ci.org/TeXitoi/structopt) - * [killercup/quicli](https://github.com/killercup/quicli) [[quicli](https://crates.io/crates/quicli)] — quickly build cool CLI apps in Rust [](https://travis-ci.org/killercup/quicli) + * [killercup/quicli](https://github.com/killercup/quicli) [[quicli](https://crates.io/crates/quicli)] — quickly build cool CLI apps in Rust [](https://travis-ci.org/killercup/quicli) * Data visualization * [reugn/rspark](https://github.com/reugn/rspark) [[rspark](https://crates.io/crates/rspark)] - ▁▂▆▇▁▄█▁ Sparklines for Rust apps [](https://travis-ci.org/reugn/rspark) * Human-centered design - * [rust-cli/human-panic](https://github.com/rust-cli/human-panic) [[human-panic](https://crates.io/crates/human-panic)] — panic messages for humans [](https://travis-ci.org/rust-cli/human-panic) + * [rust-cli/human-panic](https://github.com/rust-cli/human-panic) [[human-panic](https://crates.io/crates/human-panic)] — panic messages for humans [](https://travis-ci.org/rust-cli/human-panic) * Line editor * [srijs/rust-copperline](https://github.com/srijs/rust-copperline) [[copperline](https://crates.io/crates/copperline)] — pure-Rust command line editing library - * [MovingtoMars/liner](https://github.com/MovingtoMars/liner) [[liner](https://crates.io/crates/liner)] — A library offering readline-like functionality [](https://travis-ci.org/MovingtoMars/liner) - * [murarth/linefeed](https://github.com/murarth/linefeed) [[linefeed](https://crates.io/crates/linefeed)] — Configurable, extensible, interactive line reader [](https://travis-ci.org/murarth/linefeed) + * [MovingtoMars/liner](https://github.com/MovingtoMars/liner) [[liner](https://crates.io/crates/liner)] — A library offering readline-like functionality [](https://travis-ci.org/MovingtoMars/liner) + * [murarth/linefeed](https://github.com/murarth/linefeed) [[linefeed](https://crates.io/crates/linefeed)] — Configurable, extensible, interactive line reader [](https://travis-ci.org/murarth/linefeed) * [kkawakam/rustyline](https://github.com/kkawakam/rustyline) [[rustyline](https://crates.io/crates/rustyline)] — readline implementation in Rust [](https://travis-ci.org/kkawakam/rustyline) * Pipeline * [imp/pager-rs](https://gitlab.com/imp/pager-rs) [[pager](https://crates.io/crates/pager)] — pipe your output through an external pager @@ -875,7 +875,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * LMDB [[lmdb](https://crates.io/keywords/lmdb)] * [vhbit/lmdb-rs](https://github.com/vhbit/lmdb-rs) [[lmdb-rs](https://crates.io/crates/lmdb-rs)] — [LMDB](https://symas.com/lmdb/) bindings [](https://travis-ci.org/vhbit/lmdb-rs) * MongoDB [[mongodb](https://crates.io/keywords/mongodb)] - * [mongodb-labs/mongo-rust-driver-prototype](https://github.com/mongodb-labs/mongo-rust-driver-prototype) [[mongodb](https://crates.io/crates/mongodb)] — [MongoDB](https://www.mongodb.com/) bindings [](https://travis-ci.org/mongodb-labs/mongo-rust-driver-prototype) + * [mongodb-labs/mongo-rust-driver-prototype](https://github.com/mongodb-labs/mongo-rust-driver-prototype) [[mongodb](https://crates.io/crates/mongodb)] — [MongoDB](https://www.mongodb.com/) bindings [](https://travis-ci.org/mongodb-labs/mongo-rust-driver-prototype) * Neo4j [[cypher](https://crates.io/keywords/cypher), [neo4j](https://crates.io/keywords/neo4j)] * Redis [[redis](https://crates.io/keywords/redis)] * [mitsuhiko/redis-rs](https://github.com/mitsuhiko/redis-rs) — [Redis](https://redis.io/) library in Rust [](https://travis-ci.org/mitsuhiko/redis-rs) @@ -1052,7 +1052,7 @@ See also [Are we game yet?](https://arewegameyet.com) * Corange * [lucidscape/corange-rs](https://github.com/lucidscape/corange-rs) — [Corange](https://github.com/orangeduck/Corange) bindings * Entity-Component Systems (ECS) - * [amethyst/specs](https://github.com/amethyst/specs) — Specs Parallel ECS [](https://travis-ci.org/amethyst/specs) + * [amethyst/specs](https://github.com/amethyst/specs) — Specs Parallel ECS [](https://travis-ci.org/amethyst/specs) * Game Engines * [Amethyst](https://amethyst.rs) — Data-oriented game engine [](https://jenkins.amethyst-engine.org/blue/organizations/jenkins/amethyst/activity/) * [Piston](https://www.piston.rs/) — [](https://travis-ci.org/PistonDevelopers/piston) From 410e407c92df5ad20e58326a2b9fb753a387c7cb Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 21 Jan 2020 11:27:03 +0000 Subject: [PATCH 58/65] Replace various usages of shields.io travis badges with actual Travis badges --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 8085681..fd64265 100644 --- a/README.md +++ b/README.md @@ -301,7 +301,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [m4b/bingrep](https://github.com/m4b/bingrep) — Greps through binaries from various OSs and architectures, and colors them. [](https://travis-ci.org/m4b/bingrep) * [uutils/coreutils](https://github.com/uutils/coreutils) — A cross-platform Rust rewrite of the GNU coreutils [](https://travis-ci.org/uutils/coreutils) * [watchexec](https://github.com/watchexec/watchexec) — Executes commands in response to file modifications [](https://travis-ci.org/watchexec/watchexec) -* [XAMPPRocky/tokei](https://github.com/XAMPPRocky/tokei) — counts the lines of code [](https://travis-ci.org/XAMPPRocky/tokei) +* [XAMPPRocky/tokei](https://github.com/XAMPPRocky/tokei) — counts the lines of code [](https://travis-ci.org/XAMPPRocky/tokei) ### Text editors @@ -371,7 +371,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [thecoshman/http](https://github.com/thecoshman/http) — Host These Things Please — A basic http server for hosting a folder fast and simply [](https://travis-ci.org/thecoshman/http) * [svenstaro/miniserve](https://github.com/svenstaro/miniserve) — A small, self-contained cross-platform CLI tool that allows you to just grab the binary and serve some file(s) via HTTP [](https://travis-ci.org/svenstaro/miniserve) * [TheWaWaR/simple-http-server](https://github.com/TheWaWaR/simple-http-server) — simple static http server -* [wyhaya/see](https://github.com/wyhaya/see) — Static HTTP file server [![Build Status](https://img.shields.io/travis/wyhaya/see.svg)](https://travis-ci.org/wyhaya/see) +* [wyhaya/see](https://github.com/wyhaya/see) — Static HTTP file server [![Build Status](https://api.travis-ci.org/wyhaya/see.svg)](https://travis-ci.org/wyhaya/see) ## Development tools @@ -651,7 +651,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ ### Asynchronous * [zonyitoo/coio-rs](https://github.com/zonyitoo/coio-rs) — A coroutine I/O library with a working-stealing scheduler [](https://travis-ci.org/zonyitoo/coio-rs) -* [dpc/mioco](https://github.com/dpc/mioco) — Scalable, coroutine-based, asynchronous IO handling library [Travis CI Build Status](https://travis-ci.org/dpc/mioco) +* [dpc/mioco](https://github.com/dpc/mioco) — Scalable, coroutine-based, asynchronous IO handling library [Travis CI Build Status](https://travis-ci.org/dpc/mioco) * [TeaEntityLab/fpRust](https://github.com/TeaEntityLab/fpRust) — Monad/MonadIO, Handler, Coroutine/doNotation, Functional Programming features for Rust [Travis CI Build Status](https://travis-ci.org/TeaEntityLab/fpRust) * [rust-lang/futures-rs](https://github.com/rust-lang/futures-rs) — Zero-cost futures in Rust [Travis CI Build Status](https://travis-ci.org/rust-lang/futures-rs) * [mio](https://github.com/tokio-rs/mio) — MIO is a lightweight IO library for Rust with a focus on adding as little overhead as possible over the OS abstractions [](https://travis-ci.org/tokio-rs/mio) @@ -705,7 +705,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [orium/archery](https://github.com/orium/archery) [[archery](https://crates.io/crates/archery)] — Library to abstract from `Rc`/`Arc` pointer types. [](https://travis-ci.org/orium/archery) * [pop-os/bus-writer](https://github.com/pop-os/bus-writer) — Generic single-reader, multi-writer * [Rayon](https://github.com/rayon-rs/rayon) – A data parallelism library for Rust [](https://travis-ci.org/rayon-rs/rayon) -* [rustcc/coroutine-rs](https://github.com/rustcc/coroutine-rs) – Coroutine Library in Rust [](https://travis-ci.org/rustcc/coroutine-rs) +* [rustcc/coroutine-rs](https://github.com/rustcc/coroutine-rs) – Coroutine Library in Rust [](https://travis-ci.org/rustcc/coroutine-rs) * [zonyitoo/coio-rs](https://github.com/zonyitoo/coio-rs) – Coroutine I/O for Rust [](https://travis-ci.org/zonyitoo/coio-rs) ### Cloud @@ -743,7 +743,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [starship/starship](https://starship.rs/) [[starship](https://crates.io/crates/starship)] — A minimal, blazing fast, and extremely customizable prompt for any shell [![Build status](https://github.com/starship/starship/workflows/Main%20workflow/badge.svg)](https://github.com/starship/starship/actions) * Style * [ogham/rust-ansi-term](https://github.com/ogham/rust-ansi-term) [[ansi_term](https://crates.io/crates/ansi_term)] — control colours and formatting on ANSI terminals [](https://travis-ci.org/ogham/rust-ansi-term) - * [LukasKalbertodt/term-painter](https://github.com/LukasKalbertodt/term-painter) [[term-painter](https://crates.io/crates/term-painter)] — cross-platform styled terminal output [](https://travis-ci.org/LukasKalbertodt/term-painter) + * [LukasKalbertodt/term-painter](https://github.com/LukasKalbertodt/term-painter) [[term-painter](https://crates.io/crates/term-painter)] — cross-platform styled terminal output [](https://travis-ci.org/LukasKalbertodt/term-painter) * [vitiral/termstyle](https://github.com/vitiral/termstyle) [[termstyle](https://docs.rs/termstyle/0.1.2/termstyle/)] — build (and test) formatted and styled command line applications * [SergioBenitez/yansi](https://github.com/SergioBenitez/yansi) [[yansi](https://crates.io/crates/yansi)] — A dead simple ANSI terminal color painting library * [mackwic/colored](https://github.com/mackwic/colored) [[colored](https://crates.io/crates/colored)] — Coloring terminal so simple, you already know how to do it! @@ -1085,9 +1085,9 @@ See also [Are we game yet?](https://arewegameyet.com) [[graphics](https://crates.io/keywords/graphics)] -* [gfx-rs/gfx](https://github.com/gfx-rs/gfx) — A high-performance, bindless graphics API for Rust. [](https://travis-ci.org/gfx-rs/gfx) +* [gfx-rs/gfx](https://github.com/gfx-rs/gfx) — A high-performance, bindless graphics API for Rust. [](https://travis-ci.org/gfx-rs/gfx) * Font - * [redox-os/rusttype](https://github.com/redox-os/rusttype) — A pure Rust alternative to libraries like FreeType [](https://travis-ci.org/redox-os/rusttype) + * [redox-os/rusttype](https://github.com/redox-os/rusttype) — A pure Rust alternative to libraries like FreeType [](https://travis-ci.org/redox-os/rusttype) * OpenGL [[opengl](https://crates.io/keywords/opengl)] * [brendanzab/gl-rs](https://github.com/brendanzab/gl-rs) — [](https://travis-ci.org/brendanzab/gl-rs) * [glium/glium](https://github.com/glium/glium) — safe OpenGL wrapper for the Rust language. [](https://travis-ci.org/glium/glium) From b58efe53c6dd1d7d9ffcd783cdf6ea5f300d7554 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 21 Jan 2020 11:27:27 +0000 Subject: [PATCH 59/65] Remove extra ] from end of rsign link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fd64265..86f2de9 100644 --- a/README.md +++ b/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 -* [rsign](https://crates.io/crates/rsign) — A simple command-line tool used to generate/sign/verify digital signatures designed to be compatible with Minisign ![Codeship Status for danielrangel/rsign](https://app.codeship.com/projects/60b28d80-7645-0135-4402-1639b58199d0/status?branch=master)] +* [rsign](https://crates.io/crates/rsign) — A simple command-line tool used to generate/sign/verify digital signatures designed to be compatible with Minisign ![Codeship Status for danielrangel/rsign](https://app.codeship.com/projects/60b28d80-7645-0135-4402-1639b58199d0/status?branch=master) * [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/workflows/Rust/badge.svg) * [Sandstorm Collections App](https://github.com/sandstorm-io/collections-app) * [Servo](https://github.com/servo/servo) — A prototype web browser engine From e57b4986324c7323c41a745546de6d018f815317 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 21 Jan 2020 11:29:22 +0000 Subject: [PATCH 60/65] Couple of the new shields-converted build badges were missing branch names --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 86f2de9..a715e01 100644 --- a/README.md +++ b/README.md @@ -301,7 +301,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [m4b/bingrep](https://github.com/m4b/bingrep) — Greps through binaries from various OSs and architectures, and colors them. [](https://travis-ci.org/m4b/bingrep) * [uutils/coreutils](https://github.com/uutils/coreutils) — A cross-platform Rust rewrite of the GNU coreutils [](https://travis-ci.org/uutils/coreutils) * [watchexec](https://github.com/watchexec/watchexec) — Executes commands in response to file modifications [](https://travis-ci.org/watchexec/watchexec) -* [XAMPPRocky/tokei](https://github.com/XAMPPRocky/tokei) — counts the lines of code [](https://travis-ci.org/XAMPPRocky/tokei) +* [XAMPPRocky/tokei](https://github.com/XAMPPRocky/tokei) — counts the lines of code [](https://travis-ci.org/XAMPPRocky/tokei) ### Text editors @@ -705,7 +705,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [orium/archery](https://github.com/orium/archery) [[archery](https://crates.io/crates/archery)] — Library to abstract from `Rc`/`Arc` pointer types. [](https://travis-ci.org/orium/archery) * [pop-os/bus-writer](https://github.com/pop-os/bus-writer) — Generic single-reader, multi-writer * [Rayon](https://github.com/rayon-rs/rayon) – A data parallelism library for Rust [](https://travis-ci.org/rayon-rs/rayon) -* [rustcc/coroutine-rs](https://github.com/rustcc/coroutine-rs) – Coroutine Library in Rust [](https://travis-ci.org/rustcc/coroutine-rs) +* [rustcc/coroutine-rs](https://github.com/rustcc/coroutine-rs) – Coroutine Library in Rust [](https://travis-ci.org/rustcc/coroutine-rs) * [zonyitoo/coio-rs](https://github.com/zonyitoo/coio-rs) – Coroutine I/O for Rust [](https://travis-ci.org/zonyitoo/coio-rs) ### Cloud From d14ad96d0f314cc6ab23b3c1e995404a2cbb9d47 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 21 Jan 2020 11:27:27 +0000 Subject: [PATCH 61/65] Remove extra ] from end of rsign link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b64603b..391d6bf 100644 --- a/README.md +++ b/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 -* [rsign](https://crates.io/crates/rsign) — A simple command-line tool used to generate/sign/verify digital signatures designed to be compatible with Minisign ![Codeship Status for danielrangel/rsign](https://app.codeship.com/projects/60b28d80-7645-0135-4402-1639b58199d0/status?branch=master)] +* [rsign](https://crates.io/crates/rsign) — A simple command-line tool used to generate/sign/verify digital signatures designed to be compatible with Minisign ![Codeship Status for danielrangel/rsign](https://app.codeship.com/projects/60b28d80-7645-0135-4402-1639b58199d0/status?branch=master) * [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/workflows/Rust/badge.svg) * [Sandstorm Collections App](https://github.com/sandstorm-io/collections-app) * [Servo](https://github.com/servo/servo) — A prototype web browser engine From b7e4121791777e6fbff1a60899eeca6feb4ccafa Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Wed, 22 Jan 2020 10:24:23 +0000 Subject: [PATCH 62/65] rust-lua naming pointed to old name for user --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2b59519..e92edb9 100644 --- a/README.md +++ b/README.md @@ -498,7 +498,7 @@ See also [Foreign Function Interface](https://doc.rust-lang.org/book/first-editi * [rawrasaur/rust-jdbc](https://github.com/rawrasaur/rust-jdbc) — uses JDBC from Rust * Lua * [jcmoyer/rust-lua53](https://github.com/jcmoyer/rust-lua53) — Lua 5.3 bindings for Rust [](https://travis-ci.org/jcmoyer/rust-lua53) - * [kballard/rust-lua](https://github.com/lilyball/rust-lua) — Safe Rust bindings to Lua 5.1 [](https://travis-ci.org/lilyball/rust-lua) + * [lilyball/rust-lua](https://github.com/lilyball/rust-lua) — Safe Rust bindings to Lua 5.1 [](https://travis-ci.org/lilyball/rust-lua) * [tickbh/td_rlua](https://github.com/tickbh/td_rlua) — Zero-cost high-level lua 5.3 wrapper for Rust [](https://travis-ci.org/tickbh/td_rlua) * [tomaka/hlua](https://github.com/tomaka/hlua) — Rust library to interface with Lua [](https://travis-ci.org/tomaka/hlua) * mruby From 4b92f30d0d7bf9c154183176082e92b5b1167c9f Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Wed, 22 Jan 2020 10:24:43 +0000 Subject: [PATCH 63/65] fp-core had 301'ing build badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e92edb9..213e35f 100644 --- a/README.md +++ b/README.md @@ -1049,7 +1049,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ ### 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 [![Build Status](https://travis-ci.com/JasonShin/fp-core.rs.svg?branch=master)](https://travis-ci.com/JasonShin/fp-core.rs) + * [JasonShin/fp-core.rs](https://github.com/JasonShin/fp-core.rs) - A library for functional programming in Rust [![Build Status](https://api.travis-ci.com/JasonShin/fp-core.rs.svg?branch=master)](https://travis-ci.com/JasonShin/fp-core.rs) ### Game development From 0e9fd3529a0a88c9f8ca2ac64c75fad00e621494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Sinan=20A=C4=9Facan?= Date: Sun, 26 Jan 2020 18:01:14 +0300 Subject: [PATCH 64/65] Add 'tiny' IRC client --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2b59519..66c0d9f 100644 --- a/README.md +++ b/README.md @@ -132,6 +132,7 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio * [Weld](https://github.com/serayuzgur/weld) — Full fake REST API generator [](https://travis-ci.org/serayuzgur/weld) * [kytan](https://github.com/changlan/kytan) - High Performance Peer-to-Peer VPN * [rx](https://github.com/cloudhead/rx) - Vi inspired Modern Pixel Art Editor +* [tiny](https://github.com/osa1/tiny) - A terminal IRC client * [updns](https://github.com/wyhaya/updns) - DNS proxy tool ### Audio From 436fdc128358d7f576b5e17bc18c22882c2b5b0f Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Sun, 26 Jan 2020 22:57:03 +0000 Subject: [PATCH 65/65] inotify repo has moved --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 213e35f..1cf5c4c 100644 --- a/README.md +++ b/README.md @@ -1284,7 +1284,7 @@ See also [Are we game yet?](https://arewegameyet.com) * [frol/cgroups-fs](https://github.com/frol/cgroups-fs) — Rust bindings to Linux Control Groups (cgroups) [](https://travis-ci.org/frol/cgroups-fs) * [pop-os/dbus-udisks2](https://github.com/pop-os/dbus-udisks2) — UDisks2 DBus API * [pop-os/distinst](https://github.com/pop-os/distinst/) — Linux distribution installer library - * [inotify-rs/inotify](https://github.com/inotify-rs/inotify) — [inotify](https://en.wikipedia.org/wiki/Inotify) bindings [](https://travis-ci.org/inotify-rs/inotify) + * [hannobraun/inotify](https://github.com/hannobraun/inotify) — [inotify](https://en.wikipedia.org/wiki/Inotify) bindings [](https://travis-ci.org/hannobraun/inotify) * [arvancloud/nginx-rs](https://github.com/arvancloud/nginx-rs) — [Nginx](https://www.nginx.com) bindings [](https://travis-ci.org/arvancloud/nginx-rs) * [yaa110/rust-iptables](https://github.com/yaa110/rust-iptables) — [iptables](https://www.netfilter.org/projects/iptables/index.html) bindings [](https://travis-ci.org/yaa110/rust-iptables) * Unix-like