{
"info": {
"author": "AG Stephan",
"author_email": "",
"bugtrack_url": null,
"classifiers": [
"License :: OSI Approved :: MIT License",
"Topic :: Games/Entertainment :: Real Time Strategy",
"Topic :: Games/Entertainment :: Role-Playing",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Text Processing"
],
"description": "RiotWatcher v2.7.1\n==================\n\n|pypi| |docs| |build| |coverage| |lgmt| |black|\n\nCheck for full (read: slightly better) documentation `here `__!\n\nRiotWatcher is a thin wrapper on top of the `Riot Games API for League\nof Legends `__. All public methods as\nof 7/30/2019 are supported in full.\n\nRiotWatcher by default supports a naive rate limiter. This rate limiter will\ntry to stop you from making too many requests, and in a single threaded test\nenvironment does this rather well. In a multithreaded environment, you may\nstill get some 429 errors. 429 errors are currently NOT retried for you.\n\n\nTo Start...\n-----------\n\nTo install RiotWatcher:\n\n::\n\n pip install riotwatcher\n\nOR for development/testing, clone and run:\n\n::\n\n pip install -e .[dev]\n pre-commit install\n\nYou also need to have an API key from Riot. Get that from\n`here `__.\n\nUsing it...\n-----------\n\nAll methods return dictionaries representing the json objects described\nby the official Riot API. Any HTTP errors that are returned by the API are\nraised as HTTPError exceptions from the Requests library.\n\n.. code:: python\n\n from riotwatcher import RiotWatcher, ApiError\n\n watcher = RiotWatcher('')\n\n my_region = 'na1'\n\n me = watcher.summoner.by_name(my_region, 'pseudonym117')\n print(me)\n\n # all objects are returned (by default) as a dict\n # lets see if I got diamond yet (I probably didn't)\n my_ranked_stats = watcher.league.positions_by_summoner(my_region, me['id'])\n print(my_ranked_stats)\n\n # Lets get some champions\n static_champ_list = watcher.static_data.champions(my_region)\n print(static_champ_list)\n\n # For Riot's API, the 404 status code indicates that the requested data wasn't found and\n # should be expected to occur in normal operation, as in the case of a an\n # invalid summoner name, match ID, etc.\n #\n # The 429 status code indicates that the user has sent too many requests\n # in a given amount of time (\"rate limiting\").\n\n try:\n response = watcher.summoner.by_name(my_region, 'this_is_probably_not_anyones_summoner_name')\n except ApiError as err:\n if err.response.status_code == 429:\n print('We should retry in {} seconds.'.format(err.response.headers['Retry-After']))\n print('this retry-after is handled by default by the RiotWatcher library')\n print('future requests wait until the retry-after time passes')\n elif err.response.status_code == 404:\n print('Summoner with that ridiculous name not found.')\n else:\n raise\n\nUse with kernel\n---------------\n\nRiotWatcher can integrate with the API proxy/caching server `kernel `__.\nThis can be done by providing the ``kernel_url`` parameter to the ``RiotWatcher`` constructor.\n\n.. code:: python\n\n from riotwatcher import RiotWatcher, ApiError\n\n watcher = RiotWatcher(kernel_url=\"https://your-kernel-instance\") # should not contain trailing slash\n # use watcher as normal\n\n\nAdvanced\n--------\n\nAll rate limiting, caching, and data transformation is handled by objects\nextending the Handlers.RequestHandler class. These are completely user\nconfigurable.\n\nTODO: add more info about this\n\nTesting\n-------\n\nThere currently are 2 sets of tests. There are basic unit tests for API related\nfunctionality, and there is a full system test, which directly accesses the\nAPI.\n\nUnit tests can be run with the following command from the RiotWatcher folder:\n\n::\n\n tox\n\nKnown Issues\n------------\n\nRate limiter has some race conditions when used concurrently.\n\nChangelog\n---------\nv2.7.1 - 7/31/2019\n~~~~~~~~~~~~~~~~~~\n\nFixed issue with using kernel on regions other than NA.\n\nv2.7.0 - 7/30/2019\n~~~~~~~~~~~~~~~~~~\n\nAdd support for connecting to `kernel `__.\n\nGeneral cleanup\n\nv2.6.0 - 5/7/2019\n~~~~~~~~~~~~~~~~~\n\nRemoved deprecated v3 endpoints\n\nAdd support for league v4 entry/by-summoner and entry/queue/tier/division endpoints\n\n\nAdded warning log when deprecated endpoint is used\n\nAdded support for timeout parameter. Example:\n\n.. code:: python\n\n from riotwatcher import RiotWatcher, TimeoutError\n\n watcher = RiotWatcher('', timeout=2.5) # timeout is in seconds\n try:\n watcher.summoner.by_name('na1', 'pseudonym117')\n except TimeoutError:\n print('timed out getting summoner')\n\nv2.5.0 - 1/7/2019\n~~~~~~~~~~~~~~~~~\n\nAdded v4 API support\n\nChanged exceptions to custom exception (ApiError) from requests exception.\nChange is backwards compatible until at least version v2.6. After that,\ncatching HTTPError will no loger be supported.\n\nBREAKING:\n\nRequestHandler.preview_static_request and RequestHandler.after_static_request no longer recieve\nversion and locale directly as parameters. Should instead use URL. This API is undocumented,\nbut technically broken by some ddragon related changes.\n\nSwitched tests to use pytest + tox from unittest and remembering to run each\npython version supported.\n\nAdded coverage measurements when running tests.\n\nMoved source into src folder.\n\nAdded integration tests.\n\nMoved URL writing into separate modules.\n\nRemoved StaticData API (RIP)\n\nRemoved champions.all and champions.by_id (RIP)\n\nv2.4.0 - 8/23/2018\n~~~~~~~~~~~~~~~~~~\n\nAdded DDragon API support\n\nAdded support for champion rotaion API\n\nv2.3.0 - 6/3/2018\n~~~~~~~~~~~~~~~~~\n\nFixed issue #88 (recent matchlist endpoint deprecated)\n\nRemoved riotewatcher.legacy namespace and API. Please (finally) update to the\nv3 API.\n\nv2.2.2 - 4/2/2018\n~~~~~~~~~~~~~~~~~\n\nFixed issue #84 where old endpoint was in examples\n\nAdded league.by_id endpoint\n\nFixed a few documentation issues\n\n\nv2.2.1 - 12/28/2017\n~~~~~~~~~~~~~~~~~~~\n\nFixed issue #83 where lower non-1 limits sent by riot would cause an exception\nintead of being handled correctly.\n\nAlso added unit tests to Limit class. Because tests are good.\n\nv2.2.0 - 12/1/2017\n~~~~~~~~~~~~~~~~~~\n\nCompletely removed masteries and runes APIs\n\nAdded ThirdPartyCode API\n\nFixed some documentation typos\n\nLearned what PyLint is and used it.\n\nLegacy interface is to be removed with next non-bugfix version.\nTime to adapt to proper usage of v3 interfaces!\n\nv2.1.0 - 10/9/2017\n~~~~~~~~~~~~~~~~~~\n\nService Rate limits now actually respected!\n\nA bunch of random doc fixes... other non-insteresting stuff. etc.\n\nv2.0.3 - 10/3/2017\n~~~~~~~~~~~~~~~~~~\n\nMany fixes to documentation and automatic test runners (no pypi version)\n\nFixed defect #80 (booleans not converted to lower case in requests)\n\nv2.0.2 - 7/25/2017\n~~~~~~~~~~~~~~~~~~\n\nPython 2 Support\n\nFixed a bunch of PEP violations and fixed comments format.\n\nv2.0.1 - 7/18/2017\n~~~~~~~~~~~~~~~~~~\n\nfixed nasty packaging bug rendering everything unusable. Oops.\n\nv2.0.0 - 7/18/2017\n~~~~~~~~~~~~~~~~~~\n\nv3 API support.\n\nHuge refactor of code, many old calls broken.\n\nRate limiting added by default, can be removed/replaced.\n\nv1.3.2 - 11/16/2015\n~~~~~~~~~~~~~~~~~~~\n\nfixed issue with special characters in names in get_summoners method\n(issue #28)\n\nfixed bug in matchlist API causing requests for past seasons to fail,\nadded constants for each possible season. (issue #44)\n\nfixed bug introduced in pull request #35\n(method of checked for what exception is thrown changed from what was\ndocumented) - old method should work now. (issue #43)\n\nv1.3.1 - 10/24/2015\n~~~~~~~~~~~~~~~~~~~\n\nremoved match history functions, as these were deprecated.\n\nv1.3 - 7/29/2015\n~~~~~~~~~~~~~~~~\n\nmerged pull requests to (done at previous date, changelog not updated):\n - use matchlist endpoint\n - use nemesis draft\n - use riot attribution\n - get master tier\n\nfixed issue with merged matchlist endpoint tests\nfixed issue #24 in readme\nadded black market brawlers constants\n\nv1.2.5 - 3/8/2015\n~~~~~~~~~~~~~~~~~\n\nfixed issue with __init__.py not importing the correct packages\n\nv1.2.4 - 2/13/2015\n~~~~~~~~~~~~~~~~~~\n\nAdded current-game-v1.0 and featured-games-v1.0 api's\n\nv1.2.3 - 12/31/2014\n~~~~~~~~~~~~~~~~~~~\n\nFixed bug/undocumented feature when getting a single summoner with space\nin the name. Also added static method\n``RiotWatcher.sanitize_name(name)`` for stripping special characters\nfrom summoner names.\n\nv1.2.2 - 12/22/2014\n~~~~~~~~~~~~~~~~~~~\n\nTiny changes, function signature of get\\_summoner changed, to get by ID\nthe keyword is now ``_id``, not ``id``, tests updated to reflect this\n\nSome game constants updated, if anyone has actually been using them.\n\nv1.2.1 - 10/14/2014\n~~~~~~~~~~~~~~~~~~~\n\nAdd lol-status API. not a huge thing but i had time to do it.\n\nv1.2 - 9/4/2014\n~~~~~~~~~~~~~~~\n\nAdded Match and MatchHistory APIs! Also are somewhat tested, but query\nparameters are not tested.\n\nAdded some new constants. Probably not useful, but who knows. Maybe\nsomeone will want them.\n\nSome code changed to look slightly nicer too.\n\nv1.1.8 - 9/4/2014\n~~~~~~~~~~~~~~~~~\n\nUpdated APIs supported. Updated APIs:\n\n- league-v2.5\n- team-v2.4\n\nDon't worry, support for match data is coming. I just wanted to commit\nthese changes first, since they already had tests.\n\nv1.1.7 - 8/10/2014\n~~~~~~~~~~~~~~~~~~\n\nFixed issue #4 (forgot to change a number, oops) and made it much much\nless likely for me to do it again (moved api version part of url into a\ndifferent method just to be sure I don't mess it up).\n\nAlso there are now TESTS!! WOO! Everyone rejoice. They aren't very good\ntests though, so don't be too excited. BUT if they should detect if\nthere's a clear issue in the API wrapper.\n\nOh and some better formatting done (spaces not tabs, more consistent\nindentation, etc.). Should be no functional difference at all.\n\nv1.1.6 - 6/19/2014\n~~~~~~~~~~~~~~~~~~\n\nAdded support for regional proxies, because EUW broke without it\n\nv1.1.5 - 5/9/2014\n~~~~~~~~~~~~~~~~~\n\nCause what do version numbers really mean anyways?\n\nActually add endpoints to league API that I just forgot to add. Change\nis NOT backwards compatible, any use of the old league api calls will\nneed to be changed, in addition to the riot changes.\n\nNewly supported API's: - league-v2.4 - team-v2.3\n\nv1.1.1 - 5/3/2014\n~~~~~~~~~~~~~~~~~\n\nFix issue with static calls, namely that they didn't do anything right\nbefore. Now they work.\n\nv1.1 - 4/29/2014\n~~~~~~~~~~~~~~~~\n\nUpdated to latest API versions, now supported API's are:\n\n- champion-v1.2\n- game-v1.3\n- league-v2.3\n- lol-static-data-v1.2\n- stats-v1.3\n- summoner-v1.4\n- team-v2.2\n\nChanges are NOT backwards compatible, you will need to update any code\nthat used an old API version. Check `Riots\ndocumentation `__ for\nmore information on what changes were made\n\nv1.0.2 - 2/25/2014\n~~~~~~~~~~~~~~~~~~\n\nAdded Riots new methods to get teams by id. In methods\n'get\\_teams(team\\_ids, region)' and 'get\\_team(team\\_id, region)'.\n\nv1.0.1a\n~~~~~~~\n\nAlpha only, experimental rate limiting added\n\nv1.0\n~~~~\n\nInitial release\n\nAttribution\n~~~~~~~~~~~\n\nRiotWatcher isn't endorsed by Riot Games and doesn't reflect the views or\nopinions of Riot Games or anyone officially involved in producing or managing\n*League of Legends*. *League of Legends* and Riot Games are trademarks or\nregistered trademarks ofRiot Games, Inc.\n*League of Legends* (c) Riot Games, Inc.\n\n\n.. |pypi| image:: https://img.shields.io/pypi/v/riotwatcher.svg\n :target: https://pypi.python.org/pypi/riotwatcher\n :alt: Latest version released on PyPi\n\n.. |docs| image:: https://readthedocs.org/projects/riot-watcher/badge/?version=latest\n :target: http://riot-watcher.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. |build| image:: https://travis-ci.org/pseudonym117/Riot-Watcher.svg?branch=master\n :target: https://travis-ci.org/pseudonym117/Riot-Watcher\n :alt: Build status\n\n.. |coverage| image:: https://img.shields.io/codecov/c/gh/pseudonym117/Riot-Watcher.svg\n :target: https://codecov.io/gh/pseudonym117/Riot-Watcher\n :alt: Test coverage\n\n.. |lgmt| image:: https://img.shields.io/lgtm/grade/python/g/pseudonym117/Riot-Watcher.svg?logo=lgtm&logoWidth=18\n :target: https://lgtm.com/projects/g/pseudonym117/Riot-Watcher/context:python\n :alt: Code quality\n\n.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/ambv/black\n :alt: Code style\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/pseudonym117/Riot-Watcher",
"keywords": "",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "riotwatcher",
"package_url": "https://pypi.org/project/riotwatcher/",
"platform": "",
"project_url": "https://pypi.org/project/riotwatcher/",
"project_urls": {
"Homepage": "https://github.com/pseudonym117/Riot-Watcher"
},
"release_url": "https://pypi.org/project/riotwatcher/2.7.1/",
"requires_dist": [
"requests",
"coverage ; extra == 'dev'",
"pre-commit ; extra == 'dev'",
"pytest ; extra == 'dev'",
"pytest-cov ; extra == 'dev'",
"tox ; extra == 'dev'"
],
"requires_python": "",
"summary": "RiotWatcher is a thin wrapper on top of the Riot Games API for League of Legends.",
"version": "2.7.1"
},
"last_serial": 5616512,
"releases": {
"1.2.4": [
{
"comment_text": "",
"digests": {
"md5": "fff28c43f6206a53c1d9a564adfac9fd",
"sha256": "a49bf71f625341399bba048e7a6dbab3488aeb194af549e3404230dd96839d0c"
},
"downloads": -1,
"filename": "riotwatcher-1.2.4.win32.exe",
"has_sig": false,
"md5_digest": "fff28c43f6206a53c1d9a564adfac9fd",
"packagetype": "bdist_wininst",
"python_version": "any",
"requires_python": null,
"size": 208965,
"upload_time": "2015-03-06T04:48:52",
"url": "https://files.pythonhosted.org/packages/00/e0/d59774742ea4f23c6d753325f26bcd6fdb73dee2f9c4ed73f1a7474b12b9/riotwatcher-1.2.4.win32.exe"
},
{
"comment_text": "",
"digests": {
"md5": "5f87fb1cc923b95e8845e3e46a046ef8",
"sha256": "e5e07dc843034064a35a91db68cea468994ee1ea8e13898bc5d785746938e351"
},
"downloads": -1,
"filename": "riotwatcher-1.2.4.zip",
"has_sig": false,
"md5_digest": "5f87fb1cc923b95e8845e3e46a046ef8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 17814,
"upload_time": "2015-03-06T04:48:48",
"url": "https://files.pythonhosted.org/packages/2d/0d/64b121e4ea34bf46c6e3322965b2f671f82ecb52e4d4bf4387b610f97b1b/riotwatcher-1.2.4.zip"
}
],
"1.2.5": [
{
"comment_text": "",
"digests": {
"md5": "8e3dfb98cda243a98c369da52655f9ef",
"sha256": "0e08069a2f8ba87820f645fd52d871372efc5727aa7b027b4d7628ef3e6eecfb"
},
"downloads": -1,
"filename": "riotwatcher-1.2.5.zip",
"has_sig": false,
"md5_digest": "8e3dfb98cda243a98c369da52655f9ef",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 17950,
"upload_time": "2015-03-09T04:39:57",
"url": "https://files.pythonhosted.org/packages/e1/02/860999f59a75f93a3604866cd0b5b2914a29f97c6720391d278e888499fe/riotwatcher-1.2.5.zip"
}
],
"1.3": [
{
"comment_text": "",
"digests": {
"md5": "b2260d7705fd03d6ebe9041b56642b96",
"sha256": "39718fa9b37478784ac40ec6bbaa507661196885b8960e70fd9e1b3a9d1380e9"
},
"downloads": -1,
"filename": "riotwatcher-1.3.zip",
"has_sig": false,
"md5_digest": "b2260d7705fd03d6ebe9041b56642b96",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 18538,
"upload_time": "2017-07-18T08:22:15",
"url": "https://files.pythonhosted.org/packages/dc/d0/79d95d661dc2bcc0115566c6bebebb391a188ed03ac7d3379fab071881da/riotwatcher-1.3.zip"
}
],
"1.3.1": [
{
"comment_text": "",
"digests": {
"md5": "e57da4560dcbf6e434ccadca28ecaf93",
"sha256": "8b1ee7e153fb204bb8a8cd709d3f9c3ad5e73a1da7d5984c8577c452b28729a8"
},
"downloads": -1,
"filename": "riotwatcher-1.3.1.tar.gz",
"has_sig": false,
"md5_digest": "e57da4560dcbf6e434ccadca28ecaf93",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13781,
"upload_time": "2015-11-16T07:43:39",
"url": "https://files.pythonhosted.org/packages/f1/17/db47a11279e567b23f71b22fd64a0ec372121e15cf083ccf6a5d324ced05/riotwatcher-1.3.1.tar.gz"
}
],
"1.3.2": [
{
"comment_text": "",
"digests": {
"md5": "67e0c23c3cb775e456b126a8062ae9be",
"sha256": "688fe20cf28457b85e5157e669eaaf878c38707e76db16d2dce03a2db450e3e3"
},
"downloads": -1,
"filename": "riotwatcher-1.3.2.tar.gz",
"has_sig": false,
"md5_digest": "67e0c23c3cb775e456b126a8062ae9be",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14299,
"upload_time": "2015-11-16T08:45:09",
"url": "https://files.pythonhosted.org/packages/a8/13/9e046956d40c2c7d8ca763b7ab07e974692db4e6db8aefc7773934c1abf6/riotwatcher-1.3.2.tar.gz"
}
],
"2.0.0": [
{
"comment_text": "",
"digests": {
"md5": "ad5fa1dd131be124a0592dd791f82046",
"sha256": "f943e65dc84d8a744971aeec9fefa877b9841ff22efd8d21fa645b0bb3456e05"
},
"downloads": -1,
"filename": "riotwatcher-2.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ad5fa1dd131be124a0592dd791f82046",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 11138,
"upload_time": "2017-07-18T08:22:14",
"url": "https://files.pythonhosted.org/packages/a3/a4/7b17c4aefaf288beaf718377121de0f5728ac83ea71ab712df41887641b1/riotwatcher-2.0.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e65283c747d971bc38a3bec0bbc640b1",
"sha256": "2dfbf20b9ebad24b04378606b3400a157a1ffd133beec725907a8e7b7fb66889"
},
"downloads": -1,
"filename": "riotwatcher-2.0.0.tar.gz",
"has_sig": false,
"md5_digest": "e65283c747d971bc38a3bec0bbc640b1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7023,
"upload_time": "2017-07-18T08:22:17",
"url": "https://files.pythonhosted.org/packages/ed/f8/7f80930d46124114d6855e01cd645f45fe353a936a39b6e585562b988c12/riotwatcher-2.0.0.tar.gz"
}
],
"2.0.1": [
{
"comment_text": "",
"digests": {
"md5": "0ad4e59657378402265572c9e4995f95",
"sha256": "73164356c82cd327fa33ddf548d6106f3a12e0ccd9a7930b04115df28a35c5a1"
},
"downloads": -1,
"filename": "riotwatcher-2.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0ad4e59657378402265572c9e4995f95",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 43581,
"upload_time": "2017-07-18T08:35:25",
"url": "https://files.pythonhosted.org/packages/4c/91/e4a3b0e5491cccded2a0c56f61c82c8a3faced612980ff312634a0aebfed/riotwatcher-2.0.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7723ec478b5344bacf29baba14d1f01d",
"sha256": "87754eb8cfb6419884bca347e048bc277f684728346b02da4a3c6dc3de8b181e"
},
"downloads": -1,
"filename": "riotwatcher-2.0.1.tar.gz",
"has_sig": false,
"md5_digest": "7723ec478b5344bacf29baba14d1f01d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 28602,
"upload_time": "2017-07-18T08:35:27",
"url": "https://files.pythonhosted.org/packages/1d/f2/756bafe104660780589d1eb561ce5f5dc1f438f5b0cf687384e0f00d20b1/riotwatcher-2.0.1.tar.gz"
}
],
"2.0.2": [
{
"comment_text": "",
"digests": {
"md5": "fa351eb7ce9d9ee7b245eb8d8235cb6c",
"sha256": "c90f088c1cd8fbe107747e0b4f5ad423dc43ed73ba38078c4f53607b0d4dfb0d"
},
"downloads": -1,
"filename": "riotwatcher-2.0.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "fa351eb7ce9d9ee7b245eb8d8235cb6c",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 44048,
"upload_time": "2017-07-26T02:56:20",
"url": "https://files.pythonhosted.org/packages/7c/32/b3f4c5241d2d86974fc2552c59f449af3dd38efaae1563a85f7248560342/riotwatcher-2.0.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ce1a589b9b00dd1e7706a4cf3f5a154d",
"sha256": "0d9a117fa7bda58c377b85a3e86fdb1d6fd7a4df54e0557c88e0e1365e012b38"
},
"downloads": -1,
"filename": "riotwatcher-2.0.2.tar.gz",
"has_sig": false,
"md5_digest": "ce1a589b9b00dd1e7706a4cf3f5a154d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 28874,
"upload_time": "2017-07-26T02:56:22",
"url": "https://files.pythonhosted.org/packages/03/50/3bcb17d1495eb311c9d80b06806773f87755cb8ae2f79833ddf7a5652cf3/riotwatcher-2.0.2.tar.gz"
}
],
"2.0.3": [
{
"comment_text": "",
"digests": {
"md5": "e38c2c32d1a5d20d732828042bcf4bba",
"sha256": "1009047959193ca1874ada2ee38b9b1a9765458414ffe951c14153cb9c692f86"
},
"downloads": -1,
"filename": "riotwatcher-2.0.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "e38c2c32d1a5d20d732828042bcf4bba",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 46352,
"upload_time": "2017-10-03T05:17:53",
"url": "https://files.pythonhosted.org/packages/b2/25/c1532b7117533b92358d2c8e0ea5174f613af29894a476dc01998e1df3c1/riotwatcher-2.0.3-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "8395c0c83b25b44d5e6410d10b70d03c",
"sha256": "132bcb3c9160e87746475f0e0bb2cb5992d067678da036ce149100ca46847127"
},
"downloads": -1,
"filename": "riotwatcher-2.0.3.tar.gz",
"has_sig": false,
"md5_digest": "8395c0c83b25b44d5e6410d10b70d03c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30446,
"upload_time": "2017-10-03T05:17:54",
"url": "https://files.pythonhosted.org/packages/f1/60/15eab2a52444de68a3f5cbf453e569d7fef9b8e2fc8eb71875b2f46d03ce/riotwatcher-2.0.3.tar.gz"
}
],
"2.1.0": [
{
"comment_text": "",
"digests": {
"md5": "0b71f4f1633ad1b5205f4cd2a3662b7a",
"sha256": "2710851f5cb897f687250421992cadfcfa10b1c811127c2b2863ec155b8026ae"
},
"downloads": -1,
"filename": "riotwatcher-2.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "0b71f4f1633ad1b5205f4cd2a3662b7a",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 50841,
"upload_time": "2017-10-10T03:41:00",
"url": "https://files.pythonhosted.org/packages/3c/8b/0af2e39eeaab7ca4bce59449d831274d374342d55c13cb963f4ed930c1a9/riotwatcher-2.1.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "292a7228e2e3a8f9115d6e7896f2e22b",
"sha256": "22a0df00cff4abed8db19b918c53357a7771215dd021edcd625f15f3d81fbeab"
},
"downloads": -1,
"filename": "riotwatcher-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "292a7228e2e3a8f9115d6e7896f2e22b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30344,
"upload_time": "2017-10-10T03:41:02",
"url": "https://files.pythonhosted.org/packages/c3/d5/3aed470ef350f6c4fee8f0ca9614d6a2a4bd52b285451da3d15e9368e941/riotwatcher-2.1.0.tar.gz"
}
],
"2.2.0": [
{
"comment_text": "",
"digests": {
"md5": "bbc8f4980ca17c082409f17730939ad4",
"sha256": "f7475331d9bd4a92e8d4f296a5a6256e39cbbdc62eb0e6d76315e1cff8f3955d"
},
"downloads": -1,
"filename": "riotwatcher-2.2.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "bbc8f4980ca17c082409f17730939ad4",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 46234,
"upload_time": "2017-12-01T07:23:42",
"url": "https://files.pythonhosted.org/packages/24/6f/9f58d2501f2be0de6aeb2fbb2d6b19e3693bc61b1afe8ed2cf67d4e7b1c0/riotwatcher-2.2.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2d086f8f195a4c34204517209262dc20",
"sha256": "9b764e6598f324c68e22af745fb31450a4513b0dc2ba21338925c2c6455ca1b1"
},
"downloads": -1,
"filename": "riotwatcher-2.2.0.tar.gz",
"has_sig": false,
"md5_digest": "2d086f8f195a4c34204517209262dc20",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30514,
"upload_time": "2017-12-01T07:23:44",
"url": "https://files.pythonhosted.org/packages/25/df/e544b0589dd39fec4387d26d4622e9c49b0bbcba416ce0b292d1bb75c0aa/riotwatcher-2.2.0.tar.gz"
}
],
"2.2.1": [
{
"comment_text": "",
"digests": {
"md5": "4a2574281304e223014407cf4e4387ea",
"sha256": "057bdc8705df91db6c8e08d535a877cc123f377d18423d385d2108707eb322c0"
},
"downloads": -1,
"filename": "riotwatcher-2.2.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "4a2574281304e223014407cf4e4387ea",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 47548,
"upload_time": "2017-12-29T03:39:33",
"url": "https://files.pythonhosted.org/packages/3f/cc/91056e8164d7feb4380969f948e9823c90d81ae8b20f3bbc484d25c7ea34/riotwatcher-2.2.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "42bf070a7c185179ea07be1b512c5aec",
"sha256": "0b0d7758d643a0918c5d10bf30d42a420d7de4c06e403104c861c90eae1258b8"
},
"downloads": -1,
"filename": "riotwatcher-2.2.1.tar.gz",
"has_sig": false,
"md5_digest": "42bf070a7c185179ea07be1b512c5aec",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31307,
"upload_time": "2017-12-29T03:39:34",
"url": "https://files.pythonhosted.org/packages/1e/b6/1f854b86ea999d89435720e5ccfddb2620ed293f59bc2427a0c47ae1eb29/riotwatcher-2.2.1.tar.gz"
}
],
"2.2.2": [
{
"comment_text": "",
"digests": {
"md5": "79ccfbb047c7552b799444eca061f86c",
"sha256": "d1ed6e940719e5959e840f5874e2844584bbedbe2b45148b05247d1e8bfaeed8"
},
"downloads": -1,
"filename": "riotwatcher-2.2.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "79ccfbb047c7552b799444eca061f86c",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 47752,
"upload_time": "2018-04-03T02:36:26",
"url": "https://files.pythonhosted.org/packages/02/4b/00b6bce25089ed8bcf2a82aa9b7d055626abe852507e80866e18af9d36a5/riotwatcher-2.2.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "dd26189b2e9e137d3f5a3b41aed07d91",
"sha256": "0d55bae9837cde003ceef6667875cf8e536c638da923cb939fd6e208faecf179"
},
"downloads": -1,
"filename": "riotwatcher-2.2.2.tar.gz",
"has_sig": false,
"md5_digest": "dd26189b2e9e137d3f5a3b41aed07d91",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31570,
"upload_time": "2018-04-03T02:36:27",
"url": "https://files.pythonhosted.org/packages/2b/7b/11b8f9619457b8769aa95612534ca31fa444e76768003797e92cba76d6f1/riotwatcher-2.2.2.tar.gz"
}
],
"2.3.0": [
{
"comment_text": "",
"digests": {
"md5": "90bfd4a3014a7ef36930f06edb4bfe7d",
"sha256": "d83936edd6979752c2dd895d515f95b85de2abd7c39fa86d4d5797c496a9a4f9"
},
"downloads": -1,
"filename": "riotwatcher-2.3.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "90bfd4a3014a7ef36930f06edb4bfe7d",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 47298,
"upload_time": "2018-06-03T18:18:10",
"url": "https://files.pythonhosted.org/packages/59/fb/3c0b3814c99ba67b1b681f1b8af3dad97380e3a3b910a6de5c1c3e687e70/riotwatcher-2.3.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6d66222e6f04e4d80372c534875b3708",
"sha256": "8e73a61fa083c4196c986fe3394b2cbd16949941706aa9f53ce6d4b462e74f91"
},
"downloads": -1,
"filename": "riotwatcher-2.3.0.tar.gz",
"has_sig": false,
"md5_digest": "6d66222e6f04e4d80372c534875b3708",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26654,
"upload_time": "2018-06-03T18:18:11",
"url": "https://files.pythonhosted.org/packages/98/b2/72da6dc43b9324c033ae56bc11b6615146d426f36873c5febde8b3eddac8/riotwatcher-2.3.0.tar.gz"
}
],
"2.4.0": [
{
"comment_text": "",
"digests": {
"md5": "7086d5a2f04aa19d3e318a68b0e87fc2",
"sha256": "f4342d1de414d742eec50d94db6bfd396354f2c606ca7f3114ae7adaf799cb27"
},
"downloads": -1,
"filename": "riotwatcher-2.4.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "7086d5a2f04aa19d3e318a68b0e87fc2",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 50567,
"upload_time": "2018-08-24T01:33:22",
"url": "https://files.pythonhosted.org/packages/13/c4/96382da504983ac905760d500751e24341d156c157ad8b440ba537000964/riotwatcher-2.4.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "3bed7cb7da04e86698764620adf30f14",
"sha256": "cc34f2e4a03e2184908e2b9304369f9805d7766e4b21afa0da1b8d509b0ac706"
},
"downloads": -1,
"filename": "riotwatcher-2.4.0.tar.gz",
"has_sig": false,
"md5_digest": "3bed7cb7da04e86698764620adf30f14",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 28796,
"upload_time": "2018-08-24T01:33:24",
"url": "https://files.pythonhosted.org/packages/be/fd/94ea61be2346c6ea0607605081eb9cb1d10c3a92f1900ce6bfa4fa1e6030/riotwatcher-2.4.0.tar.gz"
}
],
"2.5.0": [
{
"comment_text": "",
"digests": {
"md5": "b4efd86846a05216f1b77ecf5ff67924",
"sha256": "defc8fe42ed54c557a8e704c3a180f212929956b45d2ee112f4e5d13777a2049"
},
"downloads": -1,
"filename": "riotwatcher-2.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b4efd86846a05216f1b77ecf5ff67924",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 36614,
"upload_time": "2019-01-08T05:41:17",
"url": "https://files.pythonhosted.org/packages/9b/5b/25418a2cc402a1b272bbecb92c45eb3230873ff99fe040c64ad4de8f7d57/riotwatcher-2.5.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "49352756b0aeb3c47634b63f3acdb194",
"sha256": "93d16296a63e2176f019bd9edf469f15d53c9813708c59c52396e19dd56c7e7a"
},
"downloads": -1,
"filename": "riotwatcher-2.5.0.tar.gz",
"has_sig": false,
"md5_digest": "49352756b0aeb3c47634b63f3acdb194",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23960,
"upload_time": "2019-01-08T05:41:18",
"url": "https://files.pythonhosted.org/packages/70/4b/ee026d467393d6e3abcd34a96beabcaef5d9b24fa0a65c8951ca90c868c3/riotwatcher-2.5.0.tar.gz"
}
],
"2.6.0": [
{
"comment_text": "",
"digests": {
"md5": "500c0681c1f9ff5db7fdfec6ea8b7ef4",
"sha256": "e55c761dde447cfd43ec537bb69025cb82dca6c57e542566004c7339db005c60"
},
"downloads": -1,
"filename": "riotwatcher-2.6.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "500c0681c1f9ff5db7fdfec6ea8b7ef4",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 31639,
"upload_time": "2019-05-08T03:51:40",
"url": "https://files.pythonhosted.org/packages/40/08/34c7b8b92198936cc56bf2f9eb6bf8803d707370dd61b0ff3387f475003d/riotwatcher-2.6.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7756acc61f0aa29f94c60cc49fcb71ac",
"sha256": "06bcfc41787b48692a2e67b68e0372ee127398876fa3e272d35a4f99ac93994d"
},
"downloads": -1,
"filename": "riotwatcher-2.6.0.tar.gz",
"has_sig": false,
"md5_digest": "7756acc61f0aa29f94c60cc49fcb71ac",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23049,
"upload_time": "2019-05-08T03:51:42",
"url": "https://files.pythonhosted.org/packages/8e/60/fda723f9a12e8446977d21527e09e6e9fadfd3b522f23d5519777cadb904/riotwatcher-2.6.0.tar.gz"
}
],
"2.7.0": [
{
"comment_text": "",
"digests": {
"md5": "c417a69bcceb0c8578a0ba9ca04b9fe3",
"sha256": "6b4b578ab9cf3cc3d9b835389f6450df831835e95111f75b3b6c0a8959824c9a"
},
"downloads": -1,
"filename": "riotwatcher-2.7.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "c417a69bcceb0c8578a0ba9ca04b9fe3",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 32417,
"upload_time": "2019-07-31T04:41:25",
"url": "https://files.pythonhosted.org/packages/a0/74/32a53c401eff7f7aef909b6160fa1937afe608df0ba27ae7ba7b4bd32197/riotwatcher-2.7.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "24977e6166b09d155b97abc442b5f336",
"sha256": "ab321092b8df185d794262bb771025526c484a1a7d6abde19e4ac76138c54289"
},
"downloads": -1,
"filename": "riotwatcher-2.7.0.tar.gz",
"has_sig": false,
"md5_digest": "24977e6166b09d155b97abc442b5f336",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23712,
"upload_time": "2019-07-31T04:41:26",
"url": "https://files.pythonhosted.org/packages/a8/c3/1c52f99c99c7c0388c4c6ca55ddd0b2e5ff7b375372b0802547be5d9c1cd/riotwatcher-2.7.0.tar.gz"
}
],
"2.7.1": [
{
"comment_text": "",
"digests": {
"md5": "b629ecd1b6c34184d5babb3b9be68fae",
"sha256": "3fb03b20f768cea7830d54c6d301a8341c67223625ac8536d26d1c140af3dcb0"
},
"downloads": -1,
"filename": "riotwatcher-2.7.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "b629ecd1b6c34184d5babb3b9be68fae",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 32474,
"upload_time": "2019-08-01T03:15:29",
"url": "https://files.pythonhosted.org/packages/99/43/9381e390cc30961281cced69efaaa26afaae5b3353f90c6b11ae1d78496b/riotwatcher-2.7.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "30a3b78d9c06d2ef1eb0791a67b80759",
"sha256": "5349271c7e00637b7619491a6070e66603705db60558ea2a690e7016f6e6d9a4"
},
"downloads": -1,
"filename": "riotwatcher-2.7.1.tar.gz",
"has_sig": false,
"md5_digest": "30a3b78d9c06d2ef1eb0791a67b80759",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23802,
"upload_time": "2019-08-01T03:15:31",
"url": "https://files.pythonhosted.org/packages/33/ab/1cf97c7244fa357d4933439f4a1caa540dee2f7db48e2a6b986aa2815373/riotwatcher-2.7.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "b629ecd1b6c34184d5babb3b9be68fae",
"sha256": "3fb03b20f768cea7830d54c6d301a8341c67223625ac8536d26d1c140af3dcb0"
},
"downloads": -1,
"filename": "riotwatcher-2.7.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "b629ecd1b6c34184d5babb3b9be68fae",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 32474,
"upload_time": "2019-08-01T03:15:29",
"url": "https://files.pythonhosted.org/packages/99/43/9381e390cc30961281cced69efaaa26afaae5b3353f90c6b11ae1d78496b/riotwatcher-2.7.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "30a3b78d9c06d2ef1eb0791a67b80759",
"sha256": "5349271c7e00637b7619491a6070e66603705db60558ea2a690e7016f6e6d9a4"
},
"downloads": -1,
"filename": "riotwatcher-2.7.1.tar.gz",
"has_sig": false,
"md5_digest": "30a3b78d9c06d2ef1eb0791a67b80759",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23802,
"upload_time": "2019-08-01T03:15:31",
"url": "https://files.pythonhosted.org/packages/33/ab/1cf97c7244fa357d4933439f4a1caa540dee2f7db48e2a6b986aa2815373/riotwatcher-2.7.1.tar.gz"
}
]
}