{ "info": { "author": "Keshav Murthy", "author_email": "mkeshav@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "[![CircleCI branch](https://img.shields.io/circleci/project/github/mkeshav/pace-maker/master.svg)](https://circleci.com/gh/mkeshav/pace-maker/tree/master)\n[![PyPI version](https://badge.fury.io/py/pacemaker-mkeshav.svg)](https://badge.fury.io/py/pacemaker-mkeshav)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pacemaker-mkeshav.svg)](https://badge.fury.io/py/pacemaker-mkeshav)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=mkeshav_pace-maker&metric=alert_status)](https://sonarcloud.io/dashboard?id=mkeshav_pace-maker)\n\n# Pace Maker \nThere are times in your life when you have to call legacy api's that can handle like 2 reqs/sec. There is no point hammering the old man and killing him. \n\nThis library will help you pace calls to the old man, so his heart keeps ticking. \n\nCombining this library with backoff(https://github.com/litl/backoff) can do wonders.\n\n# Install\npython3 -m pip install pacemaker-mkeshav\n\n# Usage\n```\n from pacemaker import pace_me\n\n # Function that will yield data that the process function needs\n def data_gen(n=3):\n for i in range(n):\n yield [x for x in range(n)]\n\n # Will make 3 requests to that url/sec using 1 token everytime process method is called. What data_gen function yields should be the first argument\n @pace_me(data_gen, rate_per_second=3, n=6)\n def process(data, url):\n r = requests.post(url, data=data)\n```\n# Run tests\n- All tests (`docker-compose run --rm test`)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mkeshav/pace-maker.git", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pacemaker-mkeshav", "package_url": "https://pypi.org/project/pacemaker-mkeshav/", "platform": "", "project_url": "https://pypi.org/project/pacemaker-mkeshav/", "project_urls": { "Homepage": "https://github.com/mkeshav/pace-maker.git" }, "release_url": "https://pypi.org/project/pacemaker-mkeshav/0.2.6/", "requires_dist": null, "requires_python": "", "summary": "To keep the old heart ticking", "version": "0.2.6" }, "last_serial": 5142691, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b080324372f5b08ac9dc48164885c501", "sha256": "14ac101b0c974e73919626ffc923920ec1c465030854184f1417d277e0f21d35" }, "downloads": -1, "filename": "pacemaker_mkeshav-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b080324372f5b08ac9dc48164885c501", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3485, "upload_time": "2019-04-12T04:55:06", "url": "https://files.pythonhosted.org/packages/46/57/30b8f23d9c6b6620d110166b7e1d748fbfaa2215a3331f9b865a4eef3c16/pacemaker_mkeshav-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6d583d7743b94e1a9c8452534be5452", "sha256": "c743a295c8723929b70146f8e41c19e2ea13c0b95efe268d786b22dbd4e126de" }, "downloads": -1, "filename": "pacemaker-mkeshav-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a6d583d7743b94e1a9c8452534be5452", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2155, "upload_time": "2019-04-12T04:55:07", "url": "https://files.pythonhosted.org/packages/ee/13/529a20e659730360de165614ef92374d236c7d52db818f4953370a22e9b5/pacemaker-mkeshav-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a57a567563165886c4b2001b921299e0", "sha256": "8f79d9cc55513ad0fd3a0373747bfd068d7de524a2075db30363640ebd3fa5c4" }, "downloads": -1, "filename": "pacemaker_mkeshav-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a57a567563165886c4b2001b921299e0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4208, "upload_time": "2019-04-13T03:33:29", "url": "https://files.pythonhosted.org/packages/fd/8d/627a014cc793d7e879a35d3bc8207f7fb4796f7350aceb2615c30378f80d/pacemaker_mkeshav-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "042048c3e765cd57eaad614f6862346d", "sha256": "fc803fa2ceaeb1fb9499f5b84eef7970f3b9e4b7a0e5031e646d9f29f404ad80" }, "downloads": -1, "filename": "pacemaker-mkeshav-0.2.0.tar.gz", "has_sig": false, "md5_digest": "042048c3e765cd57eaad614f6862346d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2653, "upload_time": "2019-04-13T03:33:31", "url": "https://files.pythonhosted.org/packages/d1/0c/1e6e98a257f6cad16809cb5212722d598ee6574eb2a1413f0142b1d5ec89/pacemaker-mkeshav-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "b2908879d3a082587aeb02c2cbbc1e9f", "sha256": "cb779cd63c38079582cd099b41c4caf76ec30a3b14c2e5da301c8416f5f5aaca" }, "downloads": -1, "filename": "pacemaker_mkeshav-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b2908879d3a082587aeb02c2cbbc1e9f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4404, "upload_time": "2019-04-13T05:55:34", "url": "https://files.pythonhosted.org/packages/de/c9/66873277dc027d7fdf065879cec03540b68958c914593fa49dd018b65d59/pacemaker_mkeshav-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92db1fedd348a5d87a514eee0d686ed6", "sha256": "9085ae8ca87af720feaa5499aca9bfcf8d1c489a4acc4dfe8c94fabd88329abb" }, "downloads": -1, "filename": "pacemaker-mkeshav-0.2.1.tar.gz", "has_sig": false, "md5_digest": "92db1fedd348a5d87a514eee0d686ed6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2713, "upload_time": "2019-04-13T05:55:35", "url": "https://files.pythonhosted.org/packages/e7/1d/507e7c166a59296da19a938937c920063654933ee065b5f4c8bd91e56e22/pacemaker-mkeshav-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "853de318f633500577c2c74cc82c0715", "sha256": "e4ed4e794d9fd4b18a6ab221ad4580e54b8dcca8837117cb0d79a40d5527da89" }, "downloads": -1, "filename": "pacemaker_mkeshav-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "853de318f633500577c2c74cc82c0715", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4494, "upload_time": "2019-04-13T10:19:49", "url": "https://files.pythonhosted.org/packages/a8/ee/e0ef355cd5e87c3bf4a6452cddaa3edd935734f087790fd43e8a3038e55f/pacemaker_mkeshav-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80c754f3a94fc28f00d344a2149b8b54", "sha256": "5851799514453eced4f036f1a2d5797b9d3ea3eee89e2b42bc898a06f78c6d79" }, "downloads": -1, "filename": "pacemaker-mkeshav-0.2.2.tar.gz", "has_sig": false, "md5_digest": "80c754f3a94fc28f00d344a2149b8b54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2856, "upload_time": "2019-04-13T10:19:50", "url": "https://files.pythonhosted.org/packages/7d/b0/1a8eeb7017ae812eb26477e12a7452c7dc6a257edae38e9e803c64bb10e4/pacemaker-mkeshav-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "69aa50e83b87d60db5e8315b31257901", "sha256": "716310cd6d05615988d9f882d226e72fc4f0ad4d9a5563c0f7997847f8163d6a" }, "downloads": -1, "filename": "pacemaker_mkeshav-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "69aa50e83b87d60db5e8315b31257901", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4473, "upload_time": "2019-04-13T11:05:00", "url": "https://files.pythonhosted.org/packages/71/4e/173d8ec680422f59b55ba0c4255c0abb40956659ec67b161b1abd109e1ba/pacemaker_mkeshav-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46047562689638223cae74aad87b6e72", "sha256": "2cec1622f206d7ce553596211c96f0b034b23214afdc9e9fbd654c04a619534e" }, "downloads": -1, "filename": "pacemaker-mkeshav-0.2.3.tar.gz", "has_sig": false, "md5_digest": "46047562689638223cae74aad87b6e72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2851, "upload_time": "2019-04-13T11:05:02", "url": "https://files.pythonhosted.org/packages/a5/52/17e7aeddd1569849318fac90fbe9865a39277ade6a1edfade374e19dbc8b/pacemaker-mkeshav-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "7a33c8671a5eb29bc7b680343b9390be", "sha256": "456dd10fba6c6dcf7caadcc648ab28c37ee0adbb8d240cea7cfc65f412af8ff2" }, "downloads": -1, "filename": "pacemaker_mkeshav-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "7a33c8671a5eb29bc7b680343b9390be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4647, "upload_time": "2019-04-13T23:29:28", "url": "https://files.pythonhosted.org/packages/ea/c3/366b4ae1f9483f3c184b71a5dc7ed8954f5cec78b34fe85996d1b20abd78/pacemaker_mkeshav-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "12c1db92c356ee7a4cf70bffce3ce01d", "sha256": "d0b99c576f10f703fb8f23f14114ce2729ae7e6af0e944ff87a5e7f788dad5c0" }, "downloads": -1, "filename": "pacemaker-mkeshav-0.2.4.tar.gz", "has_sig": false, "md5_digest": "12c1db92c356ee7a4cf70bffce3ce01d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3019, "upload_time": "2019-04-13T23:29:29", "url": "https://files.pythonhosted.org/packages/3d/29/7702f31c6e3a5340da392f2c130ccead47461428e457cb2891e543d11c17/pacemaker-mkeshav-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "7477def2ce0129bb90b8a3c9aaa2f08a", "sha256": "d7ec295d775b2aceb147cacfb342f482fba440bc41daf0fc787129e7b25cc0c6" }, "downloads": -1, "filename": "pacemaker_mkeshav-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "7477def2ce0129bb90b8a3c9aaa2f08a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4819, "upload_time": "2019-04-14T03:26:33", "url": "https://files.pythonhosted.org/packages/a0/4d/1a5c95cd3eaf9c0240eaf114f8db619b6b2eb817dcc3b28b4b51cb4f53dc/pacemaker_mkeshav-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6264f3c423ea84310c7ff01c0e5b3280", "sha256": "9732274bf845487023e3456b83c56e69ea81e7a7fe22accbb68f78b917f2ed18" }, "downloads": -1, "filename": "pacemaker-mkeshav-0.2.5.tar.gz", "has_sig": false, "md5_digest": "6264f3c423ea84310c7ff01c0e5b3280", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3183, "upload_time": "2019-04-14T03:26:35", "url": "https://files.pythonhosted.org/packages/74/51/5e0f8236f7cb6b84750a6301a03ae8382b47ad643c9851b677eb9303acc3/pacemaker-mkeshav-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "90118e481cbe6dfc2851faa3022904fe", "sha256": "edd1522534d63d1698539d7c44f0cbe49d85b37f31f6608deac2f419d4f274b8" }, "downloads": -1, "filename": "pacemaker_mkeshav-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "90118e481cbe6dfc2851faa3022904fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4848, "upload_time": "2019-04-15T03:35:17", "url": "https://files.pythonhosted.org/packages/b0/4e/fec402fb9be78b1c33bf8a6c83c475b4e1e97930ac21d12eb30519f8ef90/pacemaker_mkeshav-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "615838e6fffea58f5e91496cd3f9b899", "sha256": "a52f61cd750f18f29c90fc8cf15a4b13a14464a9ab1fd0d407ea1ac931c02b65" }, "downloads": -1, "filename": "pacemaker-mkeshav-0.2.6.tar.gz", "has_sig": false, "md5_digest": "615838e6fffea58f5e91496cd3f9b899", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3210, "upload_time": "2019-04-15T03:35:18", "url": "https://files.pythonhosted.org/packages/f0/94/41d8ae3820c015fd962017b61539d868bce4e7ddddebed89a00da8062267/pacemaker-mkeshav-0.2.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "90118e481cbe6dfc2851faa3022904fe", "sha256": "edd1522534d63d1698539d7c44f0cbe49d85b37f31f6608deac2f419d4f274b8" }, "downloads": -1, "filename": "pacemaker_mkeshav-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "90118e481cbe6dfc2851faa3022904fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4848, "upload_time": "2019-04-15T03:35:17", "url": "https://files.pythonhosted.org/packages/b0/4e/fec402fb9be78b1c33bf8a6c83c475b4e1e97930ac21d12eb30519f8ef90/pacemaker_mkeshav-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "615838e6fffea58f5e91496cd3f9b899", "sha256": "a52f61cd750f18f29c90fc8cf15a4b13a14464a9ab1fd0d407ea1ac931c02b65" }, "downloads": -1, "filename": "pacemaker-mkeshav-0.2.6.tar.gz", "has_sig": false, "md5_digest": "615838e6fffea58f5e91496cd3f9b899", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3210, "upload_time": "2019-04-15T03:35:18", "url": "https://files.pythonhosted.org/packages/f0/94/41d8ae3820c015fd962017b61539d868bce4e7ddddebed89a00da8062267/pacemaker-mkeshav-0.2.6.tar.gz" } ] }