onvif-python 0.4.0__tar.gz → 0.4.2__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 (156) hide show
  1. {onvif_python-0.4.0 → onvif_python-0.4.2}/LICENSE.md +20 -20
  2. {onvif_python-0.4.0 → onvif_python-0.4.2}/MANIFEST.in +2 -2
  3. {onvif_python-0.4.0/onvif_python.egg-info → onvif_python-0.4.2}/PKG-INFO +115 -113
  4. {onvif_python-0.4.0 → onvif_python-0.4.2}/README.md +61 -61
  5. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/__init__.py +29 -29
  6. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/cli/__init__.py +5 -5
  7. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/cli/__main__.py +7 -7
  8. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/cli/helpers/__init__.py +21 -21
  9. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/cli/helpers/discovery.py +181 -156
  10. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/cli/helpers/execution.py +57 -57
  11. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/cli/helpers/files.py +191 -191
  12. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/cli/helpers/messages.py +220 -220
  13. onvif_python-0.4.2/onvif/cli/helpers/products.py +336 -0
  14. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/cli/helpers/wsdl_parser.py +973 -973
  15. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/cli/interactive.py +1335 -1319
  16. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/cli/main.py +352 -342
  17. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/cli/utils.py +510 -510
  18. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/client.py +969 -969
  19. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/db/products.db +1 -1
  20. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/meta.py +6 -6
  21. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/operator.py +450 -450
  22. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/__init__.py +79 -79
  23. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/accesscontrol.py +292 -292
  24. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/accessrules.py +128 -128
  25. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/actionengine.py +109 -109
  26. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/analytics/__init__.py +1 -1
  27. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/analytics/analytics.py +124 -124
  28. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/analytics/ruleengine.py +78 -78
  29. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/analyticsdevice.py +159 -159
  30. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/appmgmt.py +74 -74
  31. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/authenticationbehavior.py +219 -219
  32. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/credential.py +321 -321
  33. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/deviceio.py +328 -328
  34. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/devicemgmt.py +970 -970
  35. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/display.py +132 -132
  36. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/doorcontrol.py +267 -267
  37. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/events/__init__.py +1 -1
  38. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/events/events.py +87 -87
  39. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/events/notification.py +57 -57
  40. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/events/pausable_subscription.py +76 -76
  41. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/events/pullpoint.py +80 -80
  42. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/events/subscription.py +53 -53
  43. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/imaging.py +145 -145
  44. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/media.py +886 -886
  45. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/media2.py +667 -667
  46. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/provisioning.py +70 -70
  47. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/ptz.py +380 -380
  48. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/receiver.py +94 -94
  49. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/recording.py +289 -289
  50. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/replay.py +60 -60
  51. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/schedule.py +182 -182
  52. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/search.py +410 -410
  53. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/security/__init__.py +1 -1
  54. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/security/advancedsecurity.py +35 -35
  55. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/security/authorizationserver.py +53 -53
  56. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/security/dot1x.py +161 -161
  57. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/security/jwt.py +37 -37
  58. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/security/keystore.py +612 -612
  59. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/security/mediasigning.py +78 -78
  60. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/security/tlsserver.py +262 -262
  61. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/thermal.py +88 -88
  62. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/services/uplink.py +56 -56
  63. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/utils/__init__.py +26 -26
  64. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/utils/discovery.py +526 -521
  65. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/utils/error_handlers.py +241 -237
  66. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/utils/exceptions.py +184 -184
  67. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/utils/plugins.py +500 -500
  68. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/utils/service.py +363 -363
  69. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/utils/wsdl.py +788 -785
  70. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/utils/zeep.py +685 -683
  71. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/LICENSE.md +231 -231
  72. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/schema/common/b-2.xsd +579 -579
  73. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/schema/common/bf-2.xsd +84 -84
  74. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/schema/common/bw-2.wsdl +447 -447
  75. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/schema/common/include +13 -13
  76. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/schema/common/mpqf.xsd +1109 -1109
  77. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/schema/common/r-2.xsd +50 -50
  78. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/schema/common/rw-2.wsdl +54 -54
  79. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/schema/common/soap-envelope +165 -165
  80. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/schema/common/t-1.xsd +184 -184
  81. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/schema/common/ws-addr.xsd +144 -144
  82. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/schema/common/xml.xsd +287 -287
  83. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/schema/common/xmlmime +48 -48
  84. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/accesscontrol/wsdl/index.html +6 -6
  85. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/accessrules/wsdl/accessrules.wsdl +702 -702
  86. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/accessrules/wsdl/index.html +6 -6
  87. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/actionengine.wsdl +1265 -1265
  88. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/advancedsecurity/wsdl/advancedsecurity.wsdl +4205 -4205
  89. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/advancedsecurity/wsdl/index.html +6 -6
  90. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/analyticsdevice.wsdl +709 -709
  91. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/appmgmt/wsdl/appmgmt.wsdl +502 -502
  92. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/appmgmt/wsdl/index.html +6 -6
  93. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/authenticationbehavior/wsdl/authenticationbehavior.wsdl +1382 -1382
  94. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/authenticationbehavior/wsdl/index.html +6 -6
  95. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/credential/wsdl/credential.wsdl +2018 -2018
  96. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/credential/wsdl/index.html +6 -6
  97. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/device/wsdl/devicemgmt.wsdl +4786 -4786
  98. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/deviceio.wsdl +1414 -1414
  99. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/display/display.wsdl +383 -383
  100. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/display/wsdl/index.htm +383 -383
  101. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/display.wsdl +521 -521
  102. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/doorcontrol/wsdl/index.html +6 -6
  103. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/events/wsdl/bw-2-vs-mod.wsdl +448 -448
  104. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/events/wsdl/event-vs.wsdl +947 -947
  105. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/events/wsdl/event.wsdl +947 -947
  106. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/events/wsdl/index.html +6 -6
  107. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/federatedsearch.wsdl +344 -344
  108. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/media/wsdl/media.wsdl +3684 -3684
  109. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/pacs/accesscontrol.wsdl +1942 -1942
  110. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/pacs/doorcontrol.wsdl +1792 -1792
  111. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/pacs/types.xsd +181 -181
  112. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/provisioning/wsdl/provisioning.wsdl +588 -588
  113. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/receiver.wsdl +398 -398
  114. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/recording.wsdl +1442 -1442
  115. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/replay.wsdl +221 -221
  116. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/schedule/wsdl/index.html +6 -6
  117. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/schedule/wsdl/schedule.wsdl +1383 -1383
  118. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/schema/common.xsd +431 -431
  119. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/schema/metadatastream.xsd +534 -534
  120. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/schema/onvif.xsd +9743 -9743
  121. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/search.wsdl +1114 -1114
  122. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/thermal/wsdl/index.html +6 -6
  123. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/thermal/wsdl/thermal.wsdl +777 -777
  124. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/topics/topicns.xml +13 -13
  125. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/uplink/wsdl/index.html +6 -6
  126. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver10/uplink/wsdl/uplink.wsdl +256 -256
  127. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/analytics/humanbody.xsd +490 -490
  128. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/analytics/humanface.xsd +501 -501
  129. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/analytics/index.html +6 -6
  130. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/analytics/radiometry.xsd +388 -388
  131. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/analytics/rules.xsd +126 -126
  132. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/analytics/wsdl/analytics.wsdl +757 -757
  133. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/analytics/wsdl/index.html +6 -6
  134. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/imaging/wsdl/imaging.wsdl +603 -603
  135. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/media/wsdl/index.html +6 -6
  136. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/media/wsdl/media.wsdl +3126 -3126
  137. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/ptz/wsdl/ptz.wsdl +1450 -1450
  138. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/util/federated_search_documentation.html +1647 -1647
  139. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/util/fedsearch-docu-viewer.xsl +8 -8
  140. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/util/onvif-wsdl-viewer.xsl +2579 -2579
  141. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/wsdl/ver20/util/operationIndex.html +97 -97
  142. {onvif_python-0.4.0 → onvif_python-0.4.2/onvif_python.egg-info}/PKG-INFO +115 -113
  143. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif_python.egg-info/SOURCES.txt +0 -1
  144. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif_python.egg-info/requires.txt +3 -0
  145. {onvif_python-0.4.0 → onvif_python-0.4.2}/pyproject.toml +153 -150
  146. {onvif_python-0.4.0 → onvif_python-0.4.2}/setup.cfg +4 -4
  147. {onvif_python-0.4.0 → onvif_python-0.4.2}/tests/test_client.py +266 -266
  148. {onvif_python-0.4.0 → onvif_python-0.4.2}/tests/test_core.py +386 -388
  149. {onvif_python-0.4.0 → onvif_python-0.4.2}/tests/test_error_handlers.py +362 -362
  150. {onvif_python-0.4.0 → onvif_python-0.4.2}/tests/test_exceptions.py +340 -340
  151. onvif_python-0.4.0/onvif/cli/helpers/products.py +0 -294
  152. onvif_python-0.4.0/setup.py +0 -5
  153. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif/db/companies.db +0 -0
  154. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif_python.egg-info/dependency_links.txt +0 -0
  155. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif_python.egg-info/entry_points.txt +0 -0
  156. {onvif_python-0.4.0 → onvif_python-0.4.2}/onvif_python.egg-info/top_level.txt +0 -0
@@ -1,21 +1,21 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2025-2026 Nirsimetri Technologies®
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2025-2026 Nirsimetri Technologies®
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
@@ -1,3 +1,3 @@
1
- include LICENSE.md
2
- include README.md
1
+ include LICENSE.md
2
+ include README.md
3
3
  recursive-include onvif/wsdl *
@@ -1,113 +1,115 @@
1
- Metadata-Version: 2.4
2
- Name: onvif-python
3
- Version: 0.4.0
4
- Summary: A modern Python library for ONVIF-compliant devices
5
- Author-email: Nirsimetri Technologies® <open@nirsimetri.com>
6
- Maintainer: Kaburagi
7
- License-Expression: MIT
8
- Project-URL: Homepage, https://github.com/nirsimetri/onvif-python
9
- Project-URL: Documentation, https://nirsimetri.github.io/onvif-python
10
- Project-URL: Changelog, https://github.com/nirsimetri/onvif-python/releases
11
- Keywords: onvif,Camera,onvif-python,ip-camera,cctv,soap,surveillance,cctv cameras,soap-client,onvif-client,onvif-library,onvif-specifications
12
- Classifier: Development Status :: 5 - Production/Stable
13
- Classifier: Environment :: Console
14
- Classifier: Programming Language :: Python :: 3.10
15
- Classifier: Programming Language :: Python :: 3.11
16
- Classifier: Programming Language :: Python :: 3.12
17
- Classifier: Programming Language :: Python :: 3.13
18
- Classifier: Programming Language :: Python :: 3.14
19
- Classifier: Operating System :: OS Independent
20
- Classifier: Intended Audience :: Developers
21
- Classifier: Intended Audience :: Information Technology
22
- Classifier: Intended Audience :: Science/Research
23
- Classifier: Topic :: Software Development :: Libraries
24
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
25
- Classifier: Topic :: Security
26
- Classifier: Topic :: Multimedia :: Video
27
- Classifier: Topic :: Multimedia :: Sound/Audio
28
- Classifier: Topic :: Communications
29
- Classifier: Topic :: Text Processing :: Markup :: XML
30
- Classifier: Natural Language :: English
31
- Classifier: Natural Language :: Indonesian
32
- Requires-Python: >=3.10
33
- Description-Content-Type: text/markdown
34
- License-File: LICENSE.md
35
- Requires-Dist: zeep>=4.3.0
36
- Requires-Dist: requests>=2.32.0
37
- Requires-Dist: pyreadline3>=3.5.4; sys_platform == "win32"
38
- Provides-Extra: dev
39
- Requires-Dist: pytest>=7.0; extra == "dev"
40
- Requires-Dist: pytest-cov; extra == "dev"
41
- Requires-Dist: black; extra == "dev"
42
- Requires-Dist: mypy; extra == "dev"
43
- Requires-Dist: isort; extra == "dev"
44
- Requires-Dist: pylint; extra == "dev"
45
- Requires-Dist: docformatter; extra == "dev"
46
- Provides-Extra: docs
47
- Requires-Dist: mkdocs-material; extra == "docs"
48
- Requires-Dist: mkdocstrings[python]; extra == "docs"
49
- Requires-Dist: mkdocs-git-authors-plugin; extra == "docs"
50
- Dynamic: license-file
51
-
52
- <h1 align="center">ONVIF Python</h1>
53
-
54
- <div align="center">
55
- <a href="https://app.codacy.com/gh/nirsimetri/onvif-python/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img src="https://img.shields.io/codacy/grade/bff08a94e4d447b690cea49c6594826d?style=plastic&logo=codacy&label=Code%20Quality"/></a>
56
- <a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/Version-0.4.0-orange?logo=python&logoColor=white&color=yellow&style=plastic"></a>
57
- <a href="https://pepy.tech/projects/onvif-python"><img alt="Pepy Total Downloads" src="https://img.shields.io/pepy/dt/onvif-python?logo=pypi&logoColor=white&label=Downloads&color=red&style=plastic"></a>
58
- <br>
59
- <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>
60
- <a href="https://github.com/nirsimetri/onvif-python/actions/workflows/python-publish.yml"><img alt="Upload Python Package" src="https://github.com/nirsimetri/onvif-python/actions/workflows/python-publish.yml/badge.svg"></a>
61
- </div>
62
-
63
- <h1 align="center">
64
- <img src="https://raw.githubusercontent.com/nirsimetri/onvif-python/refs/heads/main/assets/images/carbon_onvif.png" alt="onvif" width="700px">
65
- <br>
66
- </h1>
67
-
68
- **This project provides a comprehensive and developer-friendly Python library for working with ONVIF-compliant devices.** It is designed to be reliable, easy to integrate, and flexible enough to support a wide range of ONVIF profiles and services.
69
-
70
- **[ONVIF](https://www.onvif.org) (Open Network Video Interface Forum)** is a global standard for the interface of IP-based physical security products, including network cameras, video recorders, and related systems.
71
-
72
- Behind the scenes, ONVIF communication relies on **[SOAP](https://en.wikipedia.org/wiki/SOAP) (Simple Object Access Protocol)**; an [XML](https://en.wikipedia.org/wiki/XML)-based messaging protocol with strict schema definitions ([WSDL](https://en.wikipedia.org/wiki/Web_Services_Description_Language)/[XSD](https://en.wikipedia.org/wiki/XML_Schema_(W3C))). SOAP ensures interoperability, but when used directly it can be verbose, complex, and error-prone.
73
-
74
- This library simplifies that process by wrapping SOAP communication into a clean, Pythonic API. You no longer need to handle low-level XML parsing, namespaces, or security tokens manually; the library takes care of it, letting you focus on building functionality.
75
-
76
- ## Who Is It For?
77
- - **Individual developers** exploring ONVIF or building hobby projects
78
- - **Companies** building video intelligence, analytics, or VMS platforms
79
- - **Security integrators** who need reliable ONVIF interoperability across devices
80
-
81
- ## Requirements
82
-
83
- - **Python**: 3.10 or higher
84
- - **Dependencies**:
85
- - [`zeep>=4.3.0`](https://github.com/mvantellingen/python-zeep) - SOAP client for ONVIF communication
86
- - [`requests>=2.32.0`](https://github.com/psf/requests) - HTTP library for network requests
87
-
88
- ## Installation
89
-
90
- From official [PyPI](https://pypi.org/project/onvif-python/):
91
- ```shell
92
- pip install --upgrade onvif-python
93
- ```
94
-
95
- Or clone this repository and install locally:
96
- ```shell
97
- git clone https://github.com/nirsimetri/onvif-python
98
- cd onvif-python
99
- pip install .
100
- ```
101
-
102
- Once the installation is successful, you can also immediately access the [ONVIF CLI](https://nirsimetri.github.io/onvif-python/core/onvif_cli/) via the terminal using:
103
- ```shell
104
- onvif --help
105
- ```
106
-
107
- ## Documentation
108
-
109
- For complete guide, including usage examples and API references, please visit the [Documentation Page](https://nirsimetri.github.io/onvif-python/).
110
-
111
- ## License
112
-
113
- This project is licensed under the MIT License. See [LICENSE](./LICENSE.md) for details.
1
+ Metadata-Version: 2.4
2
+ Name: onvif-python
3
+ Version: 0.4.2
4
+ Summary: A modern Python library for ONVIF-compliant devices
5
+ Author-email: Nirsimetri Technologies® <open@nirsimetri.com>
6
+ Maintainer: Kaburagi
7
+ License-Expression: MIT
8
+ Project-URL: Homepage, https://github.com/nirsimetri/onvif-python
9
+ Project-URL: Documentation, https://nirsimetri.github.io/onvif-python
10
+ Project-URL: Changelog, https://github.com/nirsimetri/onvif-python/releases
11
+ Project-URL: Issues, https://github.com/nirsimetri/onvif-python/issues
12
+ Keywords: onvif,Camera,onvif python,ip camera,cctv,soap,surveillance,cctv cameras,soap client,onvif client,onvif library,onvif specifications
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Environment :: Console
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
20
+ Classifier: Operating System :: OS Independent
21
+ Classifier: Intended Audience :: Developers
22
+ Classifier: Intended Audience :: Information Technology
23
+ Classifier: Intended Audience :: Science/Research
24
+ Classifier: Topic :: Software Development :: Libraries
25
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
+ Classifier: Topic :: Security
27
+ Classifier: Topic :: Multimedia :: Video
28
+ Classifier: Topic :: Multimedia :: Sound/Audio
29
+ Classifier: Topic :: Communications
30
+ Classifier: Topic :: Text Processing :: Markup :: XML
31
+ Requires-Python: >=3.10
32
+ Description-Content-Type: text/markdown
33
+ License-File: LICENSE.md
34
+ Requires-Dist: zeep>=4.3.0
35
+ Requires-Dist: requests>=2.32.0
36
+ Requires-Dist: pyreadline3>=3.5.4; sys_platform == "win32"
37
+ Provides-Extra: dev
38
+ Requires-Dist: pytest>=7.0; extra == "dev"
39
+ Requires-Dist: pytest-cov; extra == "dev"
40
+ Requires-Dist: black; extra == "dev"
41
+ Requires-Dist: mypy; extra == "dev"
42
+ Requires-Dist: isort; extra == "dev"
43
+ Requires-Dist: pylint; extra == "dev"
44
+ Requires-Dist: docformatter; extra == "dev"
45
+ Requires-Dist: lxml-stubs; extra == "dev"
46
+ Requires-Dist: types-setuptools; extra == "dev"
47
+ Requires-Dist: types-requests; extra == "dev"
48
+ Provides-Extra: docs
49
+ Requires-Dist: mkdocs-material; extra == "docs"
50
+ Requires-Dist: mkdocstrings[python]; extra == "docs"
51
+ Requires-Dist: mkdocs-git-authors-plugin; extra == "docs"
52
+ Dynamic: license-file
53
+
54
+ <h1 align="center">ONVIF Python</h1>
55
+
56
+ <div align="center">
57
+ <a href="https://app.codacy.com/gh/nirsimetri/onvif-python/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img src="https://img.shields.io/codacy/grade/bff08a94e4d447b690cea49c6594826d?style=plastic&logo=codacy&label=Code%20Quality"/></a>
58
+ <a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/Version-0.4.2-orange?logo=python&logoColor=white&color=yellow&style=plastic"></a>
59
+ <a href="https://pepy.tech/projects/onvif-python"><img alt="Pepy Total Downloads" src="https://img.shields.io/pepy/dt/onvif-python?logo=pypi&logoColor=white&label=Downloads&color=red&style=plastic"></a>
60
+ <br>
61
+ <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>
62
+ <a href="https://github.com/nirsimetri/onvif-python/actions/workflows/python-publish.yml"><img alt="Upload Python Package" src="https://github.com/nirsimetri/onvif-python/actions/workflows/python-publish.yml/badge.svg"></a>
63
+ </div>
64
+
65
+ <h1 align="center">
66
+ <img src="https://raw.githubusercontent.com/nirsimetri/onvif-python/refs/heads/main/assets/images/carbon_onvif.png" alt="onvif" width="700px">
67
+ <br>
68
+ </h1>
69
+
70
+ **This project provides a comprehensive and developer-friendly Python library for working with ONVIF-compliant devices.** It is designed to be reliable, easy to integrate, and flexible enough to support a wide range of ONVIF profiles and services.
71
+
72
+ **[ONVIF](https://www.onvif.org) (Open Network Video Interface Forum)** is a global standard for the interface of IP-based physical security products, including network cameras, video recorders, and related systems.
73
+
74
+ Behind the scenes, ONVIF communication relies on **[SOAP](https://en.wikipedia.org/wiki/SOAP) (Simple Object Access Protocol)**; an [XML](https://en.wikipedia.org/wiki/XML)-based messaging protocol with strict schema definitions ([WSDL](https://en.wikipedia.org/wiki/Web_Services_Description_Language)/[XSD](https://en.wikipedia.org/wiki/XML_Schema_(W3C))). SOAP ensures interoperability, but when used directly it can be verbose, complex, and error-prone.
75
+
76
+ This library simplifies that process by wrapping SOAP communication into a clean, Pythonic API. You no longer need to handle low-level XML parsing, namespaces, or security tokens manually; the library takes care of it, letting you focus on building functionality.
77
+
78
+ ## Who Is It For?
79
+ - **Individual developers** exploring ONVIF or building hobby projects
80
+ - **Companies** building video intelligence, analytics, or VMS platforms
81
+ - **Security integrators** who need reliable ONVIF interoperability across devices
82
+
83
+ ## Requirements
84
+
85
+ - **Python**: 3.10 or higher
86
+ - **Dependencies**:
87
+ - [`zeep>=4.3.0`](https://github.com/mvantellingen/python-zeep) - SOAP client for ONVIF communication
88
+ - [`requests>=2.32.0`](https://github.com/psf/requests) - HTTP library for network requests
89
+
90
+ ## Installation
91
+
92
+ From official [PyPI](https://pypi.org/project/onvif-python/):
93
+ ```shell
94
+ pip install --upgrade onvif-python
95
+ ```
96
+
97
+ Or clone this repository and install locally:
98
+ ```shell
99
+ git clone https://github.com/nirsimetri/onvif-python
100
+ cd onvif-python
101
+ pip install .
102
+ ```
103
+
104
+ Once the installation is successful, you can also immediately access the [ONVIF CLI](https://nirsimetri.github.io/onvif-python/core/onvif_cli/) via the terminal using:
105
+ ```shell
106
+ onvif --help
107
+ ```
108
+
109
+ ## Documentation
110
+
111
+ For complete guide, including usage examples and API references, please visit the [Documentation Page](https://nirsimetri.github.io/onvif-python/).
112
+
113
+ ## License
114
+
115
+ This project is licensed under the MIT License. See [LICENSE](./LICENSE.md) for details.
@@ -1,62 +1,62 @@
1
- <h1 align="center">ONVIF Python</h1>
2
-
3
- <div align="center">
4
- <a href="https://app.codacy.com/gh/nirsimetri/onvif-python/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img src="https://img.shields.io/codacy/grade/bff08a94e4d447b690cea49c6594826d?style=plastic&logo=codacy&label=Code%20Quality"/></a>
5
- <a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/Version-0.4.0-orange?logo=python&logoColor=white&color=yellow&style=plastic"></a>
6
- <a href="https://pepy.tech/projects/onvif-python"><img alt="Pepy Total Downloads" src="https://img.shields.io/pepy/dt/onvif-python?logo=pypi&logoColor=white&label=Downloads&color=red&style=plastic"></a>
7
- <br>
8
- <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>
9
- <a href="https://github.com/nirsimetri/onvif-python/actions/workflows/python-publish.yml"><img alt="Upload Python Package" src="https://github.com/nirsimetri/onvif-python/actions/workflows/python-publish.yml/badge.svg"></a>
10
- </div>
11
-
12
- <h1 align="center">
13
- <img src="https://raw.githubusercontent.com/nirsimetri/onvif-python/refs/heads/main/assets/images/carbon_onvif.png" alt="onvif" width="700px">
14
- <br>
15
- </h1>
16
-
17
- **This project provides a comprehensive and developer-friendly Python library for working with ONVIF-compliant devices.** It is designed to be reliable, easy to integrate, and flexible enough to support a wide range of ONVIF profiles and services.
18
-
19
- **[ONVIF](https://www.onvif.org) (Open Network Video Interface Forum)** is a global standard for the interface of IP-based physical security products, including network cameras, video recorders, and related systems.
20
-
21
- Behind the scenes, ONVIF communication relies on **[SOAP](https://en.wikipedia.org/wiki/SOAP) (Simple Object Access Protocol)**; an [XML](https://en.wikipedia.org/wiki/XML)-based messaging protocol with strict schema definitions ([WSDL](https://en.wikipedia.org/wiki/Web_Services_Description_Language)/[XSD](https://en.wikipedia.org/wiki/XML_Schema_(W3C))). SOAP ensures interoperability, but when used directly it can be verbose, complex, and error-prone.
22
-
23
- This library simplifies that process by wrapping SOAP communication into a clean, Pythonic API. You no longer need to handle low-level XML parsing, namespaces, or security tokens manually; the library takes care of it, letting you focus on building functionality.
24
-
25
- ## Who Is It For?
26
- - **Individual developers** exploring ONVIF or building hobby projects
27
- - **Companies** building video intelligence, analytics, or VMS platforms
28
- - **Security integrators** who need reliable ONVIF interoperability across devices
29
-
30
- ## Requirements
31
-
32
- - **Python**: 3.10 or higher
33
- - **Dependencies**:
34
- - [`zeep>=4.3.0`](https://github.com/mvantellingen/python-zeep) - SOAP client for ONVIF communication
35
- - [`requests>=2.32.0`](https://github.com/psf/requests) - HTTP library for network requests
36
-
37
- ## Installation
38
-
39
- From official [PyPI](https://pypi.org/project/onvif-python/):
40
- ```shell
41
- pip install --upgrade onvif-python
42
- ```
43
-
44
- Or clone this repository and install locally:
45
- ```shell
46
- git clone https://github.com/nirsimetri/onvif-python
47
- cd onvif-python
48
- pip install .
49
- ```
50
-
51
- Once the installation is successful, you can also immediately access the [ONVIF CLI](https://nirsimetri.github.io/onvif-python/core/onvif_cli/) via the terminal using:
52
- ```shell
53
- onvif --help
54
- ```
55
-
56
- ## Documentation
57
-
58
- For complete guide, including usage examples and API references, please visit the [Documentation Page](https://nirsimetri.github.io/onvif-python/).
59
-
60
- ## License
61
-
1
+ <h1 align="center">ONVIF Python</h1>
2
+
3
+ <div align="center">
4
+ <a href="https://app.codacy.com/gh/nirsimetri/onvif-python/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img src="https://img.shields.io/codacy/grade/bff08a94e4d447b690cea49c6594826d?style=plastic&logo=codacy&label=Code%20Quality"/></a>
5
+ <a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/Version-0.4.2-orange?logo=python&logoColor=white&color=yellow&style=plastic"></a>
6
+ <a href="https://pepy.tech/projects/onvif-python"><img alt="Pepy Total Downloads" src="https://img.shields.io/pepy/dt/onvif-python?logo=pypi&logoColor=white&label=Downloads&color=red&style=plastic"></a>
7
+ <br>
8
+ <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>
9
+ <a href="https://github.com/nirsimetri/onvif-python/actions/workflows/python-publish.yml"><img alt="Upload Python Package" src="https://github.com/nirsimetri/onvif-python/actions/workflows/python-publish.yml/badge.svg"></a>
10
+ </div>
11
+
12
+ <h1 align="center">
13
+ <img src="https://raw.githubusercontent.com/nirsimetri/onvif-python/refs/heads/main/assets/images/carbon_onvif.png" alt="onvif" width="700px">
14
+ <br>
15
+ </h1>
16
+
17
+ **This project provides a comprehensive and developer-friendly Python library for working with ONVIF-compliant devices.** It is designed to be reliable, easy to integrate, and flexible enough to support a wide range of ONVIF profiles and services.
18
+
19
+ **[ONVIF](https://www.onvif.org) (Open Network Video Interface Forum)** is a global standard for the interface of IP-based physical security products, including network cameras, video recorders, and related systems.
20
+
21
+ Behind the scenes, ONVIF communication relies on **[SOAP](https://en.wikipedia.org/wiki/SOAP) (Simple Object Access Protocol)**; an [XML](https://en.wikipedia.org/wiki/XML)-based messaging protocol with strict schema definitions ([WSDL](https://en.wikipedia.org/wiki/Web_Services_Description_Language)/[XSD](https://en.wikipedia.org/wiki/XML_Schema_(W3C))). SOAP ensures interoperability, but when used directly it can be verbose, complex, and error-prone.
22
+
23
+ This library simplifies that process by wrapping SOAP communication into a clean, Pythonic API. You no longer need to handle low-level XML parsing, namespaces, or security tokens manually; the library takes care of it, letting you focus on building functionality.
24
+
25
+ ## Who Is It For?
26
+ - **Individual developers** exploring ONVIF or building hobby projects
27
+ - **Companies** building video intelligence, analytics, or VMS platforms
28
+ - **Security integrators** who need reliable ONVIF interoperability across devices
29
+
30
+ ## Requirements
31
+
32
+ - **Python**: 3.10 or higher
33
+ - **Dependencies**:
34
+ - [`zeep>=4.3.0`](https://github.com/mvantellingen/python-zeep) - SOAP client for ONVIF communication
35
+ - [`requests>=2.32.0`](https://github.com/psf/requests) - HTTP library for network requests
36
+
37
+ ## Installation
38
+
39
+ From official [PyPI](https://pypi.org/project/onvif-python/):
40
+ ```shell
41
+ pip install --upgrade onvif-python
42
+ ```
43
+
44
+ Or clone this repository and install locally:
45
+ ```shell
46
+ git clone https://github.com/nirsimetri/onvif-python
47
+ cd onvif-python
48
+ pip install .
49
+ ```
50
+
51
+ Once the installation is successful, you can also immediately access the [ONVIF CLI](https://nirsimetri.github.io/onvif-python/core/onvif_cli/) via the terminal using:
52
+ ```shell
53
+ onvif --help
54
+ ```
55
+
56
+ ## Documentation
57
+
58
+ For complete guide, including usage examples and API references, please visit the [Documentation Page](https://nirsimetri.github.io/onvif-python/).
59
+
60
+ ## License
61
+
62
62
  This project is licensed under the MIT License. See [LICENSE](./LICENSE.md) for details.
@@ -1,29 +1,29 @@
1
- """ONVIF Python."""
2
-
3
- from onvif.cli import main as ONVIFCLI
4
- from onvif.client import ONVIFClient
5
- from onvif.operator import CacheMode
6
- from onvif.utils import (
7
- ONVIFWSDL,
8
- ONVIFDiscovery,
9
- ONVIFOperationException,
10
- ONVIFParser,
11
- ZeepPatcher,
12
- ignore_unsupported,
13
- is_action_not_supported,
14
- safe_call,
15
- )
16
-
17
- __all__ = [
18
- "ONVIFClient",
19
- "CacheMode",
20
- "ONVIFWSDL",
21
- "ONVIFOperationException",
22
- "ZeepPatcher",
23
- "ONVIFCLI",
24
- "ONVIFDiscovery",
25
- "ONVIFParser",
26
- "ignore_unsupported",
27
- "is_action_not_supported",
28
- "safe_call",
29
- ]
1
+ """ONVIF Python."""
2
+
3
+ from onvif.cli import main as ONVIFCLI
4
+ from onvif.client import ONVIFClient
5
+ from onvif.operator import CacheMode
6
+ from onvif.utils import (
7
+ ONVIFWSDL,
8
+ ONVIFDiscovery,
9
+ ONVIFOperationException,
10
+ ONVIFParser,
11
+ ZeepPatcher,
12
+ ignore_unsupported,
13
+ is_action_not_supported,
14
+ safe_call,
15
+ )
16
+
17
+ __all__ = [
18
+ "ONVIFClient",
19
+ "CacheMode",
20
+ "ONVIFWSDL",
21
+ "ONVIFOperationException",
22
+ "ZeepPatcher",
23
+ "ONVIFCLI",
24
+ "ONVIFDiscovery",
25
+ "ONVIFParser",
26
+ "ignore_unsupported",
27
+ "is_action_not_supported",
28
+ "safe_call",
29
+ ]
@@ -1,5 +1,5 @@
1
- """ONVIF CLI."""
2
-
3
- from onvif.cli.main import main
4
-
5
- __all__ = ["main"]
1
+ """ONVIF CLI."""
2
+
3
+ from onvif.cli.main import main
4
+
5
+ __all__ = ["main"]
@@ -1,7 +1,7 @@
1
- #!/usr/bin/env python3
2
- """ONVIF CLI entry point for python -m onvif.cli."""
3
-
4
- from onvif.cli.main import main
5
-
6
- if __name__ == "__main__":
7
- main()
1
+ #!/usr/bin/env python3
2
+ """ONVIF CLI entry point for python -m onvif.cli."""
3
+
4
+ from onvif.cli.main import main
5
+
6
+ if __name__ == "__main__":
7
+ main()
@@ -1,21 +1,21 @@
1
- """ONVIF CLI helpers."""
2
-
3
- from onvif.cli.helpers.discovery import discover_devices, select_device_interactive
4
- from onvif.cli.helpers.execution import execute_command, setup_warning_format
5
- from onvif.cli.helpers.files import save_output_to_file
6
- from onvif.cli.helpers.products import search_products
7
- from onvif.cli.helpers.wsdl_parser import (
8
- get_method_documentation,
9
- get_operation_type_info,
10
- )
11
-
12
- __all__ = [
13
- "search_products",
14
- "save_output_to_file",
15
- "discover_devices",
16
- "select_device_interactive",
17
- "execute_command",
18
- "setup_warning_format",
19
- "get_method_documentation",
20
- "get_operation_type_info",
21
- ]
1
+ """ONVIF CLI helpers."""
2
+
3
+ from onvif.cli.helpers.discovery import discover_devices, select_device_interactive
4
+ from onvif.cli.helpers.execution import execute_command, setup_warning_format
5
+ from onvif.cli.helpers.files import save_output_to_file
6
+ from onvif.cli.helpers.products import search_products
7
+ from onvif.cli.helpers.wsdl_parser import (
8
+ get_method_documentation,
9
+ get_operation_type_info,
10
+ )
11
+
12
+ __all__ = [
13
+ "search_products",
14
+ "save_output_to_file",
15
+ "discover_devices",
16
+ "select_device_interactive",
17
+ "execute_command",
18
+ "setup_warning_format",
19
+ "get_method_documentation",
20
+ "get_operation_type_info",
21
+ ]