Awesome
<h1 align="center">async-std</h1> <div align="center"> <strong> Async version of the Rust standard library </strong> </div> <br /> <div align="center"> <!-- CI status --> <a href="https://github.com/async-rs/async-std/actions"> <img src="https://img.shields.io/github/actions/workflow/status/async-rs/async-std/ci.yml?branch=main&style=flat-square" alt="CI Status" /> </a> <!-- Crates version --> <a href="https://crates.io/crates/async-std"> <img src="https://img.shields.io/crates/v/async-std.svg?style=flat-square" alt="Crates.io version" /> </a> <!-- Downloads --> <a href="https://crates.io/crates/async-std"> <img src="https://img.shields.io/crates/d/async-std.svg?style=flat-square" alt="Download" /> </a> <!-- docs.rs docs --> <a href="https://docs.rs/async-std"> <img src="https://img.shields.io/badge/docs-latest-blue.svg?style=flat-square" alt="docs.rs docs" /> </a> <a href="https://discord.gg/JvZeVNe"> <img src="https://img.shields.io/discord/598880689856970762.svg?logo=discord&style=flat-square" alt="chat" /> </a> </div> <div align="center"> <h3> <a href="https://docs.rs/async-std"> API Docs </a> <span> | </span> <a href="https://book.async.rs"> Book </a> <span> | </span> <a href="https://github.com/async-rs/async-std/releases"> Releases </a> <span> | </span> <a href="https://async.rs/contribute"> Contributing </a> </h3> </div> <br/>This crate provides an async version of std
. It provides all the interfaces
you are used to, but in an async version and ready for Rust's async
/await
syntax.
Features
- Modern: Built from the ground up for
std::future
andasync/await
with blazing fast compilation time. - Fast: Our robust allocator and threadpool designs provide ultra-high throughput with predictably low latency.
- Intuitive: Complete parity with the stdlib means you only need to learn APIs once.
- Clear: Detailed documentation and accessible guides mean using async Rust was never easier.
Examples
use async_std::task;
async fn say_hello() {
println!("Hello, world!");
}
fn main() {
task::block_on(say_hello())
}
More examples, including networking and file access, can be found in our
examples
directory and in our documentation.
Philosophy
We believe Async Rust should be as easy to pick up as Sync Rust. We also believe that the best API is the one you already know. And finally, we believe that providing an asynchronous counterpart to the standard library is the best way stdlib provides a reliable basis for both performance and productivity.
Async-std is the embodiment of that vision. It combines single-allocation task creation, with an adaptive lock-free executor, threadpool and network driver to create a smooth system that processes work at a high pace with low latency, using Rust's familiar stdlib API.
Installation
Run this in your projects folder:
$ cargo add async-std
We also provide a set of "unstable" features with async-std. See the features documentation on how to enable them.
Ecosystem
-
async-tls — Async TLS/SSL streams using Rustls.
-
async-native-tls — Native TLS for Async. Native TLS for futures and async-std.
-
async-tungstenite — Asynchronous WebSockets for async-std, tokio, gio and any std Futures runtime.
-
Tide — Serve the web. A modular web framework built around async/await.
-
SQLx — The Rust SQL Toolkit. SQLx is a 100% safe Rust library for Postgres and MySQL with compile-time checked queries.
-
Surf — Surf the web. Surf is a friendly HTTP client built for casual Rustaceans and veterans alike.
-
Xactor — Xactor is a rust actors framework based on async-std.
-
async-graphql — A GraphQL server library implemented in rust, with full support for async/await.