Skip to content

v0.0.2 — 2025-09-27

Choose a tag to compare

@kaburagisec kaburagisec released this 26 Sep 21:43
· 262 commits to main since this release
Immutable release. Only release title and notes can be modified.

PyPI

https://pypi.org/project/onvif-python/0.0.2

Added

  • Improved xsd:any parsing logic for child elements, allowing automatic dictionary conversion of ONVIF <Extension> blocks (via monkey patch on parse_xmlelements) (fce868e)
    → This implements behavior proposed in python-zeep#1473
    → Since the PR is not yet merged, this version includes a local monkey patch applied at runtime to zeep.xsd.elements.any.Any.parse_xmlelements

Fixed

  • ONVIFClient._get_xaddr() now supports resolving service addresses (XAddr) from nested _value_1 dictionaries (common in normalized extensions) (4292fc4)
  • Added support for overriding XAddr host/port when device is behind NAT or proxy (d5f5b1e)
  • Changed fallback service_path for Search service to improve compatibility with some ONVIF devices (d5f5b1e)

Comparison

These improvements make this version of onvif-python significantly more capable in handling dynamic ONVIF service extensions than other popular forks such as:

...which still rely on the unpatched version of Zeep and require manual parsing of xsd:any elements.


Full Changelog: v0.0.1...v0.0.2