Repository navigation
v0.4.3 — 2026-10-05
Caution
Due to a packaging issue, this release does not includes WSDL files required by the library in the Python package distribution. This package version has been marked as yanked on PyPI.
Please use the latest release instead.
About
This release aims to increase code coverage across all project modules, targeting a 95% coverage rate. One of the measures taken is a major refactoring of the Interactive Shell (without altering its usage in any way).
Additionally, it enhances the CI/CD workflow by introducing automated documentation (deployment and preview), CLI testing across various operating systems, and automated reporting of coverage data to the upstream Codacy service.
Regarding new internal features (not exposed as part of the public API), a @deprecated decorator and legacy_call method has been added for operations renamed in the upstream WSDL; this ensures compatibility with older ONVIF versions that still rely on the original operation names. Regarding the rationale for this implementation, see onvif/specs#830.
Maintenance
- WSDL updates from remote onvif/specs by @kaburagisec in #114
Feats
- [
Client] Add support for user-providedZeepplugins as attribute inONVIFClientby @kaburagisec in #115 - [
Client] Addlegacy_callmethod for compatibility with renamed (marked as deprecated) ONVIF operations inONVIFOperatorby @kaburagisec in #131 - [
Utilities] Implement@deprecateddecorator to mark functions as deprecated inONVIFServiceby @kaburagisec in #132 - [
Client] Add deprecatedSetEQPresetmethod inMedia2class for legacy compatibility by @kaburagisec in #133 see onvif/specs#830
Fixes
- [
CLI] Correct boolean evaluation for auto-debug mode by @kaburagisec in #123 - [
CLI] Remove unused imports and clean up CLI__init__.pyby @kaburagisec in #125 (this caused a circular import for applications utilizing the ONVIF CLI directly in their implementation; the issue was fixed in that PR)
Refactors
- [
Client] RenameSetEQPresettoSetEQPresetConfigurationinMedia2class based on WSDL changes (4649343) by @kaburagisec in #114 - [
Utilities] Add future annotations import for improved type hinting by @kaburagisec in #146 - [
CLI] Refactor interactive shell into modular components by @kaburagisec in #148
Docs
- Update operation docstring based on WSDL change (996d4fc) by @kaburagisec in #114
- Correct misspelling and typo in services docstring by @kaburagisec in #118
- Improve badge visibility and remove deprecated images by @kaburagisec in #136
- Update LICENSE and NOTICE files for project compliance by @kaburagisec in #139
- Update README and docs index by @kaburagisec in #144
- Miscellaneous documentation fixes and improvements by @kaburagisec in #147
Tests
- Complete tests for core modules by @kaburagisec in #119
- Complete tests for utilities modules by @kaburagisec in #122
- Complete tests for CLI modules by @kaburagisec in #124
- Expand Zeep and WSDL utility tests by @kaburagisec in #126
- Enhance client and exceptions tests by @kaburagisec in #145
- Complete tests for interactive shell modules by @kaburagisec in #149
CI/CD
- Update CI/CD workflow with spell checking by @kaburagisec in #117
- Include pyproject.toml in CI/CD workflow by @kaburagisec in #121
- Add cross-platform CLI testing workflow by @kaburagisec in #127
- Update coverage thresholds in workflow by @kaburagisec in #128
- Add workflow for documentation deployment by @kaburagisec in #129
- Ensure Codacy coverage is reported for latest commits by @kaburagisec in #130
- Add documentation preview workflow for pull requests by @kaburagisec in #134
- Update CLI test job names for clarity and consistency by @kaburagisec in #135
- Fix PR documentation preview deployment by @kaburagisec in #137
- Remove conditional check for closed PR in documentation preview workflow by @kaburagisec in #140
- Refactor workflow names and improve coverage settings by @kaburagisec in #141
Build
- Add
codespellto dev dependencies by @kaburagisec in #116 - Add
pylint-pytestto development dependencies by @kaburagisec in #120 - Pin dependency versions for stability by @kaburagisec in #138
- Update .gitattributes and .gitignore for improved file tracking by @kaburagisec in #142
- Update pyproject.toml for improved metadata and dependency management by @kaburagisec in #143
Full Changelog: v0.4.2...v0.4.3