{ "info": { "author": "Gianni Saporiti", "author_email": "saporitigianni@outlook.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Internet", "Topic :: Software Development :: Build Tools" ], "description": ".. -*-restructuredtext-*-\n\nratelimitpy: Simple rate limit decorator\n==================================================================\n\n.. image:: https://img.shields.io/badge/Made%20with-Python-1f425f.svg\n :target: https://www.python.org/\n\n.. image:: https://img.shields.io/pypi/v/ratelimitpy.svg\n :target: https://pypi.org/project/ratelimitpy/\n\n.. image:: https://img.shields.io/pypi/l/ratelimitpy.svg\n :target: https://pypi.org/project/ratelimitpy/\n\n.. image:: https://img.shields.io/pypi/pyversions/ratelimitpy.svg\n :target: https://pypi.org/project/ratemilitpy/\n\nInstallation\n------------\n\nTo install ratelimitpy, simply use pip:\n\n.. code:: bash\n\n $ pip install ratelimitpy\n\nor install directly from source to include latest changes:\n\n.. code:: bash\n\n $ pip install git+https://github.com/saporitigianni/ratelimitpy.git\n\nor clone and then install:\n\n.. code:: bash\n\n $ git clone https://github.com/saporitigianni/ratelimitpy.git\n $ cd ratelimitpy\n $ python3 setup.py install\n\nUsage\n-----\nSimply decorate anything that requires a rate limit and specify calls and period\n\n.. code:: python\n\n from ratelimitpy import ratelimitpy\n\n # Function to be rate limited\n # Will print no more than 10 calls for every 3 second period\n @ratelimitpy(calls=10, period=3)\n def print_limited(data):\n print(data)\n\n for x in range(30):\n print_limited(x)\n\n\nContributing\n------------\n\nPlease read the `CONTRIBUTING `_ document before making changes that you would like adopted in the code.\n\nCode of Conduct\n---------------\n\nEveryone interacting in the ``ratelimitpy`` project's codebase, issue\ntrackers, chat rooms, and mailing lists is expected to follow the\n`PyPA Code of Conduct `_.\n\n\n|\n|\n| ETH 0xaD1F09626b9B8e701D5f0F4a237193Df73d3C445\n| BTC 199zsVqCusefv8yjdYQhUQZmLCyh75dqNV\n| LTC LUBqs7VxC43ttPsQuM1jaZFmshKTAU1Rs9", "description_content_type": "", "docs_url": null, "download_url": "https://pypi.python.org/pypi/ratelimitpy", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/saporitigianni/ratelimitpy", "keywords": "ratelimit,api", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "ratelimitpy", "package_url": "https://pypi.org/project/ratelimitpy/", "platform": "", "project_url": "https://pypi.org/project/ratelimitpy/", "project_urls": { "Download": "https://pypi.python.org/pypi/ratelimitpy", "Homepage": "https://github.com/saporitigianni/ratelimitpy" }, "release_url": "https://pypi.org/project/ratelimitpy/1.1.0/", "requires_dist": null, "requires_python": ">=3", "summary": "Simple rate limit decorator", "version": "1.1.0" }, "last_serial": 3907650, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2d41fb30d170778f67098e5c68162f56", "sha256": "741494288a5196bb1f8bd68066f9a34bd05a36d624988cd8d218baf66b13c1c8" }, "downloads": -1, "filename": "ratelimitpy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2d41fb30d170778f67098e5c68162f56", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3467, "upload_time": "2018-05-28T00:22:04", "url": "https://files.pythonhosted.org/packages/d4/8d/08931e95dcba7e467f2b28ee7cb1fa95308d3d1453a12b4eb72f2a99b403/ratelimitpy-0.1.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "d4b6d3c922d0390a5e14514b497c7f48", "sha256": "d3f3f67cc97b25d6f4be05433e630513406d82401c47c83ab8970c44d7497da0" }, "downloads": -1, "filename": "ratelimitpy-1.0.0.tar.gz", "has_sig": false, "md5_digest": "d4b6d3c922d0390a5e14514b497c7f48", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3623, "upload_time": "2018-05-28T00:42:47", "url": "https://files.pythonhosted.org/packages/68/06/f47e98e15068b8f6c98390ef3b22f7107fde83b2a45b83d1284d464b2e4b/ratelimitpy-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "179102a071679a3572a933957dc8a2a4", "sha256": "ebb9656404d74291d586a3f27a899afc45927d32d0ea751058ded02858d42e0c" }, "downloads": -1, "filename": "ratelimitpy-1.1.0.tar.gz", "has_sig": false, "md5_digest": "179102a071679a3572a933957dc8a2a4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3619, "upload_time": "2018-05-29T05:09:44", "url": "https://files.pythonhosted.org/packages/35/bd/e1a8a5fe57cd17af9d4019053c983954d96ffba5b1d705eee12e91de7ebd/ratelimitpy-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "179102a071679a3572a933957dc8a2a4", "sha256": "ebb9656404d74291d586a3f27a899afc45927d32d0ea751058ded02858d42e0c" }, "downloads": -1, "filename": "ratelimitpy-1.1.0.tar.gz", "has_sig": false, "md5_digest": "179102a071679a3572a933957dc8a2a4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3619, "upload_time": "2018-05-29T05:09:44", "url": "https://files.pythonhosted.org/packages/35/bd/e1a8a5fe57cd17af9d4019053c983954d96ffba5b1d705eee12e91de7ebd/ratelimitpy-1.1.0.tar.gz" } ] }