# tokio-rs/tokio

A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

Repository: https://github.com/tokio-rs/tokio
Canonical: https://ross.abutalabs.com/products/tokio
Homepage: https://tokio.rs
Language: Rust
License: MIT
License Family: permissive
Topics: rust, asynchronous, networking
Last push: 2026-08-20T06:57:25+00:00

## Health v2 (maintenance only)
Score: 97/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 93, longevity 100
- inputs: {"age_days": 3645, "days_push": 13, "days_rel": 44, "gap_med": 5.5, "n_releases_24m": 33}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 33016, forks 3220 (observed 2026-08-28T04:11:58.031691+00:00)

## What it is
Tokio is an event-driven, non-blocking I/O runtime for writing asynchronous applications in Rust. It provides a multithreaded work-stealing task scheduler, an OS-backed reactor (epoll, kqueue, IOCP), async TCP/UDP sockets, timers, filesystem, and synchronization primitives.

## Use cases
- write an async TCP echo server in Rust
- build a high-performance network service handling hundreds of thousands of requests per second
- run concurrent async tasks with a work-stealing scheduler
- add timers and timeouts to async Rust code
- build async HTTP or gRPC services on top of hyper or tonic
- run async Rust on servers or embedded devices

## When to choose
- you are writing asynchronous Rust and need a runtime to execute futures
- you need fast, scalable non-blocking I/O for network services
- you want the de facto standard Rust async ecosystem (hyper, tonic, tower, axum)
- you need a runtime that scales from many-core servers to embedded devices

## When to avoid
- your application is simple, synchronous, and I/O-light where std threads suffice
- you need a different async runtime for compatibility reasons (e.g., async-std, smol)
- you are targeting environments where the runtime's footprint or OS event-loop dependencies are unsuitable

## Facets
- artifact type: library
- maturity: stable
- function: concurrency, networking, http-server, http-client, scheduling, websocket
- domain: developer-tools, backend, networking, performance, microservices
- platform: rust, windows, cross-platform, embedded
- tags: async-runtime, async-await, event-loop, work-stealing-scheduler, non-blocking-io, tcp, udp, timers, rust-library, linux, macos

## Member repositories
- tokio-rs/tokio (main) score 97

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:58.031691+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T16:28:43.612603+00:00, confidence not recorded.
  - readme: https://github.com/tokio-rs/tokio (fetched 2026-08-28T04:11:58.031691+00:00, sha c2970162ac29)
  - homepage: https://tokio.rs (fetched 2026-08-29T07:48:47.170569+00:00, sha cbcc966ebe7f)
  - registry_crates: https://crates.io/api/v1/crates/tokio (fetched 2026-08-29T07:48:47.175555+00:00, sha 9006ae82d8d5)
  - site_page: https://tokio.rs/tokio/tutorial (fetched 2026-08-29T07:48:47.173467+00:00, sha e333e692a2df)
- Data as of 2026-08-30T08:39:29.467469+00:00.
