Source: pyrate-limiter Maintainer: Home Assistant Team Uploaders: Edward Betts , Section: python Priority: optional Build-Depends: debhelper-compat (= 13), dh-sequence-python3, dh-sequence-sphinxdoc , pybuild-plugin-pyproject, python3-poetry-core, Build-Depends-Indep: furo , python3-all, python3-filelock , python3-myst-parser , python3-psycopg-pool , python3-pytest , python3-pytest-asyncio , python3-pytest-cov , python3-redis , python3-sphinx , python3-sphinx-autodoc-typehints , python3-sphinx-copybutton , python3-sphinxcontrib.apidoc , redis , Rules-Requires-Root: no Standards-Version: 4.7.2 Homepage: https://github.com/vutran1710/PyrateLimiter Vcs-Browser: https://salsa.debian.org/homeassistant-team/deps/pyrate-limiter Vcs-Git: https://salsa.debian.org/homeassistant-team/deps/pyrate-limiter.git Testsuite: autopkgtest-pkg-pybuild Package: python3-pyrate-limiter Architecture: all Depends: ${misc:Depends}, ${python3:Depends}, ${sphinxdoc:Depends}, Built-Using: ${sphinxdoc:Built-Using}, Description: Request rate limiter using a leaky-bucket algorithm This library implements a request rate limiting system utilizing the leaky- bucket algorithm. It tracks multiple rate limits and intervals as defined by users, offering both synchronous and asynchronous operation modes. The library can independently monitor rate limits for different services or resources, managing exceeded limits by raising exceptions or imposing delays on requests. It supports a range of backends such as in-memory, SQLite, Redis, and PostgreSQL, which facilitates the persistence of limit tracking across multiple threads or application restarts. This is particularly useful in environments with variable request loads, ensuring compliance with service constraints without exceeding predefined request thresholds.