SlowApi is a rate limiting library for Starlette and FastAPI, adapted from flask-limiter. It provides limit decorators for endpoint functions and supports sync/async HTTP endpoints with redis, memcached, or in-memory backends to track request limits.
Project status
- Actively maintained: Yes. The repo has an upstream push on 2026-06-13 and a new library update (v0.1.10 on 2026-06-13), indicating current maintenance rather than a dormant state.
- Update cadence: Recent updates show a short gap in 2026 (v0.1.10), but the previous stable update was v0.1.9 on 2024-02-05, so overall cadence has been irregular.
AI summary generated
Recent updates
v0.1.10
v0.1.10 adds an enhancement to how Requests can interact with the exempt_when mechanism. It also updates CI by dropping Python 3.7 and 3.8 from checks, and makes a small change to address a Python 3.11 deprecation warning.
Featuresv0.1.9
v0.1.9 is a small maintenance release for SlowAPI focused on cleanup and safer configuration loading. It tightens the `limit()`/`shared_limit()` type hints and changes `.env` handling so Starlette `Config` is only pointed at `.env` when that file actually exists.
v0.1.8
v0.1.8 is mostly a maintenance release that loosens the `limits` version constraint, fixes Redis packaging/install issues, and adds Python 3.11 support. The runtime code also hardens request IP resolution for missing clients and changes how app config defaults are cast internally.
Featuresv0.1.7
v0.1.7 adds three user-facing rate-limiting features: per-request cost, an ASGI-native middleware option, and configurable storage-key selection via `key_style`. The code also refactors limiter internals to support async-aware storage/handlers and refreshes the project's CI and lockfile dependencies.
Featuresv0.1.7-alpha1
This release is primarily a release-process and CI workflow update, not a library API change. The docs now describe a tag-based GitHub Actions release flow, and the workflow was updated to build artifacts and publish them from CI when a tag is pushed.
Featuresv0.1.6
v0.1.6 is a feature-and-maintenance release for SlowAPI. It adds request-aware dynamic limits, fixes async exemption handling, and refreshes packaging/CI; the packaging metadata also tightens runtime compatibility and moves Redis behind an optional extra.
Featuresv0.1.5
v0.1.5 is mainly a maintenance release: it refreshes documentation, switches the package build backend to poetry-core, and updates several pinned dependencies. The runtime code changes are focused on two fixes: disabled limiters now bypass middleware route matching, and Retry-After header handling was hardened.
v0.1.4
v0.1.4 focuses on making the limiter's disable switch actually work and on fixing middleware route-matching bugs. It also cleans up the documentation examples and bumps a docs-only dependency used for site generation.
Featuresv0.1.3
v0.1.3 is a small maintenance release focused on documentation refresh and a FastAPI header-injection fix. It adds setup examples, updates the docs to show default/global limit usage, and fixes CI after GitHub Actions changes. The key runtime change is in `slowapi/extension.py`, where rate-limit headers are now injected through the endpoint’s `response` object when the handler returns a non-`Response` value.
Featuresv0.1.2
Release v0.1.2 was published on 2020-10-01. However, no release notes or change details were provided in the input, so the specific impact on API compatibility, functionality, or upgrades cannot be determined from the available information.