{ "info": { "author": "Aaron Bach", "author_email": "bachya1208@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "\n# \u2600\ufe0f pyopenuv: A simple Python API for data from openuv.io\n\n[![Travis CI](https://travis-ci.org/bachya/pyopenuv.svg?branch=master)](https://travis-ci.org/bachya/pyopenuv)\n[![PyPi](https://img.shields.io/pypi/v/pyopenuv.svg)](https://pypi.python.org/pypi/pyopenuv)\n[![Version](https://img.shields.io/pypi/pyversions/pyopenuv.svg)](https://pypi.python.org/pypi/pyopenuv)\n[![License](https://img.shields.io/pypi/l/pyopenuv.svg)](https://github.com/bachya/pyopenuv/blob/master/LICENSE)\n[![Code Coverage](https://codecov.io/gh/bachya/pyopenuv/branch/master/graph/badge.svg)](https://codecov.io/gh/bachya/pyopenuv)\n[![Maintainability](https://api.codeclimate.com/v1/badges/a03c9e96f19a3dc37f98/maintainability)](https://codeclimate.com/github/bachya/pyopenuv/maintainability)\n[![Say Thanks](https://img.shields.io/badge/SayThanks-!-1EAEDB.svg)](https://saythanks.io/to/bachya)\n\n`pyopenuv` is a simple Python library for retrieving UV-related information from\n[openuv.io](https://openuv.io/).\n\n# Installation\n\n```python\npip install pyopenuv\n```\n\n# Python Versions\n\n`pyopenuv` is currently supported on:\n\n* Python 3.6\n* Python 3.7\n\n# API Key\n\nYou can get an API key from\n[the OpenUV console](https://www.openuv.io/console).\n\n# Usage\n\n`pyopenuv` starts within an\n[aiohttp](https://aiohttp.readthedocs.io/en/stable/) `ClientSession`:\n\n```python\nimport asyncio\n\nfrom aiohttp import ClientSession\n\nfrom pyopenuv import Client\n\n\nasync def main() -> None:\n \"\"\"Create the aiohttp session and run the example.\"\"\"\n async with ClientSession() as websession:\n # YOUR CODE HERE\n\n\nasyncio.get_event_loop().run_until_complete(main())\n```\n\nCreate a client, initialize it, then get to it:\n\n```python\nimport asyncio\n\nfrom aiohttp import ClientSession\n\nfrom pyopenuv import Client\n\n\nasync def main() -> None:\n \"\"\"Create the aiohttp session and run the example.\"\"\"\n async with ClientSession() as websession:\n client = pyopenuv.Client(\n \"\",\n \"\",\n \"\",\n websession,\n altitude=\"\")\n\n # Get current UV index information:\n await client.uv_index()\n\n # Get forecasted UV information:\n await client.uv_forecast()\n\n # Get information on the window of time during which SPF protection\n # should be used:\n await client.uv_protection_window()\n\n\nasyncio.get_event_loop().run_until_complete(main())\n```\n\n# Contributing\n\n1. [Check for open features/bugs](https://github.com/bachya/pyopenuv/issues)\n or [initiate a discussion on one](https://github.com/bachya/pyopenuv/issues/new).\n2. [Fork the repository](https://github.com/bachya/pyopenuv/fork).\n3. Install the dev environment: `make init`.\n4. Enter the virtual environment: `pipenv shell`\n5. Code your new feature or bug fix.\n6. Write a test that covers your new functionality.\n7. Run tests and ensure 100% code coverage: `make coverage`\n8. Add yourself to `AUTHORS.md`.\n9. Submit a pull request!\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/bachya/pyopenuv", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyopenuv", "package_url": "https://pypi.org/project/pyopenuv/", "platform": "", "project_url": "https://pypi.org/project/pyopenuv/", "project_urls": { "Homepage": "https://github.com/bachya/pyopenuv" }, "release_url": "https://pypi.org/project/pyopenuv/1.0.10/", "requires_dist": [ "aiohttp" ], "requires_python": ">=3.6.0", "summary": "A simple Python API data from openuv.io", "version": "1.0.10" }, "last_serial": 5882294, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "0152a7c07fa20b97a32c458dea960979", "sha256": "c089c0f2bc3105624e3739531fd8720ca64111eb310d839c143b4a5898d84ec3" }, "downloads": -1, "filename": "pyopenuv-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0152a7c07fa20b97a32c458dea960979", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.0", "size": 3939, "upload_time": "2018-07-30T21:43:16", "url": "https://files.pythonhosted.org/packages/25/f6/8d223a0c10c5c6c1d0e4bdf2e0b885823b593947b24e3566061148bf5ca7/pyopenuv-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99845c8761602dd633a5f358903a05e6", "sha256": "23846bed55c83b86fb972ae7f8c6e0b3a489f92fd09bad0cbdd09de64d049b05" }, "downloads": -1, "filename": "pyopenuv-1.0.0.tar.gz", "has_sig": false, "md5_digest": "99845c8761602dd633a5f358903a05e6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 4593, "upload_time": "2018-07-30T21:43:17", "url": "https://files.pythonhosted.org/packages/ef/07/60da2b5bbbdd280903fdc2407a7b09511e64a92a87af35fcf10c14ab46ae/pyopenuv-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "bb5c7aa7d6417aa8acdbe07f98c5a273", "sha256": "5fdee706ca233a11d7aca43f7243f85974304bb86576e087cb4a56165707eacd" }, "downloads": -1, "filename": "pyopenuv-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bb5c7aa7d6417aa8acdbe07f98c5a273", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.0", "size": 3940, "upload_time": "2018-07-30T21:46:57", "url": "https://files.pythonhosted.org/packages/b8/d2/857e06fc55e37bc7106cf7b1a5857733b98f437b1c4f5b48ad0c0eece1f8/pyopenuv-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4698d22063a79417ce42fd484c06c278", "sha256": "dd35cfbcad31a5361d06f56503adaca16325c1797cd67e1eedb2bb1bfd2e6323" }, "downloads": -1, "filename": "pyopenuv-1.0.1.tar.gz", "has_sig": false, "md5_digest": "4698d22063a79417ce42fd484c06c278", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 4596, "upload_time": "2018-07-30T21:46:58", "url": "https://files.pythonhosted.org/packages/c0/0e/ef96ccee7069ead52227f6542fda4227238d90131965c6a31b21870a6fe1/pyopenuv-1.0.1.tar.gz" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "5eab7e48ca39e5d8e86fc5841863d89a", "sha256": "b41d1de83159e248dd604a119ba05c94747536552fb89a85db8f7f9ff86c74e6" }, "downloads": -1, "filename": "pyopenuv-1.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "5eab7e48ca39e5d8e86fc5841863d89a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6262, "upload_time": "2019-09-24T23:28:18", "url": "https://files.pythonhosted.org/packages/da/6a/f01c98edebfed7cf0892341c867d148a9434f0e77d456e18deca79edd537/pyopenuv-1.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c118449fbac9870371426a0c034b2538", "sha256": "cfb119315b0df3e2895acef2d5590852d585b959e9408fcde66a7f8e454856d2" }, "downloads": -1, "filename": "pyopenuv-1.0.10.tar.gz", "has_sig": false, "md5_digest": "c118449fbac9870371426a0c034b2538", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5443, "upload_time": "2019-09-24T23:28:19", "url": "https://files.pythonhosted.org/packages/3e/61/a429cb5df1359015ce772bd0f704446a758188f55e6f06134194340dec11/pyopenuv-1.0.10.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "b24359e49ed4fbaa2a131058201cfa72", "sha256": "fc013c03e619bc172c2bf7ed0b05aff3b2bdf6e60a93213c9bd5eb58d9c77a44" }, "downloads": -1, "filename": "pyopenuv-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "b24359e49ed4fbaa2a131058201cfa72", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.5.0", "size": 4008, "upload_time": "2018-08-27T16:03:17", "url": "https://files.pythonhosted.org/packages/d3/e8/1908f2ea7bb7b6b436ea4c0848db50ffcb832aad421a12c8824698255205/pyopenuv-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c7955debef75e58b8c7270933d2d417", "sha256": "53ee7f158d91bc3e2240b865eb459b55a235c23aa852a7ad81dbe465363a5d8b" }, "downloads": -1, "filename": "pyopenuv-1.0.2.tar.gz", "has_sig": false, "md5_digest": "9c7955debef75e58b8c7270933d2d417", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 4650, "upload_time": "2018-08-27T16:03:18", "url": "https://files.pythonhosted.org/packages/00/0c/89c19309a95f53e150b39f3bb6ec15a2dc48e67a64f9439b1fbe368e9c64/pyopenuv-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "8d927785123984b2dd6443c6ef81eaeb", "sha256": "1aaa1d9efe88518144333af3431a54da1508c7fa46c56d9eba13fc951b99fb87" }, "downloads": -1, "filename": "pyopenuv-1.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "8d927785123984b2dd6443c6ef81eaeb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.5.0", "size": 4023, "upload_time": "2018-08-27T20:11:12", "url": "https://files.pythonhosted.org/packages/27/f1/3468d214a6b541fec2bf38fe6cc02e2a3f988242ebcaf04d77ded047b502/pyopenuv-1.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6bf5446a94fd270bc0303f93c7f8de0a", "sha256": "5f1d15fed8712db48ba0c18edece3cf213845583cfabf59b0c14ef613b4d8cf5" }, "downloads": -1, "filename": "pyopenuv-1.0.3.tar.gz", "has_sig": false, "md5_digest": "6bf5446a94fd270bc0303f93c7f8de0a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 4650, "upload_time": "2018-08-27T20:11:13", "url": "https://files.pythonhosted.org/packages/e5/88/eca79ccfab5c1c76b1355e98fcf19cad1728d33392db391a735efc80493a/pyopenuv-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "406bc08a4e5a2a8ee32e1040d00d60bf", "sha256": "9316bb5cc2ce5600826bdd82eea655d5cfac9b3565dec9ed02bbd1b4c382378e" }, "downloads": -1, "filename": "pyopenuv-1.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "406bc08a4e5a2a8ee32e1040d00d60bf", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.5.0", "size": 4429, "upload_time": "2018-08-28T04:05:51", "url": "https://files.pythonhosted.org/packages/28/e4/8ab3f0f3527807e9cc8b8aa6d69b3c084dc5206a399b3d5a0bd07682d5d3/pyopenuv-1.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "64f3a85a62bb7ac47f8a636c6929cd2a", "sha256": "5be95c98953483169a525e827de69eaea8ec307a71afdebfb3ae45e88af467a9" }, "downloads": -1, "filename": "pyopenuv-1.0.4.tar.gz", "has_sig": false, "md5_digest": "64f3a85a62bb7ac47f8a636c6929cd2a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 4784, "upload_time": "2018-08-28T04:05:52", "url": "https://files.pythonhosted.org/packages/f7/0c/2e39a9b78c45dffd9c4a23200718d6aa9946406ec00177e4ba04092add09/pyopenuv-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "7940890cce5310b23343d78e36a922c0", "sha256": "48eec3a3c92762fa2344378e1462475a616017c99a3ac67f7f9fba562011e6f7" }, "downloads": -1, "filename": "pyopenuv-1.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "7940890cce5310b23343d78e36a922c0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6.0", "size": 4398, "upload_time": "2018-09-24T17:16:14", "url": "https://files.pythonhosted.org/packages/5d/02/c2a36bc5852a2f5af6fa9f1ec2c239e9ecd0d67461ae6d6353bccb911d14/pyopenuv-1.0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe332e1c9ea0b66a39654c5bb1a88439", "sha256": "67e9d347acc7fa4b40ea465fd7b7a4160e59b2e7489677c7205738638e251fe0" }, "downloads": -1, "filename": "pyopenuv-1.0.5.tar.gz", "has_sig": false, "md5_digest": "fe332e1c9ea0b66a39654c5bb1a88439", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4756, "upload_time": "2018-09-24T17:16:15", "url": "https://files.pythonhosted.org/packages/8b/ae/b0f633bdf09f14deb0832a83d246459e91b92de1f8d559a10d2c38f2fc92/pyopenuv-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "9923e2f6609cdc0c9fe3bbe7ce07943e", "sha256": "2362631788a839081df1a8116fd46939eaf3688b0441013f40f75572c46273d7" }, "downloads": -1, "filename": "pyopenuv-1.0.6-py2-none-any.whl", "has_sig": false, "md5_digest": "9923e2f6609cdc0c9fe3bbe7ce07943e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6.0", "size": 4420, "upload_time": "2018-09-24T17:30:29", "url": "https://files.pythonhosted.org/packages/e1/1d/468bfa7d0c6427985e2b695ac7904a0a89c078e6f8ff36ec87b07fdd2af3/pyopenuv-1.0.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f92e421c60af777c07150360415dede", "sha256": "15dafdc38c9628f737f98cd6fcea7a0066b1152b0e78e55c6fedb5aa281df35c" }, "downloads": -1, "filename": "pyopenuv-1.0.6.tar.gz", "has_sig": false, "md5_digest": "8f92e421c60af777c07150360415dede", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4746, "upload_time": "2018-09-24T17:30:30", "url": "https://files.pythonhosted.org/packages/47/96/7cee8373452d819116d90016b5e0a9e8daec88716a82e9cfa5d093455a98/pyopenuv-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "e3bb36edacc81898e612f3ad4071f68f", "sha256": "4c2c516346a2f15a33a365893ca1d26daca77d222ae28459a8e0c018ac446c97" }, "downloads": -1, "filename": "pyopenuv-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "e3bb36edacc81898e612f3ad4071f68f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 5605, "upload_time": "2018-10-31T03:08:02", "url": "https://files.pythonhosted.org/packages/18/76/67cd3a57d3320f6c5de71c58b902393a11074816d12db40ea02303ee027d/pyopenuv-1.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "71578bda59782118ccef1791c91bb3a2", "sha256": "639c3e3417d6f177e1018ffbf1bdf37a2cebc4015d1e9c20d0f5c84ea676008d" }, "downloads": -1, "filename": "pyopenuv-1.0.7.tar.gz", "has_sig": false, "md5_digest": "71578bda59782118ccef1791c91bb3a2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 5634, "upload_time": "2018-10-31T03:08:04", "url": "https://files.pythonhosted.org/packages/64/80/d202db7442c41aa1f44de6a3ed9d3e892df73fce711e72c0f99f69d8973f/pyopenuv-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "919f94593c3ed2a9a258edaeaa543c8b", "sha256": "77b93c88b0436d6a63f4463ff6d4d3d42b45da9d07535653d9b71a4b7e6d9abc" }, "downloads": -1, "filename": "pyopenuv-1.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "919f94593c3ed2a9a258edaeaa543c8b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 6298, "upload_time": "2019-01-11T00:53:17", "url": "https://files.pythonhosted.org/packages/0d/af/de2358a2b84c204a7f0ffd7446c1b367a7a5b5458cfbba077b120027fcd4/pyopenuv-1.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3116810e198d1eb3a486a5f50fe89102", "sha256": "47569839df4ecd15970587672aa54ae525edfc720780f8a64cd4b767bd5032ec" }, "downloads": -1, "filename": "pyopenuv-1.0.8.tar.gz", "has_sig": false, "md5_digest": "3116810e198d1eb3a486a5f50fe89102", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 5511, "upload_time": "2019-01-11T00:53:18", "url": "https://files.pythonhosted.org/packages/2d/68/9a9a0d442789c35c6100228a2ebe64371bab26c3de0ff1e14a8ef07e0863/pyopenuv-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "968db36b62694c897426cfe5ba7f42b6", "sha256": "f84ea3502ba1ac0f5cfe5924e099f8ed1593bdf245e39b1629d3f8e389b1aca9" }, "downloads": -1, "filename": "pyopenuv-1.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "968db36b62694c897426cfe5ba7f42b6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 6288, "upload_time": "2019-02-28T00:29:15", "url": "https://files.pythonhosted.org/packages/2c/a3/da2ae5f18418f3671ca25fe9dcc7b4e155a8edc082286fa84cbcbb3be55e/pyopenuv-1.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bde643873df0190ec10f0b98d5fc6a2e", "sha256": "a4d05a97010633db5a65df2342049678e5c511e250ed510c0e889b0304988f50" }, "downloads": -1, "filename": "pyopenuv-1.0.9.tar.gz", "has_sig": false, "md5_digest": "bde643873df0190ec10f0b98d5fc6a2e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 5514, "upload_time": "2019-02-28T00:29:16", "url": "https://files.pythonhosted.org/packages/00/25/3bd293339bc0fe887d720f9891a45c839170cbdfb481da8ec4fca6de9e47/pyopenuv-1.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5eab7e48ca39e5d8e86fc5841863d89a", "sha256": "b41d1de83159e248dd604a119ba05c94747536552fb89a85db8f7f9ff86c74e6" }, "downloads": -1, "filename": "pyopenuv-1.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "5eab7e48ca39e5d8e86fc5841863d89a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6262, "upload_time": "2019-09-24T23:28:18", "url": "https://files.pythonhosted.org/packages/da/6a/f01c98edebfed7cf0892341c867d148a9434f0e77d456e18deca79edd537/pyopenuv-1.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c118449fbac9870371426a0c034b2538", "sha256": "cfb119315b0df3e2895acef2d5590852d585b959e9408fcde66a7f8e454856d2" }, "downloads": -1, "filename": "pyopenuv-1.0.10.tar.gz", "has_sig": false, "md5_digest": "c118449fbac9870371426a0c034b2538", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5443, "upload_time": "2019-09-24T23:28:19", "url": "https://files.pythonhosted.org/packages/3e/61/a429cb5df1359015ce772bd0f704446a758188f55e6f06134194340dec11/pyopenuv-1.0.10.tar.gz" } ] }