Metadata-Version: 2.1
Name: pyloadlimiter
Version: 0.1b0
Summary: Python variable-sized load limiter
Home-page: https://github.com/fabiofenoglio/py-load-limiter
Author: Fabio Fenoglio
Author-email: development@fabiofenoglio.it
License: MIT
Download-URL: https://github.com/fabiofenoglio/py-load-limiter/archive/v0.1-beta.tar.gz
Keywords: LIMITER,LOAD LIMITER,RATE LIMITER
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Description-Content-Type: text/markdown
License-File: LICENSE


# Py Load Limiter

A highly configurable, feature-packed, variable-request-sized load limiter python module.

## Features

- Sliding window/buckets algorithm
- Limit amount of 'load' instead of simply limiting the number of requests by allowing load-aware requests
- Use with direct apis, as context manager or as decorator
- Support for automatic retry, delay or timeout on load requests
- Automatically compute TTA (time-to-availability) to easily give clients an amount of time to wait before resubmissions
- Configurable penalties for over-max-load requests and for uncompliant clients who do not respect the required delays
- Composite load limiter to allow for complex load limiting with a single instance (eg. long-time rate limiting together with burst protection)
- Configurable window fragmentation for optimal smoothness vs performance tuning
- Pluggable and customizable storage adapters to allow for easy persistence

