uber-go/ratelimit
A Go blocking leaky-bucket rate limit implementation observed · 2026-08-28
Health v2 · maintenance only
32/100
- Activity 0
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 3645
- days_rel: n/a
- days_push: 854
- n_releases_24m: 0
Adoption not part of the score
4713 stars · 328 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
A Go library implementing a blocking leaky-bucket rate limiter. It refills the bucket based on elapsed time between requests, and Take() sleeps until the caller may proceed.
Use cases
- throttle outgoing API requests to a fixed rate
- limit how fast a worker processes a queue
- pace database or service calls per second
- smooth bursty traffic in Go services
- add simple per-second rate limiting without complex token buckets
When to choose
- you need a simple, low-overhead blocking rate limiter in Go
- you want Take()-and-sleep semantics rather than token acquisition
- you prefer minimal API over golang.org/x/time/rate's flexibility
When to avoid
- you need burst capacity, reservations, or per-key limits (use golang.org/x/time/rate)
- you need non-blocking or context-cancellable waiting
- you're not writing Go
Facets
library · maturity stable
rate-limiting concurrency developer-tools backend performance go cross-platform leaky-bucket throttling blocking-limiter
1 source
- readme: https://github.com/uber-go/ratelimit · fetched 2026-08-28 · b6f2f9b938b5
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| uber-go/ratelimit | main | 32 |
For agents
markdown · JSON · MCP: product_card(name="uber-go/ratelimit")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem