reolink-aio
Reolink NVR/cameras API package
What it is and what it does
reolink_aio is an async Python client library for controlling Reolink IP NVR and camera devices over HTTP and ONVIF protocols. It lets you query device capabilities and state (model, channel count, infrared status), issue commands (enable/disable lights, spotlight, siren), and subscribe to real-time events via webhook callbacks. The library handles authentication, session management, and event renewal automatically.
The package is built on aiohttp for async HTTP, aiortsp for RTSP support, and pycryptodomex for credential handling. It's designed for home automation and integration scenarios where you need programmatic control of Reolink hardware from Python applications. The library is officially authorized by Reolink and actively maintained.
Use it for:
- Integrate Reolink cameras into a home automation system to trigger actions based on device state or enable/disable features remotely.
- Build a monitoring dashboard that polls multiple Reolink NVRs and displays their status, channel counts, and device names.
- Receive real-time motion or event notifications from Reolink devices via ONVIF webhook subscriptions and react programmatically.
- Automate security workflows by controlling infrared lights, spotlights, or sirens on specific camera channels based on external triggers.
- Develop a Python CLI tool to manage Reolink device settings and retrieve diagnostics like MAC address and hardware capabilities.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Async Python client for Reolink IP NVR and camera devices, supporting device control, state queries, and real-time event subscription via ONVIF webhooks.
Yes. The package is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive MIT license. It is well-suited for developers building Reolink integrations into home automation or monitoring systems. The only constraint is the Python 3.11+ requirement; verify your target Reolink models are supported before committing.
Install
reolink-aio on PyPI
pip
pip install reolink-aiouv
uv add reolink-aiopoetry
poetry add reolink-aioInstalling reolink-aio
Before you install
Low friction install with five async-focused runtime dependencies. Actively maintained with a recent release and ongoing repository activity; requires Python 3.11 or later.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open and closed projects with minimal attribution requirements.
Quickstart
from reolink_aio.api import Host
import asyncio
async def main():
host = Host('192.168.1.10', 'user', 'password')
await host.get_host_data()
print(host.nvr_name)
await host.logout()
asyncio.run(main())
Requires Python 3.11 or later; target Reolink device must be reachable on the network and accept HTTP/ONVIF connections.
Verify before relying
- Whether all Reolink NVR and camera models are supported or if there are known compatibility gaps.
- Performance characteristics when controlling multiple channels or devices concurrently.
- Timeout and retry behavior for network failures or unresponsive devices.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — aiohttp, aiortsp, orjson, pycryptodomex, typing_extensions |
| Maintenance | actively maintained — 13 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 88,532/month — #13,719 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: reolink_aio-0.21.8-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
onvif-zeep-asyncAsync Python client for ONVIF IP cameras using…
permissive · top 15,000 on PyPI
uiprotectProvides an async Python API and CLI for…
permissive · top 15,000 on PyPI
motioneye-clientAn async Python client library for querying and…
permissive · top 15,000 on PyPI
blinkpyA Python library for controlling and monitoring…
permissive · top 15,000 on PyPI
velbus-aioAn asyncio-based Python library for controlling…
permissive · top 15,000 on PyPI
pytapoPyTapo is a Python library that communicates…
permissive · top 15,000 on PyPI
aiochannelProvides asyncio-compatible channels (closable…
permissive · top 15,000 on PyPI
elgatoAsynchronous Python client for controlling and…
permissive · top 15,000 on PyPI
aiolifxaiolifx is an asyncio-based Python library for…
permissive · top 15,000 on PyPI
streamlit-webrtcAdds real-time video and audio streaming over…
permissive · top 15,000 on PyPI