Skip to main content

Rate limiting for django applications

Project description

travis-ci coveralls pypi license

djlimiter provides rate limiting features to django via a middleware.

Quickstart

Add the rate limiter to your django projects’ settings.py and enable a global rate limit for all views in your project:

MIDDLEWARE_CLASSES += ("djlimiter.Limiter",)
RATELIMIT_GLOBAL = "10/second"

If you only want to enable rate limits to certain endpoints, leave out the RATELIMIT_GLOBAL setting and use the decorator approach instead in the respective view function:

@limit("10/second")
def index(request):
   ...

For detailed documentation visit Read the docs

Changelog

0.2 2015-12-20

  • Django 1.8/1.9 compatibility

0.1.1 2015-01-09

  • Bug Fix: remove duplicate hits when rate limits are stacked.

  • Bug Fix: multiple rate limits returned by dynamic limits weren’t respected.

  • Documentation tweaks.

0.1.0 2015-01-09

  • first release.

Supported by

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