git404hub

what is throttler fr?

benfleis/throttler — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2015-01-28

ClojureAudience · developerComplexity · 2/5DormantSetup · easy

tl;dr

Throttler is a Clojure library that limits how fast function calls or messages run, using a token-bucket algorithm to set an average rate and burst size.

vibe map

mindmap
  root((repo))
    What it does
      Rate limits function calls
      Token bucket algorithm
      Shares quota across methods
    Tech stack
      Clojure
      Async channels
    Use cases
      API rate limiting
      Pacing database writes
      Shared quota across calls
    Audience
      Backend developers
      Clojure developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Limit calls to an external API that caps requests per day using a shared token bucket.

VIBE 2

Pace writes from a fast data source into a slower downstream database.

VIBE 3

Share one rate limit quota across multiple API methods that hit the same service.

VIBE 4

Allow short bursts of activity above the average rate while staying within an overall limit.

what's the stack?

ClojureAsync Channels

how it stacks up fr

benfleis/throttlergardnervickers/local-meetupsgardnervickers/untangled-components
LanguageClojureClojureClojure
Last pushed2015-01-282016-02-042016-10-19
MaintenanceDormantDormantDormant
Setup difficultyeasyhardmoderate
Complexity2/54/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · easy time til it works · 30min

Built on Clojure's async channels, so it requires a Clojure/core.async project setup.

prompts (copy fr)

prompt 1
Help me set up a throttler with an average rate of 100 calls per second and a burst size of 1000.
prompt 2
Show me how to share one throttler across three different functions that call the same rate-limited API.
prompt 3
Explain how the token bucket algorithm in throttler balances average rate against burst size.
prompt 4
Help me wrap a slow database write in throttler to pace it against a faster incoming data stream.

Frequently asked questions

what is throttler fr?

Throttler is a Clojure library that limits how fast function calls or messages run, using a token-bucket algorithm to set an average rate and burst size.

What language is throttler written in?

Mainly Clojure. The stack also includes Clojure, Async Channels.

Is throttler actively maintained?

Dormant — no commits in 2+ years (last push 2015-01-28).

How hard is throttler to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is throttler for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.