{ "info": { "author": "Cramsan", "author_email": "contact@cramsan.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Topic :: Games/Entertainment", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Over Stats\n=======================\n\nPython API to retrieve Overwatch statistics\nStill in early development but accepting suggestions and PRs.\n\nInstallation\n------------\n\n pip install over_stats\n\nRequirements\n------------\nPython 3.6\n\n\nUsage\n------------\n\nInitialize a player profile by providing the player tag and the platform. The platform is optional and it defaults to 'pc'. Other valid values are 'xbl' and 'psn'\n\n.. code:: python\n\n player_data = over_stats.PlayerProfile('Stylosa#21555')\n\nor\n\n.. code:: python\n\n player_data = over_stats.PlayerProfile('acesarramsan', over_stats.PLAT_PSN)\n\nDownload and parse the profile's data. You do not need to call this method because the first method that needs to download the profile data will do so. \n\n.. code:: python\n\n player_data.load_data()\n\nPrint the entire profile's data in JSON format. You will notice that the output is organized in a similar fashion as in the source (https://playoverwatch.com/).\n\n.. code:: python\n\n import json\n print (json.dumps(player_data.raw_data, indent=4))\n\nThis library does not hardcode the list of heroes, statistics or achievements. Instead you will need to retrieve those available values for the specific type of data you are retrieving. Even though this approach makes this library a bit more complicated to use, it also allows that new values such as new heroes will be handled transparently. \n\nThe list of game modes available for this player can be found with:\n\n.. code:: python\n\n player_data.modes()\n\nThe fist section on a player's profile is the comparison section. Using one of the available modes you can retrieve the list of comparison types:\n\n.. code:: python\n\n player_data.comparison_types(mode)\n\nWith a mode and a comparison type you can get the list of available heroes:\n\n.. code:: python\n\n player_data.comparison_heroes(mode, comparison_type)\n\nProviding a mode, comparison_type and comparison_hero you can get the exact stat value:\n\n.. code:: python\n\n player_data.comparisons(mode, comparison_type, comparison_hero)\n\nThe mode parameter is required but comparison_type and comparison_hero are optionals. If you want to get the comparison data without been too specific you can provide a mode or a mode and a comparison_type.\n\nThe second section is the stat section. The list of heroes can be retrieved by providing a mode:\n\n.. code:: python\n\n player_data.stat_heroes(mode)\n\nWith a hero and a mode you can retrieve the list of available stat categories:\n\n.. code:: python\n\n player_data.stat_categories(mode, hero)\n\nWith a mode, hero and category you will be able to retrieve the list of available stats:\n\n.. code:: python\n\n player_data.stat_names(mode, hero, category)\n\nTo retrieve the exact stat value you will need to provide a mode, hero, category and stat_name:\n\n.. code:: python\n\n player_data.stats(mode, hero, category, stat_name)\n\nThe mode parameter is required but hero, category and stat_name are optional. You can also provide only a mode, a mode and a hero or a mode, a hero and a category.\n\nThe player's achievements are not divided between competitive and quickplay. In order to get a list of achievement types availeable you can do the following:\n\n.. code:: python\n\n player_data.achievement_types()\n\nWith a achievement type and a list name, you can get a list of achievements.\n\n.. code:: python\n\n player_data.achievements(achievement_type, over_stats.ACH_EARNED)\n player_data.achievements(achievement_type, over_stats.ACH_MISSING)\n\nThe achievement_type and list_name are optional arguments. You can also skip both or provide only an achievement_type.\n\nYou can find examples of how to use these methods in the demo.py file.\n\nBoto3 support\n--------------\n\nThe AWS Python library aka Boto3, has a limitation when dealing with DynamoDB items. You cannot insert an object containing a float to DynamoDB. This is a know issue which as existed for a while so in order to get around it there is flag that can be set when creating the PlayerProfile object. If you set this flag, then all floats will be wrapped in a Decimal, which will allow you to insert them to DynamoDB but they will not be able to be dumped to json.\n\n.. code:: python\n\n player_data = over_stats.PlayerProfile('acesarramsan', over_stats.PLAT_PSN, True)\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/CRamsan/over-stats", "keywords": "overwatch stats statistics", "license": "GNU GPL3", "maintainer": "", "maintainer_email": "", "name": "over-stats", "package_url": "https://pypi.org/project/over-stats/", "platform": "", "project_url": "https://pypi.org/project/over-stats/", "project_urls": { "Homepage": "https://github.com/CRamsan/over-stats" }, "release_url": "https://pypi.org/project/over-stats/0.4.0/", "requires_dist": [ "requests-html" ], "requires_python": ">=3.6", "summary": "Python API to retrieve Overwatch Statistics", "version": "0.4.0" }, "last_serial": 4974982, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "951ddb705c72d18b01405f8635f714d6", "sha256": "07c9d6dff3ff972dcb29110e917ecb15838abb0cbfe3018d872eafceccc49dc1" }, "downloads": -1, "filename": "over_stats-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "951ddb705c72d18b01405f8635f714d6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9668, "upload_time": "2018-03-26T03:59:51", "url": "https://files.pythonhosted.org/packages/3a/04/19cdd75bf56c2f92908c76d0a838431ec1239ddf5d54e14b2a57fb0bda7c/over_stats-0.1-py3-none-any.whl" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "8881e701434c1064c0e307b770f70e77", "sha256": "0f68c6a90fa24e4ff220ad25b83dfc6e85c7799daad6b69d849f645f58782abc" }, "downloads": -1, "filename": "over_stats-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "8881e701434c1064c0e307b770f70e77", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5793, "upload_time": "2018-03-26T04:19:43", "url": "https://files.pythonhosted.org/packages/ac/d3/f5d6686c4440caa3b3bc584d3ed0b998a72cb87c974f1713a40c43f92634/over_stats-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f07f8fc9ec8076d2f33d9694b3b35c4a", "sha256": "0eb9952449d25cdb34d907a247d4ecec87c2b0b554b98e399d775e9f48af16c9" }, "downloads": -1, "filename": "over_stats-0.2.tar.gz", "has_sig": false, "md5_digest": "f07f8fc9ec8076d2f33d9694b3b35c4a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5586, "upload_time": "2018-03-26T04:19:44", "url": "https://files.pythonhosted.org/packages/b7/d8/e3865c01223a478bd4e2f7f5109a8b93fddad97c782c428f479f8c59afa0/over_stats-0.2.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "2be25914c915ac18736498c5f50d61ca", "sha256": "47aa9d5fda0a06a48ba8199e312d6b543753ca3ddf1581f69db0f0726a135301" }, "downloads": -1, "filename": "over_stats-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2be25914c915ac18736498c5f50d61ca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6797, "upload_time": "2018-04-10T01:35:28", "url": "https://files.pythonhosted.org/packages/1a/78/8b0910f78ada81592974436eabe9dacabe691904d5e8cfcd733edf0d3c75/over_stats-0.3.1-py3-none-any.whl" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "78d5b075fea21dd7cdcdd412ac2ddabf", "sha256": "1bf68683e093b782218f43246c7e8dcc152db6db008c0db990db161e5cbf4dc2" }, "downloads": -1, "filename": "over_stats-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "78d5b075fea21dd7cdcdd412ac2ddabf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 19241, "upload_time": "2019-03-23T03:41:39", "url": "https://files.pythonhosted.org/packages/9e/1a/ce6e4b97719571b7454efd343fa2d26d2a4409f20357d359575b95e3b83e/over_stats-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1edb8a433cd1b15da7722ee7e1e3b34", "sha256": "e7cb65138772050746e98a15b76ded011ce7cad4809653bfd27db7a0411fc9e8" }, "downloads": -1, "filename": "over_stats-0.4.0.tar.gz", "has_sig": false, "md5_digest": "a1edb8a433cd1b15da7722ee7e1e3b34", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6662, "upload_time": "2019-03-23T03:41:40", "url": "https://files.pythonhosted.org/packages/60/88/7cf6a5dcf2147cca5d99a2c8232e21ff67ed28a96b9f66cbae669cef464e/over_stats-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "78d5b075fea21dd7cdcdd412ac2ddabf", "sha256": "1bf68683e093b782218f43246c7e8dcc152db6db008c0db990db161e5cbf4dc2" }, "downloads": -1, "filename": "over_stats-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "78d5b075fea21dd7cdcdd412ac2ddabf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 19241, "upload_time": "2019-03-23T03:41:39", "url": "https://files.pythonhosted.org/packages/9e/1a/ce6e4b97719571b7454efd343fa2d26d2a4409f20357d359575b95e3b83e/over_stats-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1edb8a433cd1b15da7722ee7e1e3b34", "sha256": "e7cb65138772050746e98a15b76ded011ce7cad4809653bfd27db7a0411fc9e8" }, "downloads": -1, "filename": "over_stats-0.4.0.tar.gz", "has_sig": false, "md5_digest": "a1edb8a433cd1b15da7722ee7e1e3b34", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6662, "upload_time": "2019-03-23T03:41:40", "url": "https://files.pythonhosted.org/packages/60/88/7cf6a5dcf2147cca5d99a2c8232e21ff67ed28a96b9f66cbae669cef464e/over_stats-0.4.0.tar.gz" } ] }