7 releases (stable)

2.0.1 Jun 8, 2025
1.0.2 Feb 22, 2025
0.2.0 Jan 15, 2025
0.1.10 Oct 3, 2024

#423 in Asynchronous

Download history 37/week @ 2025-07-09 30/week @ 2025-07-16 41/week @ 2025-07-23 16/week @ 2025-07-30 46/week @ 2025-08-06 23/week @ 2025-08-13 65/week @ 2025-08-20 81/week @ 2025-08-27 241/week @ 2025-09-03 157/week @ 2025-09-10 447/week @ 2025-09-17 667/week @ 2025-09-24 644/week @ 2025-10-01 934/week @ 2025-10-08 562/week @ 2025-10-15 44/week @ 2025-10-22

2,265 downloads per month
Used in 14 crates (10 directly)

BSD-3-Clause

3MB

okstd

Standards that are OK.

Motivation

Rust's ecosystem is known for its vibrant community and wealth of high-quality crates. However, this abundance has led to some fragmentation, especially when it comes to foundational aspects like asynchronous programming, I/O, and logging. Developers are often faced with choosing between multiple ways of handling async code (e.g., async-std, tokio, smol, surf), several approaches to async I/O, and numerous logging frameworks (e.g., log, env_logger, pretty_env_logger, femme, flexi_logger). While having options is valuable, it can also lead to decision paralysis and make it harder to build an ecosystem of interoperable libraries and frameworks.

This is the crate when we reach for when we need such primitives, essentially the "Battery Included" crate.

📚 Read the book 📚

Dependencies

~6–11MB
~180K SLoC