Back to Explore

laurentS/slowapi

GitHub
1 updates · last 90 days2 watchersOpen source

Last release:

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

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

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.

    Features
  • v0.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.

    Features
  • v0.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.

    Features
  • v0.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.

    Features
  • v0.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.

    Features
  • v0.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.

    Features
  • v0.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.

    Features
  • v0.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.