{ "info": { "author": "Roman Tomjak", "author_email": "r.tomjaks@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "django-redis-ratelimit\n======================\n\n|Build Status|\n\nA fixed window rate limiting based on Redis\n\n--------------\n\nRequirements\n------------\n\n- Python >= 3.6\n- Django >= 1.11\n- Redis\n\nInstallation\n------------\n\nTo install django-redis-ratelimit, simply:\n\n.. code:: console\n\n $ pip install django-redis-ratelimit\n\n**NB!** django-redis-ratelimit requires a running Redis server. See\n`Redis's quickstart `__ for\ninstallation instructions.\n\nGetting started\n---------------\n\nFirst, add the middleware to your ``settings.py``:\n\n.. code:: django\n\n MIDDLEWARE = [\n # ...\n\n 'redis_ratelimit.middleware.RateLimitMiddleware',\n ]\n\nthis will make sure that end user sees the HTTP 429 response.\n\nNext, apply the ``ratelimit`` decorator to the view:\n\n.. code:: django\n\n from django.http import HttpResponse\n from redis_ratelimit import ratelimit\n\n @ratelimit(rate='5/m')\n def index(request):\n return HttpResponse(\"Hello World!\")\n\nMemory requirements\n-------------------\n\nFor this example we will assume that each key takes up roughly 250 bytes\nand each value is 4 bytes:\n\n::\n\n 250 + 4 * 1 million unique hits = ~254 Megabytes\n\nNotes\n-----\n\n- `Redis Rate Limiting Pattern\n #2 `__\n\nLicense\n-------\n\nMIT\n\n.. |Build Status| image:: https://travis-ci.org/r00m/django-redis-ratelimit.svg?branch=master\n :target: https://travis-ci.org/r00m/django-redis-ratelimit\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/r00m/django-redis-ratelimit", "keywords": "django redis rate-limit ratelimit", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-redis-ratelimit", "package_url": "https://pypi.org/project/django-redis-ratelimit/", "platform": "", "project_url": "https://pypi.org/project/django-redis-ratelimit/", "project_urls": { "Homepage": "https://github.com/r00m/django-redis-ratelimit" }, "release_url": "https://pypi.org/project/django-redis-ratelimit/0.1.1/", "requires_dist": [ "Django (>=1.11)", "redis" ], "requires_python": "", "summary": "A fixed window rate limiting based on Redis", "version": "0.1.1" }, "last_serial": 3295885, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "85e489814ae20f8d3b064e00f1753a15", "sha256": "aa2a4e584a36c78c5350b1eb1980ecb470b2923af21b54f56bc23739218935ae" }, "downloads": -1, "filename": "django_redis_ratelimit-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "85e489814ae20f8d3b064e00f1753a15", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5864, "upload_time": "2017-10-31T23:59:48", "url": "https://files.pythonhosted.org/packages/7d/0e/5235f380298dbe74f6a9da1054617f24d94fe7800855d557e9cac502e9a9/django_redis_ratelimit-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5fc19893683c7d707bb6db211dfb2803", "sha256": "b2dec9aa0a0ae6077f34089db3c6914875349e162f195c9bb17460d151b00ee5" }, "downloads": -1, "filename": "django-redis-ratelimit-0.1.0.tar.gz", "has_sig": false, "md5_digest": "5fc19893683c7d707bb6db211dfb2803", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3280, "upload_time": "2017-10-31T23:59:49", "url": "https://files.pythonhosted.org/packages/82/f1/f57bd1f3e82eacee2ccaba1fe4d324e67ecbf439d0f8b390c46395289b18/django-redis-ratelimit-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8dd7c3c3033a7c5d950c4583b1ab63dc", "sha256": "56a4be337c698250c78fdc216117a67b1c062ca6f79e3b8e386e989e193113a7" }, "downloads": -1, "filename": "django_redis_ratelimit-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8dd7c3c3033a7c5d950c4583b1ab63dc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6057, "upload_time": "2017-11-01T01:10:43", "url": "https://files.pythonhosted.org/packages/0b/c6/38acdb546ea477ef4fd13192547c403dd176db69671a82b25455f0957819/django_redis_ratelimit-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "27ce17a69da08434861e70faa9ce17cf", "sha256": "3a7084a4898b9d3c411521173652d09a8299723c05aebd3e6c464bc94798e041" }, "downloads": -1, "filename": "django-redis-ratelimit-0.1.1.tar.gz", "has_sig": false, "md5_digest": "27ce17a69da08434861e70faa9ce17cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3607, "upload_time": "2017-11-01T01:10:44", "url": "https://files.pythonhosted.org/packages/b5/ef/2c5d7e565874b8d631e24b598d9a7575b9520aa2e604862e544872fcba92/django-redis-ratelimit-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8dd7c3c3033a7c5d950c4583b1ab63dc", "sha256": "56a4be337c698250c78fdc216117a67b1c062ca6f79e3b8e386e989e193113a7" }, "downloads": -1, "filename": "django_redis_ratelimit-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8dd7c3c3033a7c5d950c4583b1ab63dc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6057, "upload_time": "2017-11-01T01:10:43", "url": "https://files.pythonhosted.org/packages/0b/c6/38acdb546ea477ef4fd13192547c403dd176db69671a82b25455f0957819/django_redis_ratelimit-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "27ce17a69da08434861e70faa9ce17cf", "sha256": "3a7084a4898b9d3c411521173652d09a8299723c05aebd3e6c464bc94798e041" }, "downloads": -1, "filename": "django-redis-ratelimit-0.1.1.tar.gz", "has_sig": false, "md5_digest": "27ce17a69da08434861e70faa9ce17cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3607, "upload_time": "2017-11-01T01:10:44", "url": "https://files.pythonhosted.org/packages/b5/ef/2c5d7e565874b8d631e24b598d9a7575b9520aa2e604862e544872fcba92/django-redis-ratelimit-0.1.1.tar.gz" } ] }