--- id: onvif-zeep-async version: "4.2.1" license: MIT license_treatment: permissive maintenance: active --- # onvif-zeep-async — Async Python Client for ONVIF Camera License: permissive · Maintenance: active · Downloads: 162.4K/mo ## What it is and what it does This package provides an async Python client for ONVIF IP cameras, wrapping the zeep SOAP/WSDL engine with aiohttp for fully non-blocking network I/O. Every camera operation—hostname retrieval, PTZ control, stream configuration—is awaitable, making it suitable for concurrent camera management in asyncio applications. The package bundles WSDL files so you don't need to download them separately, and it handles WS-Security authentication (with optional digest encryption), clock skew compensation, and NAT URL rewriting for cameras behind port forwards. You instantiate an ONVIFCamera with IP, port, and credentials, call update_xaddrs() to discover available services, then invoke operations like devicemgmt.GetHostname() or ptz.GetConfiguration() as async methods. The package exposes every ONVIF operation defined in the bundled WSDLs and lets you create custom services if needed. It depends on aiohttp for transport, zeep for SOAP/WSDL parsing, ciso8601 for fast timestamp parsing, and yarl for URL handling. Use it for: - Monitor and control multiple IP cameras concurrently in a single asyncio event loop without blocking. - Retrieve camera metadata (hostname, system time, network config) and configure settings like date/time or hostname. - Automate PTZ (pan-tilt-zoom) camera movements and stream URI discovery for video playback. - Build a camera management dashboard or integration layer that queries many cameras in parallel. - Handle cameras behind NAT by rewriting advertised URLs to match your port-forward configuration. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Async Python client for ONVIF IP cameras using asyncio and aiohttp, enabling awaitable SOAP calls to camera services like device management and PTZ control. Yes. Active maintenance, low install friction, permissive MIT license, no known vulnerabilities, and a clear async-first design make this a solid choice for Python 3.10+ projects that need ONVIF camera control. Install if you're building asyncio-based camera management or monitoring; skip if you need synchronous I/O or support for Python versions below 3.10. ## Install pip install onvif-zeep-async uv add onvif-zeep-async poetry add onvif-zeep-async ## Installing onvif-zeep-async Before you install: Low friction: pure Python wheel with five runtime dependencies (aiohttp, httpx, zeep, ciso8601, yarl). Active maintenance—last commit 2026-08-10, release 39 days old, no archived status. License in practice: MIT license is permissive; you can use, modify, and distribute this package with minimal restrictions in commercial or open-source projects. Quickstart: pip install onvif-zeep-async import asyncio from onvif import ONVIFCamera async def main(): cam = ONVIFCamera('192.168.0.2', 80, 'user', 'passwd') await cam.update_xaddrs() resp = await cam.devicemgmt.GetHostname() print(resp.Name) await cam.close() asyncio.run(main()) Requires Python 3.10 or newer; camera must be reachable on the network and support ONVIF protocol. Verify before relying: - Whether bundled WSDL files cover all ONVIF camera models or only a subset of the ONVIF specification. - Performance characteristics when managing multiple concurrent camera connections. - Compatibility with non-standard ONVIF implementations or vendor-specific extensions. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 162.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags ONVIF camera client async, IP camera control Python, asyncio SOAP camera, network camera management, PTZ camera automation, ONVIF device communication, async camera API, onvif-protocol, ip-camera, asyncio [View on SkillFed](https://skillfed.io/packages/onvif-zeep-async) · [View on PyPI](https://pypi.org/project/onvif-zeep-async/)