Back to Explore

laurentS/slowapi

GitHub
2 watchersOpen source

Last release: 2024-02-05

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

  • Maintenance status: Repo activity is recent (upstream push on 2026-06-04), but the most recent published updates in the provided changelog are older (last tagged update v0.1.9 on 2024-02-05), suggesting steady development with infrequent public releases.
  • Apparent update cadence: Tag updates appear sporadic, roughly every 10 months between v0.1.8 (2023-04-07) and v0.1.9 (2024-02-05), and much longer gaps before that (for example, several years between v0.1.6 and v0.1.5, and between v0.1.4 and v0.1.3).

AI summary generated 2026-06-09

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v0.1.9

    2024-02-05

    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

    2023-04-07

    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.

    Features
  • v0.1.7

    2022-11-28

    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.

    Features
  • v0.1.7-alpha1

    2022-08-25

    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.

    Features
  • v0.1.6

    2022-08-24

    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.

    Features
  • v0.1.5

    2021-08-28

    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

    2021-02-21

    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.

    Features
  • v0.1.3

    2020-12-23

    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.

    Features
  • v0.1.2

    2020-10-01

    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.