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
- Active maintenance: The repository shows a very recent upstream push (2026-05-15), and the most recent known version update in the provided changelog is v0.1.9 (2024-02-05), indicating the project is not abandoned.
- Update cadence: Published updates appear infrequent and irregular (for example, v0.1.9 in 2024, v0.1.8 in 2023, v0.1.7 in 2022, earlier updates in 2021 and 2020), with no evidence in the provided data of a steady monthly or quarterly cadence.
AI summary generated 2 weeks ago
Recent updates
v0.1.9
2/5/2024v0.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
4/7/2023v0.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
11/28/2022v0.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
8/25/2022This 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
8/24/2022v0.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
8/28/2021v0.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
2/21/2021v0.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
12/23/2020v0.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
10/1/2020Release 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.