motioneye-client
motionEye client library Python Package
What it is and what it does
motioneye-client is an async Python wrapper around the motionEye surveillance server API. It abstracts the HTTP calls needed to authenticate, query camera configurations, retrieve recordings, and trigger actions on a motionEye instance. The library depends only on aiohttp and is designed to integrate into home automation or monitoring systems that need programmatic control over motionEye.
The client handles both admin and surveillance credentials separately, as motionEye's API requires different permissions for configuration changes versus data streaming. It provides both low-level async methods (prefixed with `async_`) that return raw JSON responses and convenience methods to extract URLs for video streams, snapshots, and recorded media. It can be used as a context manager to automatically manage the underlying aiohttp session.
Use it for:
- Integrate motionEye camera control into a home automation system that needs to start/stop recording or trigger snapshots programmatically.
- Build a monitoring dashboard that polls camera status and retrieves recent recordings from a motionEye server.
- Automate camera configuration changes across multiple motionEye instances in a distributed surveillance setup.
- Fetch streaming URLs and snapshot URLs to embed live camera feeds in a custom web interface.
- Trigger custom motionEye action buttons (e.g., alerts, notifications) in response to external events.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
An async Python client library for querying and controlling motionEye surveillance servers, providing methods to manage cameras, retrieve recordings, and execute server actions.
Yes. This is a straightforward, actively maintained async client for a specific surveillance platform. Low install friction, permissive license, no known vulnerabilities, and a clear use case for anyone running motionEye. Install if you need programmatic control over a motionEye server; skip if you don't use motionEye.
Install
motioneye-client on PyPI
pip
pip install motioneye-clientuv
uv add motioneye-clientpoetry
poetry add motioneye-clientInstalling motioneye-client
Before you install
Low friction install with a single runtime dependency (aiohttp). Actively maintained as of July 2026, with consistent commit history since initial release in March 2021.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute this package freely provided you retain the license notice.
Quickstart
pip install motioneye-client
import asyncio
from motioneye_client.client import MotionEyeClient
async def main():
async with MotionEyeClient("http://localhost:8765") as client:
manifest = await client.async_get_manifest()
cameras = await client.async_get_cameras()
asyncio.run(main())
Requires a running motionEye server accessible at the provided URL; Python 3.8 or later.
Verify before relying
- Whether the package handles motionEye API versioning or breaking changes across server versions.
- Performance characteristics when managing large numbers of cameras or high-frequency polling.
- Whether webhook callback integration is documented or tested in practice.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.8,<4.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — aiohttp |
| Maintenance | actively maintained — 1,314 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 73,686/month — #14,949 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: motioneye_client-0.3.14-py3-none-any.whl
Keywords: motioneye
Tags
More Home Automation packages
Represents and manipulates IPv4, IPv6, MAC…
permissive · top 5,000 on PyPI
homeassistantHome Assistant is an open-source home…
permissive · top 5,000 on PyPI
python-statemachineDefines finite state machines and statecharts…
permissive · top 5,000 on PyPI
btsocketA Python library for controlling BlueZ…
permissive · top 15,000 on PyPI
aiohomematicAn async Python library for controlling and…
permissive · top 15,000 on PyPI
hass-web-proxy-libProvides base classes and utilities for Home…
permissive · top 15,000 on PyPI
blinkpyA Python library for controlling and monitoring…
permissive · top 15,000 on PyPI
uiprotectProvides an async Python API and CLI for…
permissive · top 15,000 on PyPI
reolink-aioAsync Python client for Reolink IP NVR and…
permissive · top 15,000 on PyPI
onvif-zeep-asyncAsync Python client for ONVIF IP cameras using…
permissive · top 15,000 on PyPI
ha-ffmpegProvides an asyncio-based Python interface to…
permissive · top 15,000 on PyPI
dxcamDXcam captures screen frames on Windows at high…
permissive · top 15,000 on PyPI
norfairNorfair adds real-time multi-object tracking to…
permissive · top 15,000 on PyPI
pytapoPyTapo is a Python library that communicates…
permissive · top 15,000 on PyPI
pygrabberCapture photos and video from Windows cameras…
permissive · top 15,000 on PyPI
PlexAPIUnofficial Python bindings for the Plex API…
permissive · top 15,000 on PyPI