Skip to content

Compatibility Matrix

drogue supports multiple Python versions, frameworks, and storage backends. This page shows what is supported and the maturity level of each component.


Python Versions

Version Status Notes
Python 3.10 Stable Minimum supported version
Python 3.11 Stable
Python 3.12 Stable
Python 3.13 Stable Latest tested version

Framework Adapters

Framework Status Min Version Extra Notes
FastAPI Stable >=0.100.0 drogue[fastapi] ASGI, full feature set, WebSocket support
Flask Stable >=3.0.0 drogue[flask] WSGI, sync adapter, decorator-based
Django Stable >=4.2 drogue[django] Middleware + decorator
Django REST Framework Stable >=3.14 drogue[drf] Throttle adapter

Framework Feature Matrix

Feature FastAPI Flask Django DRF
Decorator-based limiting Yes Yes Yes Yes
Global middleware Yes Yes Yes Yes
WebSocket support Yes No No No
Dependency injection Yes No No No
Async support Native Bridge Native Native
Header injection Auto Auto Auto Auto

Storage Backends

Backend Status Extra Notes
Memory Stable — Default, in-process, lost on restart
Redis Stable drogue[redis] Recommended for production, supports clustering
MongoDB Alpha drogue[mongodb] Uses Motor async driver, TTL indexes

Storage Feature Matrix

Feature Memory Redis MongoDB
Atomic operations Yes Yes Yes
TTL support Yes Yes Yes
Persistence No Yes Yes
Multi-process No Yes Yes
Clustering No Yes Yes
Async Native Native Native (Motor)

Protection Features

Feature Status Notes
Rate limiting Stable All 5 algorithms
DDoS detection Stable Z-score anomaly detection
Progressive auto-ban Stable 4 escalating levels (1min–24hr)
Trust state machine Stable 5 states (UNKNOWN/TRUSTED/STANDARD/SUSPICIOUS/BANNED)
Circuit breaker Stable Closed/Open/HalfOpen
Adaptive limits Stable CPU/memory-aware
CIDR filtering Stable IPv4 and IPv6
Probe detection Stable
Defense randomization Stable
Shadow mode Stable Test rules without enforcement
Sentinel model Alpha Streaming anomaly detection
Honeypots Alpha Decoy endpoints

Observability

Feature Status Notes
Prometheus metrics Stable
Structured logging Stable JSON format
OpenTelemetry tracing Stable

Installation

pip install drogue

# With framework extras
pip install drogue[fastapi]   # FastAPI + Starlette
pip install drogue[django]    # Django
pip install drogue[flask]     # Flask
pip install drogue[drf]       # Django REST Framework
pip install drogue[redis]     # Redis backend
pip install drogue[mongodb]   # MongoDB backend
pip install drogue[all]       # Everything

CI/CD Matrix

drogue is tested in CI against:

Component Versions
Python 3.10, 3.11, 3.12, 3.13
OS Ubuntu latest
FastAPI Latest compatible
Flask Latest compatible
Django Latest compatible
DRF Latest compatible

All combinations are tested on every push and pull request.