Metadata-Version: 2.1
Name: imouapi
Version: 1.0.15
Summary: Library for controlling Imou devices by interacting with the Imou Life API.
Home-page: https://github.com/user2684/imouapi
License: MIT
Author: user2684
Author-email: user2684@users.noreply.github.com
Requires-Python: >=3.11,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Provides-Extra: dev
Provides-Extra: doc
Provides-Extra: test
Requires-Dist: aiohttp (>=3.8.1,<4.0.0)
Requires-Dist: aioresponses (>=0.7.3,<0.8.0) ; extra == "test"
Requires-Dist: black (>=23.12.1,<24.0.0) ; extra == "test"
Requires-Dist: bump2version (>=1.0.1,<2.0.0) ; extra == "dev"
Requires-Dist: flake8 (>=6.1.0,<7.0.0) ; extra == "test"
Requires-Dist: flake8-docstrings (>=1.7.0,<2.0.0) ; extra == "test"
Requires-Dist: isort (>=5.13.2,<6.0.0) ; extra == "test"
Requires-Dist: mkdocs (>=1.3.1,<2.0.0) ; extra == "doc"
Requires-Dist: mkdocs-autorefs (>=0.5.0,<0.6.0) ; extra == "doc"
Requires-Dist: mkdocs-include-markdown-plugin (>=6.0.4,<7.0.0) ; extra == "doc"
Requires-Dist: mkdocs-material (>=9.5.3,<10.0.0) ; extra == "doc"
Requires-Dist: mkdocs-material-extensions (>=1.0.3,<2.0.0)
Requires-Dist: mkdocstrings-python (>=1.7.5,<2.0.0) ; extra == "doc"
Requires-Dist: mypy (>=1.8.0,<2.0.0) ; extra == "test"
Requires-Dist: mypy-extensions (>=1.0.0,<2.0.0)
Requires-Dist: pip (>=23.3.2,<24.0.0) ; extra == "dev"
Requires-Dist: pre-commit (>=3.6.0,<4.0.0) ; extra == "dev"
Requires-Dist: py (>=1.11.0,<2.0.0) ; extra == "test"
Requires-Dist: pydocstyle (>=6.3.0,<7.0.0)
Requires-Dist: pyproject-api (>=1.6.1,<2.0.0)
Requires-Dist: pytest (>=7.4.3,<8.0.0) ; extra == "test"
Requires-Dist: pytest-cov (>=4.1.0,<5.0.0) ; extra == "test"
Requires-Dist: snowballstemmer (>=2.2.0,<3.0.0)
Requires-Dist: sqlalchemy (>=2.0.22,<3.0.0)
Requires-Dist: toml (>=0.10.2,<0.11.0) ; extra == "dev"
Requires-Dist: tox (>=4.11.4,<5.0.0) ; extra == "dev"
Requires-Dist: twine (>=4.0.2,<5.0.0) ; extra == "dev"
Requires-Dist: virtualenv (>=20.2.2,<21.0.0) ; extra == "dev"
Description-Content-Type: text/markdown

# imouapi
This python library helps in interacting with [Imou Life Open API](https://open.imoulife.com) for remote controlling programmatically your [Imou devices](https://www.imoulife.com), especially those settings such as motion detection, human detection, privacy, etc that can be changed by the Imou Life App only.

## Features

- Provide classes for both low level API interaction as well as device and sensors abastractions
- Exceptions and error handling
- Based on asyncio module

## Quickstart

- Install the library with `pip install imouapi`
- Register a developer account on [Imou Life Open API](https://open.imoulife.com) and get your `appId` and `appSecret`
- Instantiate the Imou API client (`from imouapi.api import ImouAPIClient`) and initialize it (e.g. `api_client = ImouAPIClient(app_id, app_secret, session)`)
- Discover registered devices by importing the Discover service (`from imouapi.device import ImouDiscoverService`), inializing it (e.g. `discover_service = ImouDiscoverService(api_client)`) and running a discovery (e.g. `discovered_devices = await discover_service.async_discover_devices()`)
- Either use the high level API by importing the Imou Device class (`from imouapi.device import ImouDevice`) and initializing it (e.g. `device = ImouDevice(api_client, device_id)`) or using directly the low level API provided by `ImouAPIClient` to interact with the device

Full details on the installation process, requirements, usage and classes and methods made available by the library are available at [https://user2684.github.io/imouapi](https://user2684.github.io/imouapi)

