César D. Velandia

Rust Libraries


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.