Skip to content

v0.0.3

Choose a tag to compare

@Msameim181 Msameim181 released this 02 Oct 20:24
· 17 commits to main since this release

πŸš€ Fastrict - Enterprise FastAPI Rate Limiter

The most powerful, flexible, and production-ready rate limiting system for FastAPI applications.

Fastrict provides enterprise-grade rate limiting with Redis and in-memory backends, supporting everything from simple API throttling to complex multi-tenant rate limiting strategies.

πŸ“¦ Installation

# Install from PyPI
pip install fastrict

# Install with development dependencies
pip install fastrict[dev]

# Install with documentation dependencies
pip install fastrict[docs]

πŸ”§ System Requirements

Component Version Purpose
Python 3.8+ Core runtime
FastAPI 0.68+ Web framework
Redis 4.0+ Primary storage backend
Pydantic 1.8+ Data validation
Starlette 0.14+ ASGI framework

πŸš€ Quick Start

🎯 1. Basic Setup (30 seconds)

from fastapi import FastAPI
from fastrict import RateLimitMiddleware, RedisRateLimitRepository
from fastrict import RateLimitUseCase, KeyExtractionUseCase

# Create FastAPI app
app = FastAPI(title="My Rate Limited API")

# Setup rate limiting (Redis)
repository = RedisRateLimitRepository.from_url("redis://localhost:6379")
key_extraction = KeyExtractionUseCase()
rate_limiter = RateLimitUseCase(repository, key_extraction)

# Add global rate limiting middleware
app.add_middleware(
    RateLimitMiddleware,
    rate_limit_use_case=rate_limiter,
    excluded_paths=["/health", "/docs", "/metrics"]
)

@app.get("/api/data")
async def get_data():
    return {"message": "This endpoint is globally rate limited"}

πŸ“š Resources & Documentation

πŸ“– Documentation

πŸ†˜ Support Channels

  • πŸ› Issue Tracker - Bug reports & feature requests
  • πŸ’¬ Discussions - Community Q&A
  • πŸ“§ Email - Direct support for enterprise users
  • πŸ’Ό LinkedIn - Professional inquiries

πŸ”— Related Projects

  • FastAPI - Modern, fast web framework for building APIs
  • Redis - In-memory data structure store
  • Starlette - Lightweight ASGI framework
  • Pydantic - Data validation using Python type hints