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.
- {onvif_python-0.0.2/onvif_python.egg-info → onvif_python-0.0.3}/PKG-INFO +13 -8
- {onvif_python-0.0.2 → onvif_python-0.0.3}/README.md +12 -7
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/keystore.py +1 -1
- {onvif_python-0.0.2 → onvif_python-0.0.3/onvif_python.egg-info}/PKG-INFO +13 -8
- {onvif_python-0.0.2 → onvif_python-0.0.3}/pyproject.toml +1 -1
- {onvif_python-0.0.2 → onvif_python-0.0.3}/LICENSE.md +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/MANIFEST.in +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/__init__.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/client.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/operator.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/__init__.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/accesscontrol.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/accessrules.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/actionengine.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/analytics/analytics.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/analytics/ruleengine.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/analyticsdevice.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/appmgmt.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/authenticationbehavior.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/credential.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/deviceio.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/devicemgmt.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/display.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/doorcontrol.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/events/events.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/events/notification.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/events/pullpoint.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/events/subscription.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/imaging.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/media.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/media2.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/provisioning.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/ptz.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/receiver.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/recording.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/replay.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/schedule.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/search.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/advancedsecurity.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/authorizationserver.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/dot1x.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/jwt.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/mediasigning.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/security/tlsserver.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/thermal.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/services/uplink.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/utils/__init__.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/utils/exceptions.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/utils/wsdl.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/utils/zeep.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/accesscontrol/wsdl/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/accessrules/wsdl/accessrules.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/accessrules/wsdl/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/actionengine.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/advancedsecurity/wsdl/advancedsecurity.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/advancedsecurity/wsdl/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/analyticsdevice.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/appmgmt/wsdl/appmgmt.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/appmgmt/wsdl/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/authenticationbehavior/wsdl/authenticationbehavior.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/authenticationbehavior/wsdl/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/credential/wsdl/credential.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/credential/wsdl/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/device/wsdl/devicemgmt.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/deviceio.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/display/display.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/display/wsdl/index.htm +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/display.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/doorcontrol/wsdl/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/events/wsdl/bw-2-vs-mod.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/events/wsdl/event-vs.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/events/wsdl/event.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/events/wsdl/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/federatedsearch.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/media/wsdl/media.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/pacs/accesscontrol.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/pacs/doorcontrol.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/pacs/types.xsd +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/provisioning/wsdl/provisioning.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/receiver.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/recording.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/replay.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/schedule/wsdl/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/schedule/wsdl/schedule.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/schema/common.xsd +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/schema/metadatastream.xsd +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/schema/onvif.xsd +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/search.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/thermal/wsdl/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/thermal/wsdl/thermal.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/topics/topicns.xml +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/uplink/wsdl/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/uplink/wsdl/uplink.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/humanbody.xsd +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/humanface.xsd +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/radiometry.xsd +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/rules.xsd +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/wsdl/analytics.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/analytics/wsdl/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/imaging/wsdl/imaging.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/media/wsdl/index.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/media/wsdl/media.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/ptz/wsdl/ptz.wsdl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/util/federated_search_documentation.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/util/fedsearch-docu-viewer.xsl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/util/onvif-wsdl-viewer.xsl +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/util/operationIndex.html +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif_python.egg-info/SOURCES.txt +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif_python.egg-info/dependency_links.txt +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif_python.egg-info/requires.txt +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/onvif_python.egg-info/top_level.txt +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/setup.cfg +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/setup.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/tests/test_client.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/tests/test_core.py +0 -0
- {onvif_python-0.0.2 → onvif_python-0.0.3}/tests/test_exceptions.py +0 -0
- {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.
|
|
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
|
[](https://github.com/nirsimetri/onvif-python?tab=MIT-1-ov-file)
|
|
43
43
|
[](https://deepwiki.com/nirsimetri/onvif-python)
|
|
44
|
-
[](https://github.com/nirsimetri/onvif-python/releases)
|
|
45
45
|
<br>
|
|
46
|
-
[](https://pypi.org/project/onvif-python/)
|
|
47
|
+
[](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': '
|
|
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
|
-
|
|
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
|
-
|
|
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
|
[](https://github.com/nirsimetri/onvif-python?tab=MIT-1-ov-file)
|
|
4
4
|
[](https://deepwiki.com/nirsimetri/onvif-python)
|
|
5
|
-
[](https://github.com/nirsimetri/onvif-python/releases)
|
|
6
6
|
<br>
|
|
7
|
-
[](https://pypi.org/project/onvif-python/)
|
|
8
|
+
[](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': '
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: onvif-python
|
|
3
|
-
Version: 0.0.
|
|
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
|
[](https://github.com/nirsimetri/onvif-python?tab=MIT-1-ov-file)
|
|
43
43
|
[](https://deepwiki.com/nirsimetri/onvif-python)
|
|
44
|
-
[](https://github.com/nirsimetri/onvif-python/releases)
|
|
45
45
|
<br>
|
|
46
|
-
[](https://pypi.org/project/onvif-python/)
|
|
47
|
+
[](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': '
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/accessrules/wsdl/accessrules.wsdl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/authenticationbehavior/wsdl/index.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver10/provisioning/wsdl/provisioning.wsdl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onvif_python-0.0.2 → onvif_python-0.0.3}/onvif/wsdl/ver20/util/federated_search_documentation.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|