{ "info": { "author": "Patrik Torstensson", "author_email": "patrik.torstensson@gmail.com", "bugtrack_url": null, "classifiers": [ "Framework :: AsyncIO", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "\n# sprinkl-async: A Simple Python Library for Sprinkl\u2122 Controllers\n\n[![Travis CI](https://travis-ci.org/ptorsten/sprinkl-async.svg?branch=master)](https://travis-ci.org/ptorsten/sprinkl-async)\n[![PyPi](https://img.shields.io/pypi/v/sprinkl_async.svg)](https://pypi.python.org/pypi/sprinkl_async)\n[![Version](https://img.shields.io/pypi/pyversions/sprinkl_async.svg)](https://pypi.python.org/pypi/sprinkl_async)\n[![License](https://img.shields.io/pypi/l/sprinkl_async.svg)](https://github.com/ptorsten/sprinkl-async/blob/master/LICENSE)\n[![Code Coverage](https://codecov.io/gh/ptorsten/sprinkl-async/branch/master/graph/badge.svg)](https://codecov.io/gh/ptorsten/sprinkl-async)\n[![Maintainability](https://api.codeclimate.com/v1/badges/29ad8b03a39f66e78833/maintainability)](https://codeclimate.com/github/ptorsten/sprinkl-async/maintainability)\n\n`sprinkl-async` is a Python library for interacting with [Sprinkl\u2122 Control SR-400](https://sprinkl.com/control/)\n\n## Python Versions\n\nThe python test suite requires Python 3.6 or higher; tests\nrun on Python 3.5 will fail.\n\n`sprinkl-async` is currently supported on:\n\n* Python 3.5\n* Python 3.6\n* Python 3.7\n\n## Installation\n\n```python\npip install sprinkl_async\n```\n\n## Examples\n\n### Get controller and zones\n\n```python\nimport asyncio\nfrom aiohttp import ClientSession\nfrom sprinkl_async import Client\n\nasync def main() -> None:\n \"\"\"Create client and login\"\"\"\n async with ClientSession() as session:\n # Create sprinkl-async client\n client = Client(session)\n\n # login\n auth = await client.login(email=\"email\", password=\"secret\")\n\nasyncio.get_event_loop().run_until_complete(main())\n\n```\n\n## Developing\n\n1. Install developer environment: `make init`\n2. Use virtual environment for development: `pipenv shell`\n3. Write code/tests and be happy\n4. Update `README.MD` with examples\n\n## Testing\n\n1. Write new tests for the functionality added\n2. Run tests and ensure 100% coverage: `make coverage`\n3. Ensure no lint errors: `make lint`\n4. Ensure no typing errors: `make type`\n\n## Contributing\n\nFollow the developing/testing flows and follow [CONTRIBUTING.MD](CONTRIBUTING) for details.\n\n## License\n\nApache 2.0; see [LICENSE](LICENSE) for details.\n\n## Inspiration\n\nThe API for Sprinkl-async follow the same design principals as [Regenmaschine](https://github.com/bachya/regenmaschine)\n[![Say Thanks](https://img.shields.io/badge/SayThanks-!-1EAEDB.svg)](https://saythanks.io/to/bachya)\n\n\n## Disclaimer\n\nThis project is not an official Google project. It is not supported by Google\nand Google specifically disclaims all warranties as to its quality,\nmerchantability, or fitness for a particular purpose.\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/ptorsten/sprinkl-async", "keywords": "", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "sprinkl-async", "package_url": "https://pypi.org/project/sprinkl-async/", "platform": "", "project_url": "https://pypi.org/project/sprinkl-async/", "project_urls": { "Homepage": "https://github.com/ptorsten/sprinkl-async" }, "release_url": "https://pypi.org/project/sprinkl-async/0.1.2/", "requires_dist": [ "aiohttp" ], "requires_python": ">=3.5.3", "summary": "API for Sprinkl sprinkler controller", "version": "0.1.2" }, "last_serial": 5559944, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "34b1180680f334c03830e60e8d2af7f5", "sha256": "5b8ace7584019715ab091d2cdc58a5b13ed3ff45d595fd35a386b6c4c4419d5e" }, "downloads": -1, "filename": "sprinkl_async-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "34b1180680f334c03830e60e8d2af7f5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 24440, "upload_time": "2019-07-10T02:39:05", "url": "https://files.pythonhosted.org/packages/4b/d9/9e7fc73201f954641828f638aee36806bc102f609838e549281e0b18b792/sprinkl_async-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56184496e3f0a61bde5c50e2a7fbf9cb", "sha256": "b4a234ea271c14bf1b174b7d8ea2a114e3dcd629c272bb6947034e6ce4612e86" }, "downloads": -1, "filename": "sprinkl_async-0.0.1.tar.gz", "has_sig": false, "md5_digest": "56184496e3f0a61bde5c50e2a7fbf9cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 12083, "upload_time": "2019-07-10T02:39:07", "url": "https://files.pythonhosted.org/packages/3a/d1/5cabc1d2eefd15bdb82ccf52cc77f17c0cfa9e762c65115c2de5bc2c3175/sprinkl_async-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "75b7c5e00e9689e0221544344e6d61cc", "sha256": "280c7e7fda7c5ee2e2a037629c5ce6064511612bf12bd4b54c899f0873d6acea" }, "downloads": -1, "filename": "sprinkl_async-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "75b7c5e00e9689e0221544344e6d61cc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 25771, "upload_time": "2019-07-10T06:22:56", "url": "https://files.pythonhosted.org/packages/f1/14/e618b775bc410d97df09c457a9dd61d66ba244ab64543a381352b587b258/sprinkl_async-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d704d2c709d7edcdbf13c9e4dcfec48", "sha256": "05104248a342122fee26452c106229a6355d264f1d68b96c1f299be6b46c4643" }, "downloads": -1, "filename": "sprinkl_async-0.0.2.tar.gz", "has_sig": false, "md5_digest": "4d704d2c709d7edcdbf13c9e4dcfec48", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 12645, "upload_time": "2019-07-10T06:22:58", "url": "https://files.pythonhosted.org/packages/ea/b2/00d761e2c57e7238bb0dec9c366e1ce7bab23f479c484bb9492d0b8fdaac/sprinkl_async-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "1867b4cab06162d6d92c53bdc7e3c638", "sha256": "4f622218880fe15c181d82d843e974db1883325276cb5b9fae5061a7290f33d1" }, "downloads": -1, "filename": "sprinkl_async-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1867b4cab06162d6d92c53bdc7e3c638", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 28355, "upload_time": "2019-07-11T05:04:34", "url": "https://files.pythonhosted.org/packages/17/e0/a1ce0411a766ce2a2183407a42489d702555309827ea64ff62054c5aed94/sprinkl_async-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f120dfbc120cc78811954f84c1d1e010", "sha256": "071dbf1e196a093b910c3b22cd175816cad478beeb38ae8ce476483447b209c4" }, "downloads": -1, "filename": "sprinkl_async-0.0.3.tar.gz", "has_sig": false, "md5_digest": "f120dfbc120cc78811954f84c1d1e010", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 13776, "upload_time": "2019-07-11T05:04:36", "url": "https://files.pythonhosted.org/packages/d2/e0/dffb21eafb8938b5841e8976aeb1ae4f24714e72f5cbdd678d727035ddb7/sprinkl_async-0.0.3.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "c3042ae5804993aeed26dc4b0c672f6d", "sha256": "5762d7ea747051a68d339b0759860b41da34c74242ef6ba77f3209d9bb309865" }, "downloads": -1, "filename": "sprinkl_async-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c3042ae5804993aeed26dc4b0c672f6d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29180, "upload_time": "2019-07-15T00:08:57", "url": "https://files.pythonhosted.org/packages/45/a9/f9a52241aeb01d09b78516c4fab1478ff3989bb2bdf2252b2ec17cb329e1/sprinkl_async-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "605b136ba2db3cf22ffc223909ca38e9", "sha256": "8a5452317ceeffd78c24b0fbe3b956b552f87dbbae7d95adf9644ce78df530b1" }, "downloads": -1, "filename": "sprinkl_async-0.1.0.tar.gz", "has_sig": false, "md5_digest": "605b136ba2db3cf22ffc223909ca38e9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 14004, "upload_time": "2019-07-15T00:08:58", "url": "https://files.pythonhosted.org/packages/8a/7d/d763e520301047a9e7196fbe9768727bf7a23e05789ee2d53c36f620b6a0/sprinkl_async-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "077a3111ecc3a4e43bd99b6e54d7f195", "sha256": "05e67da6585fe13a5632d8ca591ba87f2e30473c81c8527fec4c0dd61940c091" }, "downloads": -1, "filename": "sprinkl_async-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "077a3111ecc3a4e43bd99b6e54d7f195", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29269, "upload_time": "2019-07-19T04:52:07", "url": "https://files.pythonhosted.org/packages/f9/7f/700d39ff49931aaacdab91a27bffa5e6298f1ee85f893cfc99522faa1f36/sprinkl_async-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c0496b42fc9a04a510b5abe84f58403", "sha256": "6bbf1a5a4190e5dcf1d4574a2988814735cb20e67be173a7dd47dbe5b42e13a7" }, "downloads": -1, "filename": "sprinkl_async-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6c0496b42fc9a04a510b5abe84f58403", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 14150, "upload_time": "2019-07-19T04:52:09", "url": "https://files.pythonhosted.org/packages/b4/4e/e7f41c9ce362e34c96912afe22768b32c0b1cc7ae9a18d4e7dc5106fb6c3/sprinkl_async-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "87663512cf247328c92f3a10ee469d9b", "sha256": "abe6493df495faa77fa6f7694d987ff931afddd0b859cd69b8d92b2a99b97426" }, "downloads": -1, "filename": "sprinkl_async-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "87663512cf247328c92f3a10ee469d9b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29352, "upload_time": "2019-07-20T06:41:33", "url": "https://files.pythonhosted.org/packages/46/1f/1d6be774d4eced77feef3e54590a26931ed3f301624cab4d0fbdf5e4244a/sprinkl_async-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96935254ed2a5508fbfc919056cb46b3", "sha256": "25dba0d338ed1f8ef71ba97c1bd8a5150202d719d30f9c9bc4c7dd9880f6096f" }, "downloads": -1, "filename": "sprinkl_async-0.1.2.tar.gz", "has_sig": false, "md5_digest": "96935254ed2a5508fbfc919056cb46b3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 14237, "upload_time": "2019-07-20T06:41:35", "url": "https://files.pythonhosted.org/packages/10/66/bb0a2381b9831f210cd053ecb1a01377697a0a00be713185a04e762654fe/sprinkl_async-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "87663512cf247328c92f3a10ee469d9b", "sha256": "abe6493df495faa77fa6f7694d987ff931afddd0b859cd69b8d92b2a99b97426" }, "downloads": -1, "filename": "sprinkl_async-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "87663512cf247328c92f3a10ee469d9b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29352, "upload_time": "2019-07-20T06:41:33", "url": "https://files.pythonhosted.org/packages/46/1f/1d6be774d4eced77feef3e54590a26931ed3f301624cab4d0fbdf5e4244a/sprinkl_async-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96935254ed2a5508fbfc919056cb46b3", "sha256": "25dba0d338ed1f8ef71ba97c1bd8a5150202d719d30f9c9bc4c7dd9880f6096f" }, "downloads": -1, "filename": "sprinkl_async-0.1.2.tar.gz", "has_sig": false, "md5_digest": "96935254ed2a5508fbfc919056cb46b3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 14237, "upload_time": "2019-07-20T06:41:35", "url": "https://files.pythonhosted.org/packages/10/66/bb0a2381b9831f210cd053ecb1a01377697a0a00be713185a04e762654fe/sprinkl_async-0.1.2.tar.gz" } ] }