{ "info": { "author": "Kalibrr Technology Ventures, Inc.", "author_email": "hirenow@kalibrr.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "====================\nsliding-rate-limiter\n====================\n\n\n.. image:: https://img.shields.io/pypi/v/sliding_rate_limiter.svg\n :target: https://pypi.python.org/pypi/sliding_rate_limiter\n\n.. image:: https://img.shields.io/travis/kalibrr/sliding_rate_limiter.svg\n :target: https://travis-ci.org/kalibrr/sliding_rate_limiter\n\n.. image:: https://readthedocs.org/projects/sliding-rate-limiter/badge/?version=latest\n :target: https://sliding-rate-limiter.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n\n.. image:: https://pyup.io/repos/github/kalibrr/sliding_rate_limiter/shield.svg\n :target: https://pyup.io/repos/github/kalibrr/sliding_rate_limiter/\n :alt: Updates\n\n\nSliding rate limiter using memory or a distributed Redis backend.\n\n\n* Free software: Apache Software License 2.0\n* Documentation: https://sliding-rate-limiter.readthedocs.io.\n\n\nFeatures\n--------\n\n* Pluggable rate limiting backend (threadsafe in-memory or distributed Redis backend)\n\nUsage\n-----\n\n.. code-block:: python\n\n from sliding_rate_limiter.region import RateLimiterRegion\n from sliding_rate_limiter.backends.memory import MemoryBackend\n\n region = RateLimiterRegion('default')\n region.configure(MemoryBackend())\n\n @region.rate_limit_on_arguments()\n def foo(user_id):\n pass\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\nAPI heavily inspired by `dogpile.cache`_\n\n.. _dogpile.cache: https://dogpilecache.readthedocs.io/en/latest/_\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n=======\nHistory\n=======\n\n0.1.0 (2018-05-10)\n------------------\n\n* First release on PyPI.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kalibrr/sliding_rate_limiter", "keywords": "sliding_rate_limiter", "license": "Apache Software License 2.0", "maintainer": "", "maintainer_email": "", "name": "sliding-rate-limiter", "package_url": "https://pypi.org/project/sliding-rate-limiter/", "platform": "", "project_url": "https://pypi.org/project/sliding-rate-limiter/", "project_urls": { "Homepage": "https://github.com/kalibrr/sliding_rate_limiter" }, "release_url": "https://pypi.org/project/sliding-rate-limiter/2.1.0/", "requires_dist": [ "six" ], "requires_python": "", "summary": "Sliding rate limiter using memory or a distributed Redis backend.", "version": "2.1.0" }, "last_serial": 3850744, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "8653f5b89e95c80d8af9b5bb891f1770", "sha256": "c9be1f9bfe0911204f714d1b9b060b392e1413af38a9e75fc6721e36667f50a7" }, "downloads": -1, "filename": "sliding_rate_limiter-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8653f5b89e95c80d8af9b5bb891f1770", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6607, "upload_time": "2018-05-10T08:34:02", "url": "https://files.pythonhosted.org/packages/d7/4e/ca73b8c097a696a854f39f75827be1b709522674c7d6ad4aef03c601cf27/sliding_rate_limiter-0.1.0-py2.py3-none-any.whl" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "b7c3ee4f269ffc15d6d1fa271d418ba4", "sha256": "0188ff8d01e9358b696e12ecf2cac08f15e916e2c0ee8ec07c032d3dfdd53af8" }, "downloads": -1, "filename": "sliding_rate_limiter-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b7c3ee4f269ffc15d6d1fa271d418ba4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9158, "upload_time": "2018-05-10T09:19:30", "url": "https://files.pythonhosted.org/packages/9f/e7/6212d280fa51f340248164c932151f9aa3ca99686a1d0292b2a23e71426a/sliding_rate_limiter-1.0.0-py2.py3-none-any.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "e2e32f947ab7e0ce3982611954327712", "sha256": "14afdd9d6bc244271a08e4f977b3e5c36824af9c8a21e6d7731ef11223223ea4" }, "downloads": -1, "filename": "sliding_rate_limiter-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e2e32f947ab7e0ce3982611954327712", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8002, "upload_time": "2018-05-10T09:39:14", "url": "https://files.pythonhosted.org/packages/a2/11/4c6c9af1eb5cde52a6ea338ae87f77c52dd47a4d62263af8d813f92f571f/sliding_rate_limiter-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e08d6bbbff2fa755101488b7031d87e", "sha256": "b5f1e72bdbcf2627243d51c413504f09b1e07e75774a8b6c456a39ecd9d819a8" }, "downloads": -1, "filename": "sliding_rate_limiter-1.1.0.tar.gz", "has_sig": false, "md5_digest": "4e08d6bbbff2fa755101488b7031d87e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11851, "upload_time": "2018-05-10T09:39:16", "url": "https://files.pythonhosted.org/packages/56/2a/ddfba14d52957f66e12ab8adba47fe81841678002fb16cded13d5e7666ec/sliding_rate_limiter-1.1.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "675d3d70d038545dce0fb171192f1ee2", "sha256": "05e11f4ca76a4cfe493ab3605edd512bf90b9a4b74438add4991aa277d0f811f" }, "downloads": -1, "filename": "sliding_rate_limiter-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "675d3d70d038545dce0fb171192f1ee2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8553, "upload_time": "2018-05-10T09:54:43", "url": "https://files.pythonhosted.org/packages/68/04/7752711042681d1b36c75429fb613c3fc4c53e23da9cf50559164300e276/sliding_rate_limiter-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2fe14b0a82fb27b8294292f7b446b29b", "sha256": "2e91bad3a0c57195616ffe7a0f2eccb72f99102f9858d28ed175ae3e4d35a573" }, "downloads": -1, "filename": "sliding_rate_limiter-2.0.0.tar.gz", "has_sig": false, "md5_digest": "2fe14b0a82fb27b8294292f7b446b29b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12651, "upload_time": "2018-05-10T09:54:44", "url": "https://files.pythonhosted.org/packages/34/70/9201da22d5ccbc237319401263e82b7e43214db7cc319265042644ab01d6/sliding_rate_limiter-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "feb576ba2981bd161e9b595b2bf83be3", "sha256": "f0d502ed56a7abaefe86c689e0cf33def104d9f0d611b46cebf61eb1222e1dc8" }, "downloads": -1, "filename": "sliding_rate_limiter-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "feb576ba2981bd161e9b595b2bf83be3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8854, "upload_time": "2018-05-10T15:10:00", "url": "https://files.pythonhosted.org/packages/63/f8/8db56e6ff4e55be2243d03eb89cc7de3ccbfdbeaabec70c81f02bd30a2c1/sliding_rate_limiter-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "356c4a9012142218bb7f85527dcdac7f", "sha256": "a29035d1e3f6f578b7294faddaafeef107dc3e7f0103e80fcffa380f95f772cd" }, "downloads": -1, "filename": "sliding_rate_limiter-2.1.0.tar.gz", "has_sig": false, "md5_digest": "356c4a9012142218bb7f85527dcdac7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13051, "upload_time": "2018-05-10T15:10:01", "url": "https://files.pythonhosted.org/packages/58/74/7076880cc78a6ea78849d7307a44efbe21a164970740ed9a53eca2dc1ed7/sliding_rate_limiter-2.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "feb576ba2981bd161e9b595b2bf83be3", "sha256": "f0d502ed56a7abaefe86c689e0cf33def104d9f0d611b46cebf61eb1222e1dc8" }, "downloads": -1, "filename": "sliding_rate_limiter-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "feb576ba2981bd161e9b595b2bf83be3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8854, "upload_time": "2018-05-10T15:10:00", "url": "https://files.pythonhosted.org/packages/63/f8/8db56e6ff4e55be2243d03eb89cc7de3ccbfdbeaabec70c81f02bd30a2c1/sliding_rate_limiter-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "356c4a9012142218bb7f85527dcdac7f", "sha256": "a29035d1e3f6f578b7294faddaafeef107dc3e7f0103e80fcffa380f95f772cd" }, "downloads": -1, "filename": "sliding_rate_limiter-2.1.0.tar.gz", "has_sig": false, "md5_digest": "356c4a9012142218bb7f85527dcdac7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13051, "upload_time": "2018-05-10T15:10:01", "url": "https://files.pythonhosted.org/packages/58/74/7076880cc78a6ea78849d7307a44efbe21a164970740ed9a53eca2dc1ed7/sliding_rate_limiter-2.1.0.tar.gz" } ] }