pyimouapi
Async Python client for the Imou Open Platform cloud APIs. Built on aiohttp, it handles authentication and requests, and exposes device/channel helpers plus higher-level types for integrations (for example Home Assistant).
- Repository: Imou-OpenPlatform/Py-Imou-Open-Api
- Version: Same as
setup.py/ PyPI (pyimouapi.__version__) - Python:
>= 3.11
Package layout
| Module | Role |
|---|---|
pyimouapi.openapi |
ImouOpenApiClient — auth, signing, token lifecycle, HTTP calls |
pyimouapi.device |
ImouDeviceManager, ImouDevice, ImouChannel — listing, PTZ, alarms, storage, collection points (getCollection / turnCollection), and related endpoints |
pyimouapi.collection_point |
Parsing helpers for PaaS / IoT collection point name lists |
pyimouapi.push |
Open Platform event-push helpers: normalize payload fields, alarm vs status msgType, IoT envelope check, event-ref lookup, picture URLs (thumbUrl first, then picUrlArray / picUrlArr / picUrl) |
pyimouapi.pic_decode |
LCOpenPicDecoder — decrypts alarm pictures you have already downloaded, through the official LCOpenSDK native libraries (linux x86-64). Also TCM detection and encrypt-key resolution. No Open Platform call, token, or CA bundle is involved |
pyimouapi.ha_device |
ImouHaDeviceManager, ImouHaDevice, … — aggregated “device model” helpers for automation stacks (including alarm_control_panel for IoT ref 15200, feature switches, and select.collection_point when the device exposes CollectionPoint or IoT refs 21500/22000) |
pyimouapi.exceptions |
ImouException and typed errors (connect, request, invalid credentials, …) |
The top-level pyimouapi package re-exports common symbols. Import submodules directly when needed, for example from pyimouapi.ha_device import ImouHaDeviceManager.
Dependencies
As declared in setup.py / requirements.txt:
aiohttp>=3.11.9,<4.0simpleeval>=1.0.3
Install
pip install pyimouapi
From a checkout:
pip install .
Quick example (async)
from pyimouapi.openapi import ImouOpenApiClient
# host: Imou Open Platform gateway, e.g. openapi-sg.easy4ip.com
client = ImouOpenApiClient("your_app_id", "your_app_secret", "openapi-sg.easy4ip.com")
await client.async_get_token()
# Use the client with pyimouapi.device.ImouDeviceManager for device operations
License
MIT — see LICENSE in this repository.
Release files for pyimouapi 1.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyimouapi-1.4.1.tar.gz | 69.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyimouapi-1.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 109.0 kB
Release files / pyimouapi-1.4.1.tar.gz
| Download URL | pyimouapi-1.4.1.tar.gz |
|---|---|
| Size | 69.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bfa240b19f2604ffe4dc5673fe95dcac2c00bb79d1763cef03456417f54ced8c
|
|
BLAKE2b-256 checksum How to use checksums |
075902e2516d555ced781c4b621a58d8e47f506310468c42fef124590e6cdf6f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.
Transparency logRelease files / pyimouapi-1.4.1-py3-none-any.whl
| Download URL | pyimouapi-1.4.1-py3-none-any.whl |
|---|---|
| Size | 40.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cdd08afc2fcc5634c4f7728324621849b340be200e8d710eaa3b4c3bed9b553a
|
|
BLAKE2b-256 checksum How to use checksums |
7e309e99559cbf5c956bd5ba9324f306f37123ef615f3d19961000a02b849db9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.
Transparency log