$npx skillfedfor your agent

onvif-zeep-async

Async Python Client for ONVIF Camera

Worth itPyPI NetworkingReleased Jul 2026162.4K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — onvif_zeep_async-4.2.1-py3-none-any.whl
v4.2.1 · released 2026-07-06 · Python >=3.10 · 5 runtime deps: aiohttp, httpx, zeep, ciso8601, yarl

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.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or newer; camera must be reachable on the network and support ONVIF protocol.
  • 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 · maintenance · safety

MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package with minimal restrictions in commercial or open-source projects.

last release 2026-07-06 (39 days) · last repo commit 2026-08-10 · 49 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 162,416 downloads/mo, #10,604 on PyPI

Verify before relying

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())
  • 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.
Same gist for agents: .md · .json

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 on this page. Verify before relying on it.

Worth it

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

onvif-zeep-async on PyPI

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.

Requires Python 3.10 or newer; camera must be reachable on the network and support ONVIF protocol.

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())

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

LicenseMIT permissive
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
5 packages
aiohttphttpxzeepciso8601yarl
MaintenanceActively maintained 39 days since the last release
Last repo commit
First released
Downloads162,416 / month, #10,604 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14

Evidence: onvif_zeep_async-4.2.1-py3-none-any.whl

Tags

Capabilities
ONVIF camera client asyncIP camera control Pythonasyncio SOAP cameranetwork camera managementPTZ camera automationONVIF device communicationasync camera API
Topics
onvif-protocolip-cameraasyncio
PyPI keywords
ONVIFCameraIPC

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “ONVIF camera client async”

  • onvif-zeep-asyncAsync Python client for ONVIF IP cameras using asyncio and aiohttp,…
  • reolink-aioAsync Python client for Reolink IP NVR and camera devices, supporting…
  • motioneye-clientAn async Python client library for querying and controlling motionEye…

Give your agent the search over MCP, or paste the wish link into any chat.

More Networking packages

h11 With conditions
PyPI · WWW/HTTP · released Apr 2025

h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.

MITpure Python · 3.8+aging
894.9Mdownloads / mo
psutil Worth it
PyPI · Libraries · released Jan 2026

psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.

permissive licensecompiled wheel · 3.6+
387.6Mdownloads / mo
pyOpenSSL With conditions
PyPI · Python Modules · released Aug 2026

pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.

Apache-2.0pure Python · 3.9+
294.2Mdownloads / mo
uvloop With conditions
PyPI · Networking · released Oct 2025

uvloop is a drop-in replacement for Python's built-in asyncio event loop, implemented in Cython and using libuv, that accelerates async I/O operations.

Apache-2.0compiled wheel · 3.8.1+
257.9Mdownloads / mo
execnet With conditions
PyPI · Libraries · released Nov 2025

execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.

However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…

MITpure Python · 3.8+aging
172.1Mdownloads / mo
pyzmq Worth it
PyPI · Networking · released Sep 2025

PyZMQ provides Python bindings for ZeroMQ (ØMQ), a lightweight messaging library that enables fast, asynchronous communication between distributed processes and applications.

BSD-3-Clausecompiled wheel · 3.8+
109.5Mdownloads / mo

See also pyimouapi · reolink-aio · zeep · pytapo · aiohttp · motioneye-client · netsuite · aiobotocore · aiosignal · netsuitesdk