{ "info": { "author": "Mark Coombes", "author_email": "mark@markcoombes.ca", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# aioecobee\n\n## Python3 async library for interacting with the ecobee API\n\n*Requirements:* aiofiles, aiohttp, asyncio\n\nInstall aioecobee with `python3 -m pip install aioecobee`.\n\n## Usage\n\naioecobee's main class is EcobeeAPI; create an API object like this:\n\n```python\nfrom aiohttp import ClientSession\nfrom aioecobee import EcobeeAPI\n\nsession = ClientSession()\napi_key = xxxxxxxxxxxxxxxxxxxxx\nconfig_file = \"/path/to/ecobee.conf\"\n\necobee = EcobeeAPI(session, api_key=api_key, config_file=config_file)\n```\n\nWhere:\n\n- `session` is an instance of aiohttp.ClientSession(); \n- `api_key` is the API key obtained from ecobee.com (optional); and,\n- `config_file` is the name of a config file for use with aioecobee (optional).\n\nIf config_file is not specified, api_key is required.\n\nObtain a PIN for authorizing on ecobee.com:\n\n```python\nawait ecobee.request_pin()\n```\n\nAfter authorizing your app on ecobee.com, request tokens:\n\n```python\nawait ecobee.request_tokens()\n```\n\nAfter obtaining tokens, populate (or update) ecobee.thermostats and ecobee.sensors:\n\n```python\nawait ecobee.update()\n```\n\nCalls to the API will raise an ExpiredTokensError if tokens are expired and need refreshing:\n\n```python\nfrom aioecobee import ExpiredTokensError\ntry:\n await ecobee.update()\nexcept ExpiredTokensError:\n await ecobee.refresh_tokens()\n```\n\n## example.py\n\nAn example script is provided to demonstrate the usage of aioecobee.\n\n```bash\npython example.py api_key\n```\n\n## Caveats\n\naioecobee does not implement timeouts; use asyncio_timeout in your client code to wrap calls to the API as needed.\n\n\n## Contributing\n\nPlease open issues or pull requests.", "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/marthoc/aioecobee", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "aioecobee", "package_url": "https://pypi.org/project/aioecobee/", "platform": "", "project_url": "https://pypi.org/project/aioecobee/", "project_urls": { "Homepage": "https://github.com/marthoc/aioecobee" }, "release_url": "https://pypi.org/project/aioecobee/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "Python3 async library for interacting with the ecobee API", "version": "0.1.0" }, "last_serial": 5773562, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "527db99c0c4345eb018a7897577127f3", "sha256": "435cf78040f1c5f8229ec93e869f379dc830d876c389a9ca0cf4db6719237a9a" }, "downloads": -1, "filename": "aioecobee-0.1.0.tar.gz", "has_sig": false, "md5_digest": "527db99c0c4345eb018a7897577127f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5578, "upload_time": "2019-09-03T02:52:25", "url": "https://files.pythonhosted.org/packages/f8/75/7f21abfce7fb5b33acd2434d56aeb6993f4a7295f8eecb7312f72800286e/aioecobee-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "527db99c0c4345eb018a7897577127f3", "sha256": "435cf78040f1c5f8229ec93e869f379dc830d876c389a9ca0cf4db6719237a9a" }, "downloads": -1, "filename": "aioecobee-0.1.0.tar.gz", "has_sig": false, "md5_digest": "527db99c0c4345eb018a7897577127f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5578, "upload_time": "2019-09-03T02:52:25", "url": "https://files.pythonhosted.org/packages/f8/75/7f21abfce7fb5b33acd2434d56aeb6993f4a7295f8eecb7312f72800286e/aioecobee-0.1.0.tar.gz" } ] }