redis_openai_agents.RedisRateLimitGuardrail#

class RedisRateLimitGuardrail(redis_url='redis://localhost:6379', key_prefix='rate_limit', requests_per_minute=None, tokens_per_minute=None, window_type='sliding', window_seconds=60)[source]#

Redis-backed rate limiting guardrail for OpenAI Agents SDK.

Enforces rate limits using Redis counters with configurable time windows and limit types (requests, tokens, or both).

requests_per_minute#

Maximum requests allowed per minute per user.

tokens_per_minute#

Maximum tokens allowed per minute per user.

window_type#

Rate limiting algorithm (“sliding” or “fixed”).

Initialize the rate limit guardrail.

Parameters:
  • redis_url (str) – Redis connection URL.

  • key_prefix (str) – Prefix for rate limit keys.

  • requests_per_minute (int | None) – Max requests per minute (None = unlimited).

  • tokens_per_minute (int | None) – Max tokens per minute (None = unlimited).

  • window_type (str) – “sliding” or “fixed” window algorithm.

  • window_seconds (int) – Duration of rate limit window.

__init__(redis_url='redis://localhost:6379', key_prefix='rate_limit', requests_per_minute=None, tokens_per_minute=None, window_type='sliding', window_seconds=60)[source]#

Initialize the rate limit guardrail.

Parameters:
  • redis_url (str) – Redis connection URL.

  • key_prefix (str) – Prefix for rate limit keys.

  • requests_per_minute (int | None) – Max requests per minute (None = unlimited).

  • tokens_per_minute (int | None) – Max tokens per minute (None = unlimited).

  • window_type (str) – “sliding” or “fixed” window algorithm.

  • window_seconds (int) – Duration of rate limit window.

Return type:

None

Methods

__init__([redis_url, key_prefix, ...])

Initialize the rate limit guardrail.

check_rate_limit(user_id[, tokens_used])

Check if request is within rate limits.

close()

Close Redis connection.

get_rate_limit_info(user_id)

Get current rate limit status for a user.

guardrail_function(context, agent, input_data)

Guardrail function compatible with OpenAI Agents SDK.

initialize()

Initialize Redis connection.

Attributes

name

Guardrail name for SDK registration.