This project provides a comprehensive and developer-friendly Python library for working with ONVIF-compliant devices. It is designed to be reliable, easy to integrate, and flexible enough to support a wide range of ONVIF profiles and services.
ONVIF (Open Network Video Interface Forum) is a global standard for the interface of IP-based physical security products, including network cameras, video recorders, and related systems.
Behind the scenes, ONVIF communication relies on SOAP (Simple Object Access Protocol); an XML-based messaging protocol with strict schema definitions (WSDL/XSD). SOAP ensures interoperability, but when used directly it can be verbose, complex, and error-prone.
This library simplifies that process by wrapping SOAP communication into a clean, Pythonic API. You no longer need to handle low-level XML parsing, namespaces, or security tokens manually; the library takes care of it, letting you focus on building functionality.
- Individual developers exploring ONVIF or building hobby projects
- Companies building video intelligence, analytics, or VMS platforms
- Security integrators who need reliable ONVIF interoperability across devices
- Python: 3.10 or higher
- Dependencies:
zeep>=4.3.0- SOAP client for ONVIF communicationrequests>=2.32.0- HTTP library for network requests
From official PyPI:
pip install --upgrade onvif-pythonOr clone this repository and install locally:
git clone https://github.com/nirsimetri/onvif-python
cd onvif-python
pip install .Once the installation is successful, you can also immediately access the ONVIF CLI via the terminal using:
onvif --helpFor complete guide, including usage examples and API references, please visit the Documentation Page.
This project is licensed under the MIT License. See LICENSE for details.
