1<p align="center"> 2 <img alt="futures-rs" src="https://raw.githubusercontent.com/rust-lang/futures-rs/gh-pages/assets/images/futures-rs-logo.svg?sanitize=true" width="400"> 3</p> 4 5<p align="center"> 6 Zero-cost asynchronous programming in Rust 7</p> 8 9<p align="center"> 10 <a href="https://github.com/rust-lang/futures-rs/actions?query=branch%3Amaster"> 11 <img alt="Build Status" src="https://img.shields.io/github/actions/workflow/status/rust-lang/futures-rs/ci.yml?branch=master"> 12 </a> 13 14 <a href="https://crates.io/crates/futures"> 15 <img alt="crates.io" src="https://img.shields.io/crates/v/futures.svg"> 16 </a> 17</p> 18 19<p align="center"> 20 <a href="https://docs.rs/futures"> 21 Documentation 22 </a> | <a href="https://rust-lang.github.io/futures-rs/"> 23 Website 24 </a> 25</p> 26 27`futures-rs` is a library providing the foundations for asynchronous programming in Rust. 28It includes key trait definitions like `Stream`, as well as utilities like `join!`, 29`select!`, and various futures combinator methods which enable expressive asynchronous 30control flow. 31 32## Usage 33 34Add this to your `Cargo.toml`: 35 36```toml 37[dependencies] 38futures = "0.3" 39``` 40 41The current `futures` requires Rust 1.56 or later. 42 43### Feature `std` 44 45Futures-rs works without the standard library, such as in bare metal environments. 46However, it has a significantly reduced API surface. To use futures-rs in 47a `#[no_std]` environment, use: 48 49```toml 50[dependencies] 51futures = { version = "0.3", default-features = false } 52``` 53 54## License 55 56Licensed under either of [Apache License, Version 2.0](LICENSE-APACHE) or 57[MIT license](LICENSE-MIT) at your option. 58 59Unless you explicitly state otherwise, any contribution intentionally submitted 60for inclusion in the work by you, as defined in the Apache-2.0 license, shall 61be dual licensed as above, without any additional terms or conditions. 62