onvif-python 0.0.2__tar.gz → 0.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. {onvif_python-0.0.2/onvif_python.egg-info → onvif_python-0.0.3}/PKG-INFO +13 -8
  2. {onvif_python-0.0.2 → onvif_python-0.0.3}/README.md +12 -7
  3. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/keystore.py +1 -1
  4. {onvif_python-0.0.2 → onvif_python-0.0.3/onvif_python.egg-info}/PKG-INFO +13 -8
  5. {onvif_python-0.0.2 → onvif_python-0.0.3}/pyproject.toml +1 -1
  6. {onvif_python-0.0.2 → onvif_python-0.0.3}/LICENSE.md +0 -0
  7. {onvif_python-0.0.2 → onvif_python-0.0.3}/MANIFEST.in +0 -0
  8. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/__init__.py +0 -0
  9. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/client.py +0 -0
  10. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/operator.py +0 -0
  11. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/__init__.py +0 -0
  12. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/accesscontrol.py +0 -0
  13. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/accessrules.py +0 -0
  14. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/actionengine.py +0 -0
  15. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/analytics/analytics.py +0 -0
  16. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/analytics/ruleengine.py +0 -0
  17. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/analyticsdevice.py +0 -0
  18. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/appmgmt.py +0 -0
  19. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/authenticationbehavior.py +0 -0
  20. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/credential.py +0 -0
  21. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/deviceio.py +0 -0
  22. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/devicemgmt.py +0 -0
  23. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/display.py +0 -0
  24. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/doorcontrol.py +0 -0
  25. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/events/events.py +0 -0
  26. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/events/notification.py +0 -0
  27. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/events/pullpoint.py +0 -0
  28. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/events/subscription.py +0 -0
  29. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/imaging.py +0 -0
  30. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/media.py +0 -0
  31. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/media2.py +0 -0
  32. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/provisioning.py +0 -0
  33. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/ptz.py +0 -0
  34. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/receiver.py +0 -0
  35. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/recording.py +0 -0
  36. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/replay.py +0 -0
  37. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/schedule.py +0 -0
  38. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/search.py +0 -0
  39. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/advancedsecurity.py +0 -0
  40. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/authorizationserver.py +0 -0
  41. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/dot1x.py +0 -0
  42. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/jwt.py +0 -0
  43. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/mediasigning.py +0 -0
  44. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/tlsserver.py +0 -0
  45. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/thermal.py +0 -0
  46. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/uplink.py +0 -0
  47. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/utils/__init__.py +0 -0
  48. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/utils/exceptions.py +0 -0
  49. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/utils/wsdl.py +0 -0
  50. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/utils/zeep.py +0 -0
  51. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/accesscontrol/wsdl/index.html +0 -0
  52. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/accessrules/wsdl/accessrules.wsdl +0 -0
  53. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/accessrules/wsdl/index.html +0 -0
  54. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/actionengine.wsdl +0 -0
  55. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/advancedsecurity/wsdl/advancedsecurity.wsdl +0 -0
  56. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/advancedsecurity/wsdl/index.html +0 -0
  57. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/analyticsdevice.wsdl +0 -0
  58. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/appmgmt/wsdl/appmgmt.wsdl +0 -0
  59. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/appmgmt/wsdl/index.html +0 -0
  60. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/authenticationbehavior/wsdl/authenticationbehavior.wsdl +0 -0
  61. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/authenticationbehavior/wsdl/index.html +0 -0
  62. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/credential/wsdl/credential.wsdl +0 -0
  63. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/credential/wsdl/index.html +0 -0
  64. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/device/wsdl/devicemgmt.wsdl +0 -0
  65. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/deviceio.wsdl +0 -0
  66. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/display/display.wsdl +0 -0
  67. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/display/wsdl/index.htm +0 -0
  68. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/display.wsdl +0 -0
  69. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/doorcontrol/wsdl/index.html +0 -0
  70. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/events/wsdl/bw-2-vs-mod.wsdl +0 -0
  71. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/events/wsdl/event-vs.wsdl +0 -0
  72. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/events/wsdl/event.wsdl +0 -0
  73. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/events/wsdl/index.html +0 -0
  74. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/federatedsearch.wsdl +0 -0
  75. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/media/wsdl/media.wsdl +0 -0
  76. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/pacs/accesscontrol.wsdl +0 -0
  77. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/pacs/doorcontrol.wsdl +0 -0
  78. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/pacs/types.xsd +0 -0
  79. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/provisioning/wsdl/provisioning.wsdl +0 -0
  80. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/receiver.wsdl +0 -0
  81. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/recording.wsdl +0 -0
  82. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/replay.wsdl +0 -0
  83. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/schedule/wsdl/index.html +0 -0
  84. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/schedule/wsdl/schedule.wsdl +0 -0
  85. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/schema/common.xsd +0 -0
  86. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/schema/metadatastream.xsd +0 -0
  87. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/schema/onvif.xsd +0 -0
  88. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/search.wsdl +0 -0
  89. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/thermal/wsdl/index.html +0 -0
  90. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/thermal/wsdl/thermal.wsdl +0 -0
  91. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/topics/topicns.xml +0 -0
  92. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/uplink/wsdl/index.html +0 -0
  93. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/uplink/wsdl/uplink.wsdl +0 -0
  94. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/humanbody.xsd +0 -0
  95. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/humanface.xsd +0 -0
  96. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/index.html +0 -0
  97. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/radiometry.xsd +0 -0
  98. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/rules.xsd +0 -0
  99. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/wsdl/analytics.wsdl +0 -0
  100. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/wsdl/index.html +0 -0
  101. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/imaging/wsdl/imaging.wsdl +0 -0
  102. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/media/wsdl/index.html +0 -0
  103. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/media/wsdl/media.wsdl +0 -0
  104. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/ptz/wsdl/ptz.wsdl +0 -0
  105. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/util/federated_search_documentation.html +0 -0
  106. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/util/fedsearch-docu-viewer.xsl +0 -0
  107. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/util/onvif-wsdl-viewer.xsl +0 -0
  108. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/util/operationIndex.html +0 -0
  109. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif_python.egg-info/SOURCES.txt +0 -0
  110. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif_python.egg-info/dependency_links.txt +0 -0
  111. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif_python.egg-info/requires.txt +0 -0
  112. {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif_python.egg-info/top_level.txt +0 -0
  113. {onvif_python-0.0.2 → onvif_python-0.0.3}/setup.cfg +0 -0
  114. {onvif_python-0.0.2 → onvif_python-0.0.3}/setup.py +0 -0
  115. {onvif_python-0.0.2 → onvif_python-0.0.3}/tests/test_client.py +0 -0
  116. {onvif_python-0.0.2 → onvif_python-0.0.3}/tests/test_core.py +0 -0
  117. {onvif_python-0.0.2 → onvif_python-0.0.3}/tests/test_exceptions.py +0 -0
  118. {onvif_python-0.0.2 → onvif_python-0.0.3}/tests/test_wsdl_map.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: onvif-python
3
- Version: 0.0.2
3
+ Version: 0.0.3
4
4
  Summary: A comprehensive and developer-friendly Python library for working with ONVIF-compliant devices
5
5
  Author-email: Nirsimetri Technologies® <open@nirsimetri.com>
6
6
  Maintainer: Kaburagi
@@ -41,10 +41,10 @@ Dynamic: license-file
41
41
 
42
42
  [![License](https://img.shields.io/badge/License-MIT-blue)](https://github.com/nirsimetri/onvif-python?tab=MIT-1-ov-file)
43
43
  [![DeepWiki](https://img.shields.io/badge/DeepWiki-AI%20Wiki-orange)](https://deepwiki.com/nirsimetri/onvif-python)
44
- [![Release](https://img.shields.io/badge/Release-v0.0.1-green?logo=archive)](https://github.com/nirsimetri/onvif-python/releases)
44
+ [![Release](https://img.shields.io/badge/Release-v0.0.3-red?logo=archive)](https://github.com/nirsimetri/onvif-python/releases)
45
45
  <br>
46
- [![PyPI](https://img.shields.io/badge/PyPI-0.0.1-yellow?logo=archive)](https://pypi.org/project/onvif-python/)
47
- [![Downloads](https://img.shields.io/pypi/dd/onvif-python?label=PyPI%20Downloads&color=white)](https://pypi.org/project/onvif-python/)
46
+ [![PyPI](https://img.shields.io/badge/PyPI-0.0.3-yellow?logo=archive)](https://pypi.org/project/onvif-python/)
47
+ [![Downloads](https://img.shields.io/pypi/dm/onvif-python?label=PyPI%20Downloads)](https://pypi.org/project/onvif-python/)
48
48
 
49
49
  Are you having trouble finding a Python ONVIF library that supports your device?
50
50
  Are you confused about the compatibility of the various ONVIF versions, which are updated every six months?
@@ -126,7 +126,7 @@ Retrieve basic information about the device, such as manufacturer, model, firmwa
126
126
  ```python
127
127
  info = device.GetDeviceInformation()
128
128
  print(info)
129
- # Example output: {'Manufacturer': '...', 'Model': '...', 'FirmwareVersion': '...', 'SerialNumber': '...'}
129
+ # Example output: {'Manufacturer': '..', 'Model': '..', 'FirmwareVersion': '..', 'SerialNumber': '..'}
130
130
  ```
131
131
 
132
132
  **4. Get RTSP URL**
@@ -248,7 +248,8 @@ ONVIF services are defined by WSDL bindings. In this library, there are two main
248
248
 
249
249
  Most ONVIF services use a single binding, mapping directly to one endpoint. These are accessed via simple client methods, and the binding/xAddr is always known from device capabilities.
250
250
 
251
- **Examples:**
251
+ <details>
252
+ <summary>Examples:</summary>
252
253
 
253
254
  ```python
254
255
  client.devicemgmt() # DeviceBinding
@@ -259,13 +260,16 @@ client.ptz() # PTZBinding
259
260
 
260
261
  ✅ These are considered fixed and always accessed directly.
261
262
 
263
+ </details>
264
+
262
265
  ### 2. Multi-Binding Services
263
266
 
264
267
  Some ONVIF services have multiple bindings in the same WSDL. These typically include:
265
268
  - A **root binding** (main entry point)
266
269
  - One or more **sub-bindings**, discovered or created dynamically (e.g. after subscription/configuration creation)
267
270
 
268
- **Examples:**
271
+ <details>
272
+ <summary>Examples:</summary>
269
273
 
270
274
  1. **Events**
271
275
  - **Root:** `EventBinding`
@@ -313,6 +317,8 @@ Some ONVIF services have multiple bindings in the same WSDL. These typically inc
313
317
  client.analytics() # root binding
314
318
  client.ruleengine() # sub-binding accessor
315
319
  ```
320
+ </details>
321
+
316
322
  ### Summary
317
323
 
318
324
  - **Single binding services:** Always accessed directly (e.g. `client.media()`).
@@ -355,7 +361,6 @@ If you are looking for other ONVIF Python libraries, here are some alternatives:
355
361
  - [ONVIF Official Specifications](https://www.onvif.org/profiles/specifications/specification-history/)
356
362
  - [ONVIF Official Specs Repository](https://github.com/onvif/specs)
357
363
  - [ONVIF 2.0 Service Operation Index](https://www.onvif.org/onvif/ver20/util/operationIndex.html)
358
- - [Project Specs Folder](../../specifications)
359
364
  - [Usage Examples](./examples/)
360
365
 
361
366
  ## Legal Notice
@@ -2,10 +2,10 @@
2
2
 
3
3
  [![License](https://img.shields.io/badge/License-MIT-blue)](https://github.com/nirsimetri/onvif-python?tab=MIT-1-ov-file)
4
4
  [![DeepWiki](https://img.shields.io/badge/DeepWiki-AI%20Wiki-orange)](https://deepwiki.com/nirsimetri/onvif-python)
5
- [![Release](https://img.shields.io/badge/Release-v0.0.1-green?logo=archive)](https://github.com/nirsimetri/onvif-python/releases)
5
+ [![Release](https://img.shields.io/badge/Release-v0.0.3-red?logo=archive)](https://github.com/nirsimetri/onvif-python/releases)
6
6
  <br>
7
- [![PyPI](https://img.shields.io/badge/PyPI-0.0.1-yellow?logo=archive)](https://pypi.org/project/onvif-python/)
8
- [![Downloads](https://img.shields.io/pypi/dd/onvif-python?label=PyPI%20Downloads&color=white)](https://pypi.org/project/onvif-python/)
7
+ [![PyPI](https://img.shields.io/badge/PyPI-0.0.3-yellow?logo=archive)](https://pypi.org/project/onvif-python/)
8
+ [![Downloads](https://img.shields.io/pypi/dm/onvif-python?label=PyPI%20Downloads)](https://pypi.org/project/onvif-python/)
9
9
 
10
10
  Are you having trouble finding a Python ONVIF library that supports your device?
11
11
  Are you confused about the compatibility of the various ONVIF versions, which are updated every six months?
@@ -87,7 +87,7 @@ Retrieve basic information about the device, such as manufacturer, model, firmwa
87
87
  ```python
88
88
  info = device.GetDeviceInformation()
89
89
  print(info)
90
- # Example output: {'Manufacturer': '...', 'Model': '...', 'FirmwareVersion': '...', 'SerialNumber': '...'}
90
+ # Example output: {'Manufacturer': '..', 'Model': '..', 'FirmwareVersion': '..', 'SerialNumber': '..'}
91
91
  ```
92
92
 
93
93
  **4. Get RTSP URL**
@@ -209,7 +209,8 @@ ONVIF services are defined by WSDL bindings. In this library, there are two main
209
209
 
210
210
  Most ONVIF services use a single binding, mapping directly to one endpoint. These are accessed via simple client methods, and the binding/xAddr is always known from device capabilities.
211
211
 
212
- **Examples:**
212
+ <details>
213
+ <summary>Examples:</summary>
213
214
 
214
215
  ```python
215
216
  client.devicemgmt() # DeviceBinding
@@ -220,13 +221,16 @@ client.ptz() # PTZBinding
220
221
 
221
222
  ✅ These are considered fixed and always accessed directly.
222
223
 
224
+ </details>
225
+
223
226
  ### 2. Multi-Binding Services
224
227
 
225
228
  Some ONVIF services have multiple bindings in the same WSDL. These typically include:
226
229
  - A **root binding** (main entry point)
227
230
  - One or more **sub-bindings**, discovered or created dynamically (e.g. after subscription/configuration creation)
228
231
 
229
- **Examples:**
232
+ <details>
233
+ <summary>Examples:</summary>
230
234
 
231
235
  1. **Events**
232
236
  - **Root:** `EventBinding`
@@ -274,6 +278,8 @@ Some ONVIF services have multiple bindings in the same WSDL. These typically inc
274
278
  client.analytics() # root binding
275
279
  client.ruleengine() # sub-binding accessor
276
280
  ```
281
+ </details>
282
+
277
283
  ### Summary
278
284
 
279
285
  - **Single binding services:** Always accessed directly (e.g. `client.media()`).
@@ -316,7 +322,6 @@ If you are looking for other ONVIF Python libraries, here are some alternatives:
316
322
  - [ONVIF Official Specifications](https://www.onvif.org/profiles/specifications/specification-history/)
317
323
  - [ONVIF Official Specs Repository](https://github.com/onvif/specs)
318
324
  - [ONVIF 2.0 Service Operation Index](https://www.onvif.org/onvif/ver20/util/operationIndex.html)
319
- - [Project Specs Folder](../../specifications)
320
325
  - [Usage Examples](./examples/)
321
326
 
322
327
  ## Legal Notice
@@ -72,7 +72,7 @@ class Keystore:
72
72
 
73
73
  def CreatePKCS10CSR(self, Subject, KeyID, SignatureAlgorithm, CSRAttribute=None):
74
74
  return self.operator.call(
75
- "DeleteKey",
75
+ "CreatePKCS10CSR",
76
76
  Subject=Subject,
77
77
  KeyID=KeyID,
78
78
  CSRAttribute=CSRAttribute,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: onvif-python
3
- Version: 0.0.2
3
+ Version: 0.0.3
4
4
  Summary: A comprehensive and developer-friendly Python library for working with ONVIF-compliant devices
5
5
  Author-email: Nirsimetri Technologies® <open@nirsimetri.com>
6
6
  Maintainer: Kaburagi
@@ -41,10 +41,10 @@ Dynamic: license-file
41
41
 
42
42
  [![License](https://img.shields.io/badge/License-MIT-blue)](https://github.com/nirsimetri/onvif-python?tab=MIT-1-ov-file)
43
43
  [![DeepWiki](https://img.shields.io/badge/DeepWiki-AI%20Wiki-orange)](https://deepwiki.com/nirsimetri/onvif-python)
44
- [![Release](https://img.shields.io/badge/Release-v0.0.1-green?logo=archive)](https://github.com/nirsimetri/onvif-python/releases)
44
+ [![Release](https://img.shields.io/badge/Release-v0.0.3-red?logo=archive)](https://github.com/nirsimetri/onvif-python/releases)
45
45
  <br>
46
- [![PyPI](https://img.shields.io/badge/PyPI-0.0.1-yellow?logo=archive)](https://pypi.org/project/onvif-python/)
47
- [![Downloads](https://img.shields.io/pypi/dd/onvif-python?label=PyPI%20Downloads&color=white)](https://pypi.org/project/onvif-python/)
46
+ [![PyPI](https://img.shields.io/badge/PyPI-0.0.3-yellow?logo=archive)](https://pypi.org/project/onvif-python/)
47
+ [![Downloads](https://img.shields.io/pypi/dm/onvif-python?label=PyPI%20Downloads)](https://pypi.org/project/onvif-python/)
48
48
 
49
49
  Are you having trouble finding a Python ONVIF library that supports your device?
50
50
  Are you confused about the compatibility of the various ONVIF versions, which are updated every six months?
@@ -126,7 +126,7 @@ Retrieve basic information about the device, such as manufacturer, model, firmwa
126
126
  ```python
127
127
  info = device.GetDeviceInformation()
128
128
  print(info)
129
- # Example output: {'Manufacturer': '...', 'Model': '...', 'FirmwareVersion': '...', 'SerialNumber': '...'}
129
+ # Example output: {'Manufacturer': '..', 'Model': '..', 'FirmwareVersion': '..', 'SerialNumber': '..'}
130
130
  ```
131
131
 
132
132
  **4. Get RTSP URL**
@@ -248,7 +248,8 @@ ONVIF services are defined by WSDL bindings. In this library, there are two main
248
248
 
249
249
  Most ONVIF services use a single binding, mapping directly to one endpoint. These are accessed via simple client methods, and the binding/xAddr is always known from device capabilities.
250
250
 
251
- **Examples:**
251
+ <details>
252
+ <summary>Examples:</summary>
252
253
 
253
254
  ```python
254
255
  client.devicemgmt() # DeviceBinding
@@ -259,13 +260,16 @@ client.ptz() # PTZBinding
259
260
 
260
261
  ✅ These are considered fixed and always accessed directly.
261
262
 
263
+ </details>
264
+
262
265
  ### 2. Multi-Binding Services
263
266
 
264
267
  Some ONVIF services have multiple bindings in the same WSDL. These typically include:
265
268
  - A **root binding** (main entry point)
266
269
  - One or more **sub-bindings**, discovered or created dynamically (e.g. after subscription/configuration creation)
267
270
 
268
- **Examples:**
271
+ <details>
272
+ <summary>Examples:</summary>
269
273
 
270
274
  1. **Events**
271
275
  - **Root:** `EventBinding`
@@ -313,6 +317,8 @@ Some ONVIF services have multiple bindings in the same WSDL. These typically inc
313
317
  client.analytics() # root binding
314
318
  client.ruleengine() # sub-binding accessor
315
319
  ```
320
+ </details>
321
+
316
322
  ### Summary
317
323
 
318
324
  - **Single binding services:** Always accessed directly (e.g. `client.media()`).
@@ -355,7 +361,6 @@ If you are looking for other ONVIF Python libraries, here are some alternatives:
355
361
  - [ONVIF Official Specifications](https://www.onvif.org/profiles/specifications/specification-history/)
356
362
  - [ONVIF Official Specs Repository](https://github.com/onvif/specs)
357
363
  - [ONVIF 2.0 Service Operation Index](https://www.onvif.org/onvif/ver20/util/operationIndex.html)
358
- - [Project Specs Folder](../../specifications)
359
364
  - [Usage Examples](./examples/)
360
365
 
361
366
  ## Legal Notice
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "onvif-python"
7
- version = "0.0.2"
7
+ version = "0.0.3"
8
8
  description = "A comprehensive and developer-friendly Python library for working with ONVIF-compliant devices"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
File without changes
File without changes
File without changes
File without changes