Skip to content

About

A Python Library + CLI for ONVIF-compliant devices

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

63 stars

Watchers

2 watching

Forks

Repository files navigation

ONVIF Python Downloads

Python Version PyPI Version Quality Coverage
Build Upload Python CLI Cross-Platform

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.

Who Is It For?

 Individual Developers  Platform Developers

Explore ONVIF capabilities and build applications for IP cameras and compatible devices.

Build video intelligence, analytics, and video management system (VMS) platforms.

 Security Integrators  Device & IoT Engineers

Integrate security devices and troubleshoot ONVIF interoperability across vendors.

Develop, test, and integrate ONVIF-compliant devices and IP-based physical security systems.

Requirements

Python 3.10 or higher is required.

Dependencies

  • zeep → SOAP client for ONVIF communication.
  • requests → HTTP library for network requests.
  • pyreadline3 → Only installed on Windows (win32) for CLI auto-completion.

Installation

From official PyPI:

pip install --upgrade onvif-python

Or install using pipx for an isolated environment:

pipx install git+https://github.com/nirsimetri/onvif-python

Or 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 --help

Prebuilt Binaries (No Python Required)

To use the ONVIF CLI without installing Python or additional dependencies, download a prebuilt binary for your platform from the GitHub Releases page.

Each release includes downloadable binary assets for supported platforms and architectures. Choose the appropriate binary from the table below:

Platform Architecture Download
 Linux AMD64 (64-bit) onvif-linux-amd64.zip
 Linux ARM64 (aarch64) onvif-linux-arm64.zip
 Windows x64 (64-bit) onvif-windows-win64.zip
 Windows x86 (32-bit) onvif-windows-win32.zip
 Windows ARM64 onvif-windows-arm64.zip
 macOS Intel (AMD64) onvif-macos-amd64.zip
 macOS Apple Silicon (ARM64) onvif-macos-arm64.zip

Documentation

For complete guide, including usage examples and API references, please visit the Documentation Site.

License

This project is licensed under the MIT License. See LICENSE for details.

About

A Python Library + CLI for ONVIF-compliant devices

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

63 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages