Quick Start
Install pyzm (add [ml] if you need ML detection):
pip install pyzm # ZM API only
pip install "pyzm[ml]" # ZM API + ML detection
Connect to ZoneMinder and list monitors:
from pyzm import ZMClient
zm = ZMClient(api_url="https://zm.example.com/zm/api",
user="admin", password="secret")
for m in zm.monitors():
print(f"{m.name}: {m.function} ({m.width}x{m.height})")
Detect objects in a local image:
from pyzm import Detector
detector = Detector(models=["yolo11s"])
result = detector.detect("/path/to/image.jpg")
if result.matched:
print(result.summary) # "person:97% car:85%"
Next steps
Client & Authentication – connecting, authentication, and client options
Monitors & Zones – monitors, zones, PTZ, streaming URLs
Events & Frames – querying events, frames, bulk operations
System & Config – system health, configuration, states
Logging – configuring pyzm logging (standalone and ZM)
Detection – ML detection pipeline, backends, and config