rust-lang/futures-rs

Zero-cost asynchronous programming in Rust

5,919

stars

3,344

commits

Rust

primary language

Sep 8, 2026

updated

rust-lang.github.io/futures-rs/
async-foundations
Browse cluster: Rust language and compiler ecosystem

README

futures-rs

Zero-cost asynchronous programming in Rust

Build Status crates.io

Documentation | Website

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:

[dependencies]
futures = "0.3"

The current futures requires Rust 1.71 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:

[dependencies]
futures = { version = "0.3", default-features = false }

License

Licensed under either of Apache License, Version 2.0 or MIT license 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.

Contributors

(top 30 of 323)

alexcrichton

1,119 commits

taiki-e

554 commits

cramertj

233 commits

MajorBreakfast

211 commits

rust-lang/futures-rs

Zero-cost asynchronous programming in Rust

5,919

stars

3,344

commits

Rust

primary language

Sep 8, 2026

updated

rust-lang.github.io/futures-rs/
async-foundations
Browse cluster: Rust language and compiler ecosystem

README

futures-rs

Zero-cost asynchronous programming in Rust

Build Status crates.io

Documentation | Website

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:

[dependencies]
futures = "0.3"

The current futures requires Rust 1.71 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:

[dependencies]
futures = { version = "0.3", default-features = false }

License

Licensed under either of Apache License, Version 2.0 or MIT license 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.

Contributors

(top 30 of 323)

alexcrichton

1,119 commits

taiki-e

554 commits

cramertj

233 commits

MajorBreakfast

211 commits

Languages

Rust

100.0%