Skip to main content

Advanced rate limiting and DDoS protection for Python web applications

Project description

RateThrottle

License: MIT

Advanced rate limiting and DDoS protection for Python web applications.

RateThrottle is a comprehensive rate limiting library that provides enterprise-level features for protecting your APIs and web applications from abuse, with built-in DDoS protection, different storage backends, multiple strategies and seamless integration with popular Python web frameworks.

✨ Features

  • 🚀 Multiple Rate Limiting Strategies

    • Token Bucket
    • Leaky Bucket
    • Fixed Window
    • Sliding Window Log
  • 🛡️ Advanced DDoS Protection

    • Traffic pattern analysis
    • Automatic suspicious activity detection
    • Auto-blocking capabilities
  • 💾 Flexible Storage Backends

    • In-memory (single instance)
    • Redis (distributed/multi-server)
    • Easy to extend with custom backends
  • 🔧 Framework Integration

    • Flask
    • FastAPI
    • Django
    • Starlette
    • Generic WSGI/ASGI support
  • 📊 Monitoring & Analytics

    • Real-time metrics
    • Violation tracking
    • CLI dashboard
  • ⚙️ Configuration Management

    • YAML configuration files
    • Programmatic configuration
    • Hot-reloading support

📊 Performance

RateThrottle is designed for high performance:

  • In-memory storage: 100,000+ requests/second
  • Redis storage: 50,000+ requests/second (network dependent)
  • Minimal overhead: < 1ms per request check
  • Thread-safe: Safe for concurrent use
  • Memory efficient: Automatic cleanup of expired data

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

📮 Support


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ratethrottle-1.0.0.tar.gz (57.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ratethrottle-1.0.0-py3-none-any.whl (46.5 kB view details)

Uploaded Python 3

File details

Details for the file ratethrottle-1.0.0.tar.gz.

File metadata

  • Download URL: ratethrottle-1.0.0.tar.gz
  • Upload date:
  • Size: 57.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ratethrottle-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a20ff7899e145bf53b7cce0a3d21c22206a4769a7b9b38934a21d9bb9e4bb964
MD5 f989cf088a8b3c41a2da2b22b7b66f71
BLAKE2b-256 680b285d033755c43a050b5352288450ea08c0719888e5951aa62a48927a72b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ratethrottle-1.0.0.tar.gz:

Publisher: publish.yml on MykeChidi/ratethrottle

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ratethrottle-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ratethrottle-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 46.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ratethrottle-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6eacbb7bcb02884da667ed7f63d28bf97f0d406196d77d243514f2fbce4cb12a
MD5 69b07f56c04a0752abed32084a966051
BLAKE2b-256 937d0f64e9646ea9c94a3d61dad0fdda5e7230858f3f49c54cda3cc164db245c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ratethrottle-1.0.0-py3-none-any.whl:

Publisher: publish.yml on MykeChidi/ratethrottle

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page