{ "info": { "author": "Enrico Bacis", "author_email": "enrico.bacis@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Description\n-----------\n\n.. image:: https://raw.githubusercontent.com/enricobacis/limit/master/.screenshot/limit.gif\n :target: https://asciinema.org/a/4f621lbwvpgf91neshex89nrm\n :align: center\n\nThis decorator limits the calling rate of the decorated function. This is\nuseful in conjuction with web API calls, where you often get banned if you\nperform more calls than the ones specified in the terms of services.\n\nThe rate is ``limit`` over ``every``, where limit is the number of invocation\nallowed every ``every`` seconds. ``limit(4, 60)`` creates a decorator that\nlimits the function calls to *4 per minute*. If not specified, ``every``\ndefaults to ``1`` second.\n\n.. code:: python\n\n @limit(4, 60)\n def function(...):\n \"\"\"never invoke this function more than 4 times per minute.\"\"\"\n ...\n\nInstallation\n------------\n\nThe package has been uploaded to `PyPI`_, so you can install it with pip:\n\n pip install limit\n\n\n.. _PyPI: https://pypi.python.org/pypi/limit\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/enricobacis/limit", "keywords": "rate ratelimit ratelimiter limit limiting api function", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "limit", "package_url": "https://pypi.org/project/limit/", "platform": "", "project_url": "https://pypi.org/project/limit/", "project_urls": { "Homepage": "http://github.com/enricobacis/limit" }, "release_url": "https://pypi.org/project/limit/0.2.3/", "requires_dist": null, "requires_python": "", "summary": "Decorator that limits the calling rate of a function", "version": "0.2.3" }, "last_serial": 2641405, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "b77f34bcc74480e25e02f0a1b37b995a", "sha256": "f6c486b2df700064574add86083cec8ddb0e35ef2ac6e5c3b53fcfaac83b52ab" }, "downloads": -1, "filename": "limit-0.1.tar.gz", "has_sig": false, "md5_digest": "b77f34bcc74480e25e02f0a1b37b995a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1572, "upload_time": "2017-02-12T10:50:52", "url": "https://files.pythonhosted.org/packages/a8/f8/2b03b0ea278dc7ed5fc2e5a067628794721f019f59f05b82af4b19cd791f/limit-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "18613d4bdc953bd24517bbafb3abddd1", "sha256": "aa385922726cad7012fcefa8af1202a66bc0f2cb4b4e306f5cc02ed4728f6fb0" }, "downloads": -1, "filename": "limit-0.2.tar.gz", "has_sig": false, "md5_digest": "18613d4bdc953bd24517bbafb3abddd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1838, "upload_time": "2017-02-12T17:06:55", "url": "https://files.pythonhosted.org/packages/ae/2a/767c734a9ed80fc2c8e6a5304d6c394b2cdfa54130453b1705eae0a850e9/limit-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "9ce520493f1083eeab7272648a76022a", "sha256": "91b7ba576c433cfbfd361ef6ebed28a4f393edd6c2ef720365058fdbbce8d86d" }, "downloads": -1, "filename": "limit-0.2.1.tar.gz", "has_sig": false, "md5_digest": "9ce520493f1083eeab7272648a76022a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1846, "upload_time": "2017-02-12T17:09:16", "url": "https://files.pythonhosted.org/packages/42/84/58663862a0b71f335b4ff133a76dddb77b237e714f585e599eac649241e8/limit-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "d6dbb4278181cd95888b827938b1524a", "sha256": "5d793312477b57956dc9cb3b392cf750322eaab2b4529f20fa02165ef51a2280" }, "downloads": -1, "filename": "limit-0.2.2.tar.gz", "has_sig": false, "md5_digest": "d6dbb4278181cd95888b827938b1524a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1898, "upload_time": "2017-02-13T08:50:19", "url": "https://files.pythonhosted.org/packages/eb/d5/b2b4865345fabb405573f778ad53665f9d965aacebe03bb4f6eea6b8107f/limit-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "e6f31a453fe3718eadd6e1193d068f07", "sha256": "5dcb9d657a17fd4285cda417fb67dcef297bc6179e4c0d25f0a1eaab87ed30ba" }, "downloads": -1, "filename": "limit-0.2.3.tar.gz", "has_sig": false, "md5_digest": "e6f31a453fe3718eadd6e1193d068f07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1930, "upload_time": "2017-02-14T16:16:09", "url": "https://files.pythonhosted.org/packages/eb/f4/dc421fbc654e922be53288bf75160da62a0c3f81928957163e997fdb3198/limit-0.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e6f31a453fe3718eadd6e1193d068f07", "sha256": "5dcb9d657a17fd4285cda417fb67dcef297bc6179e4c0d25f0a1eaab87ed30ba" }, "downloads": -1, "filename": "limit-0.2.3.tar.gz", "has_sig": false, "md5_digest": "e6f31a453fe3718eadd6e1193d068f07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1930, "upload_time": "2017-02-14T16:16:09", "url": "https://files.pythonhosted.org/packages/eb/f4/dc421fbc654e922be53288bf75160da62a0c3f81928957163e997fdb3198/limit-0.2.3.tar.gz" } ] }