Networking
Reqwest is an ergonomic, batteries-included HTTP Client for Rust. Plain bodies, JSON, urlencoded, multipart, Customizable redirect policy, HTTP Proxies, HTTPS via system-native TLS (or optionally, rustls), Cookie Store, WASM.
Rustls is a modern TLS library written in Rust. It's pronounced 'rustles'. It uses ring for cryptography and libwebpki for certificate verification.
Macros
Lazy_static is a macro for declaring lazily evaluated statics in Rust. Using this macro, it is possible to have statics that require code to be executed at runtime in order to be initialized. This includes anything requiring heap allocations, like vectors or hash maps, as well as anything that requires non-const function calls to be computed.
Web
Tokio is a runtime for writing reliable, asynchronous, and slim applications with the Rust programming language. Fast: Tokio's zero-cost abstractions give you bare-metal performance.Reliable: Tokio leverages Rust's ownership, type system, and concurrency model to reduce bugs and ensure thread safety.Scalable: Tokio has a minimal footprint, and handles backpressure and cancellation naturally.
Scraper enables HTML parsing and querying with CSS selectors. Scraper provides an interface to Servo's html5ever
and selectors
crates, for browser-grade parsing and querying.
UI
Glib (and GLib bindings) includes the infrastructure to subclass GObject
for extending libraries like GTK+. A code example can be found in the documentation of this crate in the subclass
module.
Continuous Integration
Code coverage: Tarpaulin is designed to be a code coverage reporting tool for the Cargo build system only supports x86_64 processors running Linux or Docker.
This is because instrumenting breakpoints into executables and tracing their execution requires processor and OS specific code
Vulnerabilities: Audit checks cargo.toml
dependencies against a list of known security issues maintained by RustSec. The --features=fix
experimental automatically solves issues detected in dependecies.