Skip to content

Commit 09e2871

Browse files
committed
Bump version 0.2.4 → 0.2.5
1 parent 0402c33 commit 09e2871

File tree

5 files changed

+49
-27
lines changed

5 files changed

+49
-27
lines changed

README.md

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<div align="center">
44
<a href="https://app.codacy.com/gh/nirsimetri/onvif-python/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img alt="Codacy grade" src="https://img.shields.io/codacy/grade/bff08a94e4d447b690cea49c6594826d?label=Code%20Quality&logo=codacy"></a>
55
<a href="https://deepwiki.com/nirsimetri/onvif-python"><img alt="Ask DeepWiki" src="https://deepwiki.com/badge.svg"></a>
6-
<a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/PyPI-0.2.4-orange?logo=archive&color=yellow"></a>
6+
<a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/PyPI-0.2.5-orange?logo=archive&color=yellow"></a>
77
<a href="https://pepy.tech/projects/onvif-python"><img alt="Pepy Total Downloads" src="https://img.shields.io/pepy/dt/onvif-python?label=Downloads&color=red"></a>
88
<br>
99
<a href="https://github.com/nirsimetri/onvif-python/actions/workflows/python-app.yml"><img alt="Build" src="https://github.com/nirsimetri/onvif-python/actions/workflows/python-app.yml/badge.svg?branch=main"></a>
@@ -25,7 +25,7 @@ This library simplifies that process by wrapping SOAP communication into a clean
2525

2626
## Library Philosophy
2727
> [!NOTE]
28-
> This library will be continuously updated as ONVIF versions are updated. It uses a built-in WSDL that will always follow changes to the [ONVIF WSDL Specifications](https://github.com/onvif/specs). You can also use your own WSDL file by adding the `wsdl_dir` argument; see [ONVIFClient Parameters](#onvifclient-parameters).
28+
> This library will be continuously updated as ONVIF versions are updated. It uses a built-in WSDL that will always follow changes to the [ONVIF WSDL Specifications](https://github.com/onvif/specs). You can also use your own ONVIF WSDL file by adding the `wsdl_dir` argument; see [ONVIFClient Parameters](#onvifclient-parameters).
2929
3030
- **WYSIWYG (What You See is What You Get)**: Every ONVIF operation in the library mirrors the official ONVIF specification exactly. Method names, parameter structures, and response formats follow ONVIF standards without abstraction layers or renamed interfaces. What you see in the ONVIF documentation is exactly what you get in Python.
3131

@@ -314,11 +314,12 @@ This library includes a powerful command-line interface (CLI) for interacting wi
314314
<summary><b>1. Direct CLI</b></summary>
315315

316316
```bash
317-
usage: onvif [-h] [--host HOST] [--port PORT] [--username USERNAME] [--password PASSWORD] [--discover] [--filter FILTER] [--search SEARCH] [--page PAGE] [--per-page PER_PAGE] [--timeout TIMEOUT] [--https]
318-
[--no-verify] [--no-patch] [--interactive] [--debug] [--wsdl WSDL] [--cache {all,db,mem,none}] [--health-check-interval HEALTH_CHECK_INTERVAL] [--version]
317+
usage: onvif [-h] [--host HOST] [--port PORT] [--username USERNAME] [--password PASSWORD] [--discover] [--filter FILTER] [--search SEARCH] [--page PAGE]
318+
[--per-page PER_PAGE] [--timeout TIMEOUT] [--https] [--no-verify] [--no-patch] [--interactive] [--debug] [--wsdl WSDL]
319+
[--cache {all,db,mem,none}] [--health-check-interval HEALTH_CHECK_INTERVAL] [--output OUTPUT] [--version]
319320
[service] [method] [params ...]
320321

321-
ONVIF Terminal Client — v0.2.4
322+
ONVIF Terminal Client — v0.2.5
322323
https://github.com/nirsimetri/onvif-python
323324

324325
positional arguments:
@@ -352,6 +353,9 @@ options:
352353
Caching mode for ONVIFClient (default: all). 'all': memory+disk, 'db': disk-only, 'mem': memory-only, 'none': disabled.
353354
--health-check-interval HEALTH_CHECK_INTERVAL, -hci HEALTH_CHECK_INTERVAL
354355
Health check interval in seconds for interactive mode (default: 10)
356+
--output OUTPUT, -o OUTPUT
357+
Save command output to file. Supports .json, .xml extensions for format detection, or plain text. XML format automatically enables
358+
debug mode for SOAP capture.
355359
--version, -v Show ONVIF CLI version and exit
356360

357361
Examples:
@@ -372,7 +376,12 @@ Examples:
372376

373377
# Direct command execution
374378
onvif devicemgmt GetCapabilities Category=All --host 192.168.1.17 --port 8000 --username admin --password admin123
375-
onvif ptz ContinuousMove ProfileToken=Profile_1 Velocity={"PanTilt": {"x": -0.1, "y": 0}} --host 192.168.1.17 --port 8000 --username admin --password admin123
379+
onvif ptz ContinuousMove ProfileToken=Profile_1 Velocity={'PanTilt': {'x': -0.1, 'y': 0}} -H 192.168.1.17 -P 8000 -u admin -p admin123
380+
381+
# Save output to file
382+
onvif devicemgmt GetDeviceInformation --host 192.168.1.17 --port 8000 --username admin --password admin123 --output device_info.json
383+
onvif media GetProfiles --host 192.168.1.17 --port 8000 --username admin --password admin123 --output profiles.xml
384+
onvif ptz GetConfigurations --host 192.168.1.17 --port 8000 --username admin --password admin123 --output ptz_config.txt --debug
376385

377386
# Interactive mode
378387
onvif --host 192.168.1.17 --port 8000 --username admin --password admin123 --interactive
@@ -391,7 +400,7 @@ Examples:
391400
<summary><b>2. Interactive Shell</b></summary>
392401

393402
```bash
394-
ONVIF Interactive Shell — v0.2.4
403+
ONVIF Interactive Shell — v0.2.5
395404
https://github.com/nirsimetri/onvif-python
396405

397406
Basic Commands:
@@ -599,7 +608,11 @@ onvif <service> <method> [parameters...] -H <host> -P <port> -u <user> -p <pass>
599608
onvif devicemgmt GetCapabilities Category=All -H 192.168.1.17 -P 8000 -u admin -p admin123
600609

601610
# Move a PTZ camera
602-
onvif ptz ContinuousMove ProfileToken=Profile_1 Velocity='{"PanTilt": {"x": 0.1}}' -H 192.168.1.17 -P 8000 -u admin -p admin123
611+
onvif ptz ContinuousMove ProfileToken=Profile_1 Velocity='{"PanTilt": {"x": 0.1, "y": 0}}' -H 192.168.1.17 -P 8000 -u admin -p admin123
612+
613+
# Save output to file
614+
onvif devicemgmt GetDeviceInformation --host 192.168.1.17 --port 8000 --username admin --password admin123 --output device_info.json
615+
onvif media GetProfiles -H 192.168.1.17 -P 8000 -u admin -p admin123 -o profiles.xml
603616
```
604617

605618
**4. ONVIF Product Search**
@@ -1115,13 +1128,11 @@ Some ONVIF services have multiple bindings in the same WSDL. These typically inc
11151128
- [ ] Add more usage examples for advanced features.
11161129
- [ ] Add benchmarking and performance metrics.
11171130
- [ ] Add community-contributed device configuration templates.
1118-
- [ ] Implement missing or partial ONVIF services.
1119-
- [ ] Add function to expose ONVIF devices (for debugging purposes by the community).
11201131

11211132
## Related Projects
11221133

11231134
- [onvif-products-directory](https://github.com/nirsimetri/onvif-products-directory):
1124-
This project is a comprehensive ONVIF data aggregation and management suite, designed to help developers explore, analyze, and process ONVIF-compliant product information from hundreds of manufacturers worldwide. It provides a unified structure for device, client, and company data, making it easier to perform research, build integrations, and generate statistics for ONVIF ecosystem analysis.
1135+
This project is a comprehensive ONVIF data aggregation and management suite, designed to help developers explore, analyze, and process ONVIF-compliant product information from hundreds of manufacturers worldwide.
11251136

11261137
- (soon) [onvif-rest-server](https://github.com/nirsimetri/onvif-rest-server):
11271138
A RESTful API server for ONVIF devices, enabling easy integration of ONVIF device management, media streaming, and other capabilities into web applications and services.

README_ID.md

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<div align="center">
44
<a href="https://app.codacy.com/gh/nirsimetri/onvif-python/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img alt="Codacy grade" src="https://img.shields.io/codacy/grade/bff08a94e4d447b690cea49c6594826d?label=Code%20Quality&logo=codacy"></a>
55
<a href="https://deepwiki.com/nirsimetri/onvif-python"><img alt="Ask DeepWiki" src="https://deepwiki.com/badge.svg"></a>
6-
<a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/PyPI-0.2.4-orange?logo=archive&color=yellow"></a>
6+
<a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/PyPI-0.2.5-orange?logo=archive&color=yellow"></a>
77
<a href="https://pepy.tech/projects/onvif-python"><img alt="Pepy Total Downloads" src="https://img.shields.io/pepy/dt/onvif-python?label=Downloads&color=red"></a>
88
<br>
99
<a href="https://github.com/nirsimetri/onvif-python/actions/workflows/python-app.yml"><img alt="Build" src="https://github.com/nirsimetri/onvif-python/actions/workflows/python-app.yml/badge.svg?branch=main"></a>
@@ -25,7 +25,7 @@ Pustaka ini menyederhanakan proses tersebut dengan membungkus komunikasi SOAP ke
2525

2626
## Filosofi Pustaka
2727
> [!NOTE]
28-
> Pustaka ini akan terus diperbarui seiring dengan pembaruan versi ONVIF. Pustaka menggunakan WSDL bawaan yang akan selalu mengikuti perubahan pada [Spesifikasi WSDL ONVIF](https://github.com/onvif/specs). Anda juga dapat menggunakan file WSDL Anda sendiri dengan menambahkan argumen `wsdl_dir`; lihat [Parameter ONVIFClient](#parameter-onvifclient).
28+
> Pustaka ini akan terus diperbarui seiring dengan pembaruan versi ONVIF. Pustaka menggunakan WSDL bawaan yang akan selalu mengikuti perubahan pada [Spesifikasi WSDL ONVIF](https://github.com/onvif/specs). Anda juga dapat menggunakan file WSDL ONVIF Anda sendiri dengan menambahkan argumen `wsdl_dir`; lihat [Parameter ONVIFClient](#parameter-onvifclient).
2929
3030
- **WYSIWYG (What You See is What You Get)**: Setiap operasi ONVIF dalam pustaka ini mencerminkan spesifikasi ONVIF resmi secara tepat. Nama metode, struktur parameter, dan format respons mengikuti standar ONVIF tanpa lapisan abstraksi atau antarmuka yang diubah namanya. Apa yang Anda lihat dalam dokumentasi ONVIF adalah persis apa yang Anda dapatkan dalam Python.
3131

@@ -314,11 +314,12 @@ Pustaka ini menyertakan antarmuka baris perintah (CLI) yang kuat untuk berintera
314314
<summary><b>1. CLI Langsung</b></summary>
315315

316316
```bash
317-
usage: onvif [-h] [--host HOST] [--port PORT] [--username USERNAME] [--password PASSWORD] [--discover] [--filter FILTER] [--search SEARCH] [--page PAGE] [--per-page PER_PAGE] [--timeout TIMEOUT] [--https]
318-
[--no-verify] [--no-patch] [--interactive] [--debug] [--wsdl WSDL] [--cache {all,db,mem,none}] [--health-check-interval HEALTH_CHECK_INTERVAL] [--version]
317+
usage: onvif [-h] [--host HOST] [--port PORT] [--username USERNAME] [--password PASSWORD] [--discover] [--filter FILTER] [--search SEARCH] [--page PAGE]
318+
[--per-page PER_PAGE] [--timeout TIMEOUT] [--https] [--no-verify] [--no-patch] [--interactive] [--debug] [--wsdl WSDL]
319+
[--cache {all,db,mem,none}] [--health-check-interval HEALTH_CHECK_INTERVAL] [--output OUTPUT] [--version]
319320
[service] [method] [params ...]
320321

321-
ONVIF Terminal Client — v0.2.4
322+
ONVIF Terminal Client — v0.2.5
322323
https://github.com/nirsimetri/onvif-python
323324

324325
positional arguments:
@@ -352,6 +353,9 @@ options:
352353
Caching mode for ONVIFClient (default: all). 'all': memory+disk, 'db': disk-only, 'mem': memory-only, 'none': disabled.
353354
--health-check-interval HEALTH_CHECK_INTERVAL, -hci HEALTH_CHECK_INTERVAL
354355
Health check interval in seconds for interactive mode (default: 10)
356+
--output OUTPUT, -o OUTPUT
357+
Save command output to file. Supports .json, .xml extensions for format detection, or plain text. XML format automatically enables
358+
debug mode for SOAP capture.
355359
--version, -v Show ONVIF CLI version and exit
356360

357361
Examples:
@@ -372,7 +376,12 @@ Examples:
372376

373377
# Direct command execution
374378
onvif devicemgmt GetCapabilities Category=All --host 192.168.1.17 --port 8000 --username admin --password admin123
375-
onvif ptz ContinuousMove ProfileToken=Profile_1 Velocity={"PanTilt": {"x": -0.1, "y": 0}} --host 192.168.1.17 --port 8000 --username admin --password admin123
379+
onvif ptz ContinuousMove ProfileToken=Profile_1 Velocity={'PanTilt': {'x': -0.1, 'y': 0}} -H 192.168.1.17 -P 8000 -u admin -p admin123
380+
381+
# Save output to file
382+
onvif devicemgmt GetDeviceInformation --host 192.168.1.17 --port 8000 --username admin --password admin123 --output device_info.json
383+
onvif media GetProfiles --host 192.168.1.17 --port 8000 --username admin --password admin123 --output profiles.xml
384+
onvif ptz GetConfigurations --host 192.168.1.17 --port 8000 --username admin --password admin123 --output ptz_config.txt --debug
376385

377386
# Interactive mode
378387
onvif --host 192.168.1.17 --port 8000 --username admin --password admin123 --interactive
@@ -392,7 +401,7 @@ Examples:
392401

393402

394403
```bash
395-
ONVIF Interactive Shell — v0.2.4
404+
ONVIF Interactive Shell — v0.2.5
396405
https://github.com/nirsimetri/onvif-python
397406

398407
Basic Commands:
@@ -600,7 +609,11 @@ onvif <service> <method> [parameters...] -H <host> -P <port> -u <user> -p <pass>
600609
onvif devicemgmt GetCapabilities Category=All -H 192.168.1.17 -P 8000 -u admin -p admin123
601610

602611
# Gerakkan kamera PTZ
603-
onvif ptz ContinuousMove ProfileToken=Profile_1 Velocity='{"PanTilt": {"x": 0.1}}' -H 192.168.1.17 -P 8000 -u admin -p admin123
612+
onvif ptz ContinuousMove ProfileToken=Profile_1 Velocity='{"PanTilt": {"x": 0.1, "y": 0}}' -H 192.168.1.17 -P 8000 -u admin -p admin123
613+
614+
# Simpan output ke file
615+
onvif devicemgmt GetDeviceInformation --host 192.168.1.17 --port 8000 --username admin --password admin123 --output device_info.json
616+
onvif media GetProfiles -H 192.168.1.17 -P 8000 -u admin -p admin123 -o profiles.xml
604617
```
605618

606619
**4. Pencarian Produk ONVIF**
@@ -1115,13 +1128,11 @@ Beberapa layanan ONVIF memiliki banyak binding dalam WSDL yang sama. Biasanya me
11151128
- [ ] Menambahkan lebih banyak contoh penggunaan untuk fitur lanjutan.
11161129
- [ ] Menambahkan benchmarking dan metrik performa.
11171130
- [ ] Menambahkan template konfigurasi perangkat yang dikontribusikan oleh komunitas.
1118-
- [ ] Mengimplementasikan layanan ONVIF yang hilang atau masih parsial.
1119-
- [ ] Menambahkan fungsi untuk mengekspos perangkat ONVIF (untuk tujuan debugging oleh komunitas).
11201131

11211132
## Proyek Terkait
11221133

11231134
- [onvif-products-directory](https://github.com/nirsimetri/onvif-products-directory):
1124-
Proyek ini adalah suite agregasi dan manajemen data ONVIF yang komprehensif, dirancang untuk membantu pengembang menelusuri, menganalisis, dan memproses informasi produk yang sesuai ONVIF dari ratusan produsen di seluruh dunia. Menyediakan struktur terpadu untuk data perangkat, klien, dan perusahaan, sehingga mempermudah riset, membangun integrasi, dan menghasilkan statistik untuk analisis ekosistem ONVIF.
1135+
Proyek ini adalah suite agregasi dan manajemen data ONVIF yang komprehensif, dirancang untuk membantu pengembang menelusuri, menganalisis, dan memproses informasi produk yang sesuai ONVIF dari ratusan produsen di seluruh dunia.
11251136

11261137
- (segera) [onvif-rest-server](https://github.com/nirsimetri/onvif-rest-server):
11271138
Server API RESTful untuk perangkat ONVIF, memungkinkan integrasi mudah manajemen perangkat ONVIF, streaming media, dan kemampuan lainnya ke aplikasi dan layanan web.

onvif/cli/interactive.py

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

onvif/cli/main.py

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "onvif-python"
7-
version = "0.2.4"
7+
version = "0.2.5"
88
description = "A modern Python library for ONVIF-compliant devices"
99
readme = "README.md"
1010
requires-python = ">=3.9"

0 commit comments

Comments
 (0)