Tokio

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

Framework
Cargo
v1.53.1
32,953stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
90/100Excellent
Development Activity96
Maintenance96
Community68
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 77 apps in this directory

TypeScript
75%
GPL 3.0

Bramble

Password Manager · Security · Authentication

315

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
73
Repo Health
84
Technical
72
Dependency
Built with
TypeScript75%
Updated today
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
48
Repo Health
65
Technical
76
Dependency
Built with
Rust54%
JavaScript24%
TypeScript15%
Updated 4 weeks ago
TypeScript
55%
Other

Cap

Team Chat · Video Conferencing

20,986

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
65
Dependency
Built with
TypeScript55%
Rust40%
Updated yesterday
Rust
95%
MIT

claw-code

AI Agents · AI Code Assistants

195,087

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
71
Repo Health
71
Technical
77
Dependency
Built with
Rust95%
Updated 3 days ago
C++
69%
Apache 2.0

ClickHouse

Databases · Analytics · Data Engineering

49,325

Open-source column-oriented database that delivers real-time analytical queries on petabyte-scale data with millisecond latency.

View details
95
Repo Health
90
Technical
68
Dependency
Built with
C++69%
Python13%
Updated today
Swift
64%
GPL 3.0

cmux

Developer Tools · AI Development

26,221

A native, Ghostty-based macOS terminal with vertical tabs, agent-aware notifications, and a scriptable browser built for running many parallel AI coding agent sessions instead of juggling tmux panes.

View details
84
Repo Health
81
Technical
72
Dependency
Built with
Swift64%
Rust14%
Updated today
Rust
52%
Apache 2.0

cocoindex

Data Engineering · AI Development

11,350

An incremental data indexing engine that keeps AI agent context perpetually fresh by reprocessing only what changed.

View details
87
Repo Health
85
Technical
64
Dependency
Built with
Rust52%
Python48%
Updated yesterday
Svelte
46%
MIT

Cryptgeon

File Storage · Security

1,506

Self-destructing encrypted notes and files that vanish after viewing — the server never sees your keys.

View details
80
Repo Health
80
Technical
74
Dependency
Built with
Svelte46%
TypeScript30%
Rust14%
Updated 1 months ago
Go
32%
Apache 2.0

CubeSandbox

Developer Tools · Security · AI Agents

11,247

Instant, concurrent, hardware-isolated MicroVM sandboxes for AI agents — E2B-API compatible, sub-60ms cold starts, and a built-in zero-trust egress proxy, all self-hostable at scale.

View details
83
Repo Health
88
Technical
63
Dependency
Built with
Go32%
Rust31%
C21%
Updated today

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