Tokio

The async runtime powering most of Rust's networked, concurrent, and I/O-bound applications.

Framework
Cargo
v1.53.1
33,083stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
93/100Excellent
Development Activity100
Maintenance96
Community76
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
91/100Excellent
Architecture94
Code Quality92
Innovation88
Learning Curve88

Tokio is the de facto asynchronous runtime for Rust, providing the task scheduler, I/O reactor, and timer that async/await code needs to actually run. It exposes non-blocking TCP/UDP/Unix-socket networking, filesystem access, process and signal handling, and a full suite of async-aware synchronization primitives (channels, mutexes, semaphores) behind a granular set of Cargo feature flags.

Rather than a small utility crate, Tokio functions as the execution engine underneath most production Rust network services: it drives everything from single-threaded, embedded-style event loops to multi-threaded, work-stealing schedulers handling hundreds of thousands of concurrent connections, and its #[tokio::main] macro is the entry point for a large share of async Rust programs.

What You Get

  • A configurable multi-threaded or single-threaded async task scheduler with work-stealing
  • Non-blocking TCP, UDP, and Unix socket networking plus async filesystem operations
  • Async-aware synchronization primitives: mpsc/oneshot/broadcast/watch channels, Mutex, RwLock, Semaphore
  • Timers, sleeps, intervals, and timeouts driven by an efficient hierarchical timing wheel
  • The #[tokio::main] and #[tokio::test] macros for zero-boilerplate runtime bootstrapping

Common Use Cases

  • Building high-throughput network servers (HTTP, gRPC, WebSocket, custom TCP protocols)
  • Powering async web frameworks and database drivers that need a shared runtime underneath
  • Coordinating concurrent background jobs, timers, and IPC in long-running services

Under The Hood

Architecture The crate’s public surface at tokio/src/lib.rs re-exports a set of modules — runtime, net, io, fs, sync, process, signal, task, and time — built on an internal runtime engine under tokio/src/runtime/. That engine splits into a scheduler/ (work-stealing multi-thread scheduler plus a lighter current-thread scheduler), driver/ (an I/O reactor built on mio that maps onto epoll, kqueue, or IOCP depending on platform), time/ (a hierarchical timing wheel), task/ (the task system backing JoinHandle and task IDs), context/ (thread-local runtime context so nested async calls can find the active runtime), and blocking/ (a dedicated thread pool for spawn_blocking). The #[tokio::main] proc macro, implemented in the separate tokio-macros crate, expands to a Runtime::Builder call followed by .block_on(...), making the macro the literal entry point that boots the scheduler, reactor, and timer before user code runs.

Tech Stack The crate targets Rust 2021 edition with an MSRV of 1.71. Its core dependencies are deliberately minimal: mio for cross-platform OS event-queue abstraction, pin-project-lite for safe self-referential pinning without full proc-macro overhead, bytes for buffer management, socket2 for low-level socket configuration, parking_lot as an optional faster mutex, and signal-hook-registry/windows-sys for Unix and Windows signal handling respectively. The repository is a Cargo workspace of tightly coupled crates — tokio (core runtime), tokio-macros (attribute macros), tokio-stream (Stream trait adapters), tokio-util (codec/framing helpers), and tokio-test (testing utilities) — with nearly every capability (fs, net, sync, rt, time, macros, process, signal, io-uring) gated behind an opt-in Cargo feature so unused code paths never enter a downstream build; a single full feature enables everything at once.

Code Quality The tokio crate ships 173 integration test files under tokio/tests/ alongside embedded unit-test modules in src/runtime/tests, src/sync/tests, and src/runtime/time/tests. lib.rs enforces #![warn(missing_debug_implementations, missing_docs, rust_2018_idioms, unreachable_pub)] and #![deny(unused_must_use, unsafe_op_in_unsafe_fn)], and the crate uses loom, a concurrency-permutation testing library, under src/loom to exhaustively check atomic and lock-free code paths for correctness — a strong signal of rigor for a runtime whose 140 files touching unsafe sit behind an otherwise safe public API. A deny.toml drives cargo-deny dependency auditing and a fuzz/ directory adds fuzz-testing coverage on top of the test suite.

API Design Tokio’s async surface mirrors the Rust standard library’s synchronous I/O types (TcpListener, File) and channel primitives, so existing Rust knowledge transfers with minimal relearning. The #[tokio::main] macro collapses runtime bootstrapping to a single attribute, and the feature-flag system lets consumers pull in only what they use, at the cost of newcomers occasionally hitting confusing ‘not found in tokio’ compile errors until they enable the right flag. Nearly every public item carries a runnable rustdoc example, docs.rs annotates which feature flag gates each item via doc(cfg), and the repository ships 22 example programs (echo server, chat server, proxy, priority queue) plus a separate long-form tutorial at tokio.rs/tokio/tutorial.

Used by 128 apps in this directory

TypeScript
53%
MIT

Anarlog

Note Taking · AI Assistants · Productivity

9,252

Anarlog is an open-source, local-first AI meeting notetaker that records, transcribes, and summarizes meetings entirely on your device — no cloud lock-in, no mandatory account, and every note saved as a plain markdown file you own forever.

View details
86
Repo Health
77
Technical
68
Dependency
Built with
TypeScript53%
Rust35%
Updated today
Dart
74%
AGPL 3.0

AppFlowy

Productivity · Project Management · Collaboration

76,354

The open-source AI workspace that puts your data, your rules — with local LLMs, CRDT collaboration, and full self-hosting built in.

View details
67
Repo Health
81
Technical
67
Dependency
Built with
Dart74%
Rust24%
Updated 6 days ago
Rust
86%
Other

Arroyo

Data Engineering · Analytics

5,029

A distributed stream processing engine written in Rust that lets you write SQL to run stateful, real-time computations over data streams with subsecond results.

View details
86
Repo Health
74
Technical
62
Dependency
Built with
Rust86%
Updated 3 days ago
TypeScript
79%
GPL 3.0

Bramble

Password Manager · Security · Authentication

381

Local-first, end-to-end encrypted password manager that syncs your vault directly between your own devices over a private peer-to-peer mesh — no server, no account, no cloud in the middle.

View details
75
Repo Health
84
Technical
72
Dependency
Built with
TypeScript79%
Updated 3 days ago
Rust
54%
Other

Cameleer

AI Agents

23

A local-first desktop workspace for managing AI agents in an enterprise-style workflow — agent directory, Kanban task tracking, workspace chat, and a full runtime/audit log of agent actions and tool approvals.

View details
41
Repo Health
65
Technical
76
Dependency
Built with
Rust54%
JavaScript24%
TypeScript15%
Updated 1 months ago
Rust
53%
Other

Cap

Team Chat · Video Conferencing

21,859

Open source Loom alternative with GPU-accelerated recording, instant share links, AI summaries, and full self-hosting via Docker Compose.

View details
89
Repo Health
81
Technical
64
Dependency
Built with
Rust53%
TypeScript43%
Updated yesterday
Rust
53%
Other

Cap

Team Chat · Video Conferencing

21,859

Open source Loom alternative with GPU-accelerated recording, instant share links, AI summaries, and full self-hosting via Docker Compose.

View details
89
Repo Health
81
Technical
64
Dependency
Built with
Rust53%
TypeScript43%
Updated yesterday
Rust
53%
Other

Cap

Team Chat · Video Conferencing

21,859

Open source Loom alternative with GPU-accelerated recording, instant share links, AI summaries, and full self-hosting via Docker Compose.

View details
89
Repo Health
81
Technical
64
Dependency
Built with
Rust53%
TypeScript43%
Updated yesterday
Rust
95%
MIT

claw-code

AI Agents · AI Code Assistants

195,189

A Rust-built CLI agent harness for Claude AI with persistent sessions, MCP tool integration, plugin hooks, and multi-provider support — designed to run autonomous coding workflows without human babysitting.

View details
57
Repo Health
71
Technical
77
Dependency
Built with
Rust95%
Updated 3 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search