Metadata-Version: 2.4
Name: aegis-rl
Version: 0.1.1
Summary: A production-grade distributed rate limiting SDK for Python powered by Redis and Lua.
Author: Nilotpal Baishya
License: MIT
Project-URL: Homepage, https://github.com/Nilotpal04/aegis
Project-URL: Repository, https://github.com/Nilotpal04/aegis
Project-URL: Issues, https://github.com/Nilotpal04/aegis/issues
Keywords: rate-limiter,redis,lua,distributed,fastapi,backend,sdk
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi>=0.138.2
Requires-Dist: httpx>=0.28.1
Requires-Dist: redis>=8.0.1
Requires-Dist: uvicorn>=0.49.0
Dynamic: license-file

# 🛡️ Aegis

Production-grade distributed rate limiting for Python powered by Redis and Lua.

## Installation

```bash
pip install aegis-rl
```

## Quick Start

```python
from aegis import Aegis
from aegis.backends import RedisBackend

backend = RedisBackend()

limiter = Aegis(
    backend=backend,
    algorithm="fixed_window",
    limit=100,
    window_size=60,
)

limiter.allow("user123")
```

## Supported Algorithms

- Fixed Window
- Sliding Window Log
- Token Bucket
- Leaky Bucket

## Features

- Redis Lua Scripts
- Atomic Operations
- Race-condition safe
- In-memory backend
- Redis backend
- Python SDK

## Documentation

See the GitHub repository for full documentation.
