Source code

Revision control

Copy as Markdown

Other Tools

<p align="center">
</p>
<p align="center">
Zero-cost asynchronous programming in Rust
</p>
<p align="center">
</a>
<img alt="crates.io" src="https://img.shields.io/crates/v/futures.svg">
</a>
</p>
<p align="center">
Documentation
Website
</a>
</p>
`futures-rs` is a library providing the foundations for asynchronous programming in Rust.
It includes key trait definitions like `Stream`, as well as utilities like `join!`,
`select!`, and various futures combinator methods which enable expressive asynchronous
control flow.
## Usage
Add this to your `Cargo.toml`:
```toml
[dependencies]
futures = "0.3"
```
The current `futures` requires Rust 1.56 or later.
### Feature `std`
Futures-rs works without the standard library, such as in bare metal environments.
However, it has a significantly reduced API surface. To use futures-rs in
a `#[no_std]` environment, use:
```toml
[dependencies]
futures = { version = "0.3", default-features = false }
```
## License
Licensed under either of [Apache License, Version 2.0](LICENSE-APACHE) or
[MIT license](LICENSE-MIT) at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall
be dual licensed as above, without any additional terms or conditions.