Simple FastAPI rate limiter
Project description
simplelimiter
A simple FastAPI rate limiter
Requirements
How to use
import redis
from fastapi import FastAPI, APIRouter, Request
from fastapi.params import Depends
from simplelimiter import Limiter
app = FastAPI()
router = APIRouter()
# We initialize the Limiter on the app startup event
@app.on_event("startup")
async def startup():
r = redis.from_url("redis://localhost", encoding="utf-8", decode_responses=True)
Limiter.init(redis_instance=r, debug=True)
return app
# We pass the Limiter as a dependencie
@router.get("/", dependencies=[Depends(Limiter("5/minute"))])
def base_route(request: Request):
return {"response": "ok"}
app.include_router(router)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
simplelimiter-0.1.2.tar.gz
(2.4 kB
view hashes)
Built Distribution
Close
Hashes for simplelimiter-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f644b8ee34e919e5b0bd9a13218f1e318678269963c4ad006b564bab4daffb1 |
|
MD5 | 878b61654fec1b99eee817b8ff12a146 |
|
BLAKE2b-256 | 114649bcb766b172d8292bfc98f3d8394a454fe03a38b62acddf2e1001fcc68c |