CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-pyrate-limiter

Python Rate-Limiter using Leaky-Bucket Algorithm for controlling request rates in applications with multiple backend storage options.

81

1.44x
Overview
Eval results
Files

Evaluation results

75%

15%

API Rate Monitor

Failing rate tracking

Criteria
Without context
With context

Rate Definition

100%

100%

Limiter Initialization

100%

100%

Non-blocking Acquisition

50%

50%

Failing Rate Access

26%

50%

Rate Information Extraction

46%

100%

Return Value Structure

100%

100%

76%

6%

API Request Tracker

MultiprocessBucket shared memory

Criteria
Without context
With context

Rate definition

100%

100%

Limiter initialization

100%

100%

try_acquire usage

60%

60%

Blocking mode

33%

53%

Non-blocking mode

33%

53%

Per-client routing

100%

100%

57%

6%

API Request Tracker

Basic limiter API (try_acquire)

Criteria
Without context
With context

Limiter initialization

50%

50%

Basic try_acquire usage

100%

100%

Non-blocking mode

66%

100%

Blocking mode

33%

33%

Timeout handling

33%

33%

Rate configuration

30%

30%

Resource cleanup

30%

50%

77%

40%

API Rate Limiter for Data Fetcher

Decorator pattern for functions

Criteria
Without context
With context

Limiter initialization

80%

80%

Sync decorator usage

0%

50%

Async decorator usage

0%

50%

Weighted decorator implementation

20%

100%

Rate configuration correctness

100%

100%

Blocking behavior

100%

100%

100%

50%

Multi-Tenant API Rate Limiter

BucketFactory routing patterns

Criteria
Without context
With context

BucketFactory usage

0%

100%

Rate configuration

100%

100%

Dynamic bucket creation

20%

100%

Limiter integration

100%

100%

Per-tenant isolation

100%

100%

55%

40%

Async API Rate Limiter

Async/await support with try_acquire_async

Criteria
Without context
With context

Limiter instantiation

0%

100%

try_acquire_async usage

0%

0%

Async bucket configuration

0%

66%

Blocking behavior

0%

50%

Concurrent request handling

100%

100%

Identity/name parameter

0%

100%

100%

60%

Request Timing Monitor

MonotonicClock time source

Criteria
Without context
With context

MonotonicClock import

0%

100%

MonotonicClock instantiation

0%

100%

Timestamp capture

0%

100%

Elapsed time calculation

100%

100%

Average interval calculation

100%

100%

93%

-2%

Persistent Rate Limiter with Database Storage

PostgresBucket ACID storage

Criteria
Without context
With context

PostgresBucket instantiation

100%

100%

Rate configuration

100%

100%

Limiter initialization

100%

100%

Rate limit checking

100%

100%

Bucket flushing

50%

30%

Resource cleanup

100%

100%

80%

-5%

JSON File Storage Backend

Custom backend development

Criteria
Without context
With context

AbstractBucket inheritance

0%

0%

Rate object usage

100%

100%

RateItem handling

100%

100%

Multiple rate enforcement

100%

100%

Leak implementation

100%

100%

Waiting calculation

100%

50%

Context manager

100%

100%

Thread synchronization

100%

100%

File persistence

100%

100%

100%

45%

Distributed API Rate Limiter

RedisBucket distributed storage

Criteria
Without context
With context

RedisBucket initialization

0%

100%

Rate configuration

100%

100%

Limiter integration

66%

100%

Synchronous rate checking

100%

100%

Asynchronous rate checking

0%

100%

Wait time calculation

100%

100%

State management

100%

100%

Install with Tessl CLI

npx tessl i tessl/pypi-pyrate-limiter
Evaluated
Agent
Claude Code

Table of Contents