viso-sdk-python 1.1.7__tar.gz → 1.1.10__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 (141) hide show
  1. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/CHANGELOG.md +10 -0
  2. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/PKG-INFO +24 -4
  3. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/conf.py +8 -10
  4. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.rst +0 -1
  5. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/pyproject.toml +1 -1
  6. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/requirements.txt +0 -1
  7. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/setup.py +0 -1
  8. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/__init__.c +72 -49
  9. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/__init__.py +2 -2
  10. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/_version.c +56 -33
  11. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/_version.py +1 -1
  12. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/constants/__init__.c +118 -237
  13. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/constants/__init__.py +0 -7
  14. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/constants/constants.c +291 -253
  15. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/constants/constants.py +1 -0
  16. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/constants/modules.c +451 -337
  17. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/constants/modules.py +18 -12
  18. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/constants/variables.c +61 -29
  19. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/detection/__init__.c +41 -18
  20. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/detection/object.c +97 -65
  21. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/detection/utils/__init__.c +41 -18
  22. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/detection/utils/nms.c +78 -48
  23. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/edge/__init__.c +41 -18
  24. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/edge/common.c +90 -58
  25. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/logging/__init__.c +62 -32
  26. viso_sdk_python-1.1.10/viso_sdk/logging/__init__.py +2 -0
  27. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/logging/logger.c +2908 -1101
  28. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/logging/logger.py +38 -1
  29. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/mqtt/__init__.c +44 -21
  30. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/mqtt/mqtt_wrapper.c +132 -92
  31. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/mqtt/utils.c +84 -44
  32. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/nodered/__init__.c +42 -19
  33. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/nodered/flow.c +122 -84
  34. viso_sdk_python-1.1.10/viso_sdk/py.typed +0 -0
  35. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/redis/__init__.c +74 -54
  36. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/redis/__init__.py +0 -1
  37. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/redis/redis_wrapper.c +2853 -940
  38. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/redis/redis_wrapper.py +66 -11
  39. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/redis/utils.c +99 -67
  40. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/redis/viso_data.c +169 -129
  41. {viso-sdk-python-1.1.7/viso_sdk/visualize → viso_sdk_python-1.1.10/viso_sdk/roi}/__init__.c +103 -81
  42. viso_sdk_python-1.1.10/viso_sdk/roi/__init__.py +1 -0
  43. viso_sdk_python-1.1.10/viso_sdk/roi/polygon_roi_manager.c +12647 -0
  44. viso_sdk_python-1.1.10/viso_sdk/roi/polygon_roi_manager.py +145 -0
  45. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/status/__init__.c +43 -20
  46. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/status/status_logger.c +144 -106
  47. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/structures/__init__.c +42 -19
  48. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/structures/rollingq.c +96 -58
  49. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk_python.egg-info/PKG-INFO +24 -4
  50. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk_python.egg-info/SOURCES.txt +5 -20
  51. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk_python.egg-info/requires.txt +0 -1
  52. viso-sdk-python-1.1.7/docs/source/viso_sdk.visualize.base.rst +0 -8
  53. viso-sdk-python-1.1.7/docs/source/viso_sdk.visualize.palette.rst +0 -8
  54. viso-sdk-python-1.1.7/docs/source/viso_sdk.visualize.rst +0 -23
  55. viso-sdk-python-1.1.7/docs/source/viso_sdk.visualize.utils.rst +0 -8
  56. viso-sdk-python-1.1.7/docs/source/viso_sdk.visualize.viz_object.rst +0 -8
  57. viso-sdk-python-1.1.7/docs/source/viso_sdk.visualize.viz_roi.rst +0 -8
  58. viso-sdk-python-1.1.7/tests/test_visualize.py +0 -85
  59. viso-sdk-python-1.1.7/viso_sdk/assets/fonts/Roboto-Medium.ttf +0 -0
  60. viso-sdk-python-1.1.7/viso_sdk/logging/__init__.py +0 -2
  61. viso-sdk-python-1.1.7/viso_sdk/visualize/__init__.py +0 -2
  62. viso-sdk-python-1.1.7/viso_sdk/visualize/base.c +0 -12160
  63. viso-sdk-python-1.1.7/viso_sdk/visualize/base.py +0 -174
  64. viso-sdk-python-1.1.7/viso_sdk/visualize/palette.c +0 -13981
  65. viso-sdk-python-1.1.7/viso_sdk/visualize/palette.py +0 -85
  66. viso-sdk-python-1.1.7/viso_sdk/visualize/utils.c +0 -13664
  67. viso-sdk-python-1.1.7/viso_sdk/visualize/utils.py +0 -197
  68. viso-sdk-python-1.1.7/viso_sdk/visualize/viz_object.c +0 -17764
  69. viso-sdk-python-1.1.7/viso_sdk/visualize/viz_object.py +0 -331
  70. viso-sdk-python-1.1.7/viso_sdk/visualize/viz_roi.c +0 -13447
  71. viso-sdk-python-1.1.7/viso_sdk/visualize/viz_roi.py +0 -179
  72. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/AUTHORS +0 -0
  73. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/COPYING +0 -0
  74. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/MANIFEST.in +0 -0
  75. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/README.md +0 -0
  76. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/Makefile +0 -0
  77. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/__init__.py +0 -0
  78. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/ext/__init__.py +0 -0
  79. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/ext/docstrings.py +0 -0
  80. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/ext/manager_tmpl.j2 +0 -0
  81. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/index.rst +0 -0
  82. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/make.bat +0 -0
  83. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/modules.rst +0 -0
  84. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk._version.rst +0 -0
  85. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.constants.constants.rst +0 -0
  86. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.constants.modules.rst +0 -0
  87. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.constants.rst +0 -0
  88. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.constants.variables.rst +0 -0
  89. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.edge.common.rst +0 -0
  90. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.edge.rst +0 -0
  91. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.logging.logger.rst +0 -0
  92. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.logging.rst +0 -0
  93. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.model.download.rst +0 -0
  94. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.model.rst +0 -0
  95. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.mqtt.mqtt_wrapper.rst +0 -0
  96. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.mqtt.rst +0 -0
  97. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.mqtt.utils.rst +0 -0
  98. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.nodered.flow.rst +0 -0
  99. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.nodered.rst +0 -0
  100. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.redis.redis_wrapper.rst +0 -0
  101. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.redis.rst +0 -0
  102. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.status.rst +0 -0
  103. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.status.status_logger.rst +0 -0
  104. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/requirements-dev.txt +0 -0
  105. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/requirements-docker.txt +0 -0
  106. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/requirements-docs.txt +0 -0
  107. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/requirements-lint.txt +0 -0
  108. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/requirements-test.txt +0 -0
  109. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/setup.cfg +0 -0
  110. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/tests/__init__.py +0 -0
  111. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/tests/conftest.py +0 -0
  112. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/tests/fixtures/flow.json +0 -0
  113. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/tests/meta/__init__.py +0 -0
  114. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/tests/meta/test_ensure_type_hints.py +0 -0
  115. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/tests/sample.png +0 -0
  116. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/tests/smoke/__init__.py +0 -0
  117. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/tests/smoke/test_dists.py +0 -0
  118. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/tests/test_flow.py +0 -0
  119. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/tests/test_status.py +0 -0
  120. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/tests/test_status_logger.py +0 -0
  121. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/tox.ini +0 -0
  122. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/constants/variables.py +0 -0
  123. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/detection/__init__.py +0 -0
  124. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/detection/object.py +0 -0
  125. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/detection/utils/__init__.py +0 -0
  126. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/detection/utils/nms.py +0 -0
  127. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/edge/__init__.py +0 -0
  128. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/edge/common.py +0 -0
  129. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/mqtt/__init__.py +0 -0
  130. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/mqtt/mqtt_wrapper.py +0 -0
  131. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/mqtt/utils.py +0 -0
  132. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/nodered/__init__.py +0 -0
  133. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/nodered/flow.py +0 -0
  134. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/redis/utils.py +0 -0
  135. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/redis/viso_data.py +0 -0
  136. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/status/__init__.py +0 -0
  137. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/status/status_logger.py +0 -0
  138. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/structures/__init__.py +0 -0
  139. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk/structures/rollingq.py +0 -0
  140. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk_python.egg-info/dependency_links.txt +0 -0
  141. {viso-sdk-python-1.1.7 → viso_sdk_python-1.1.10}/viso_sdk_python.egg-info/top_level.txt +0 -0
@@ -174,3 +174,13 @@
174
174
  ## v1.1.7
175
175
  ### Fix
176
176
  - Revert deletion of redis frames which caused issue with multiple consumers
177
+
178
+ ## v1.1.8
179
+ ### Enhancements
180
+ - Add thread pool executors to handle redis requests
181
+ - Add redis frame TTL
182
+
183
+ ## v1.1.10
184
+ ### Enhancements
185
+ - remove visualization scripts and font
186
+ - remove pillow package
@@ -1,12 +1,11 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: viso-sdk-python
3
- Version: 1.1.7
3
+ Version: 1.1.10
4
4
  Summary: VisoSDK: A Python SDK for use in Viso containers
5
5
  Home-page: https://gitlab.com/TopKamera/03_edge/Base/viso-sdk-python-public.git
6
6
  Author: support@viso.ai
7
7
  Author-email: support@viso.ai
8
8
  License: LGPLv3
9
- Platform: UNKNOWN
10
9
  Classifier: Development Status :: 5 - Production/Stable
11
10
  Classifier: Environment :: Console
12
11
  Classifier: Intended Audience :: System Administrators
@@ -24,6 +23,28 @@ Requires-Python: >=3.6.0
24
23
  Description-Content-Type: text/markdown
25
24
  License-File: COPYING
26
25
  License-File: AUTHORS
26
+ Requires-Dist: requests
27
+ Requires-Dist: requests-toolbelt
28
+ Requires-Dist: setuptools
29
+ Requires-Dist: paho-mqtt
30
+ Requires-Dist: redis
31
+ Requires-Dist: opencv-contrib-python-headless~=4.10.0
32
+ Requires-Dist: cython~=3.0.2
33
+ Requires-Dist: numpy~=1.26.2
34
+ Requires-Dist: six~=1.16.0
35
+ Requires-Dist: traceback2~=1.4.0
36
+ Requires-Dist: shapely~=2.0.7
37
+ Dynamic: author
38
+ Dynamic: author-email
39
+ Dynamic: classifier
40
+ Dynamic: description
41
+ Dynamic: description-content-type
42
+ Dynamic: home-page
43
+ Dynamic: license
44
+ Dynamic: license-file
45
+ Dynamic: requires-dist
46
+ Dynamic: requires-python
47
+ Dynamic: summary
27
48
 
28
49
  # viso-sdk-python
29
50
 
@@ -72,4 +93,3 @@ make html
72
93
  # execute html page
73
94
  cd docs/_build/index.html
74
95
  ```
75
-
@@ -16,10 +16,11 @@
16
16
 
17
17
  import os
18
18
  import sys
19
+ from runpy import run_path
20
+ import types
19
21
 
20
- sys.path.append("../")
22
+ # Do not import the package to avoid triggering heavy imports/circular deps
21
23
  sys.path.append(os.path.dirname(__file__))
22
- import viso_sdk # noqa: E402. Needed purely for readthedocs' build
23
24
 
24
25
  on_rtd = os.environ.get("READTHEDOCS", None) == "True"
25
26
 
@@ -28,13 +29,12 @@ on_rtd = os.environ.get("READTHEDOCS", None) == "True"
28
29
  # documentation root, use os.path.abspath to make it absolute, like shown here.
29
30
  sys.path.insert(0, os.path.abspath(".."))
30
31
 
31
-
32
32
  # -- Project information -----------------------------------------------------
33
33
 
34
- project = viso_sdk.__title__
35
- copyright = viso_sdk.__copyright__
36
- author = viso_sdk.__author__
37
-
34
+ _version_ns = run_path(os.path.abspath(os.path.join("..", "viso_sdk", "_version.py")))
35
+ project = _version_ns.get("__title__", "viso-sdk-python")
36
+ copyright = _version_ns.get("__copyright__", "")
37
+ author = _version_ns.get("__author__", "")
38
38
 
39
39
  # -- General configuration ---------------------------------------------------
40
40
 
@@ -80,7 +80,7 @@ html_static_path = ["_static"]
80
80
  # built documents.
81
81
  #
82
82
  # The short X.Y version.
83
- version = viso_sdk.__version__
83
+ version = _version_ns.get("__version__", "0.0.0")
84
84
  # The full version, including alpha/beta/rc tags.
85
85
  release = version
86
86
 
@@ -94,7 +94,6 @@ html_js_files = [
94
94
  ),
95
95
  ]
96
96
 
97
-
98
97
  # Add any extra paths that contain custom files (such as robots.txt or
99
98
  # .htaccess) here, relative to this directory. These files are copied
100
99
  # directly to the root of the documentation.
@@ -144,7 +143,6 @@ html_last_updated_fmt = "%b %d, %Y"
144
143
  # Output file base name for HTML help builder.
145
144
  htmlhelp_basename = "viso-sdk-doc"
146
145
 
147
-
148
146
  # -- Options for LaTeX output ---------------------------------------------
149
147
 
150
148
  latex_elements: dict = {
@@ -16,7 +16,6 @@ Subpackages
16
16
  viso_sdk.nodered
17
17
  viso_sdk.redis
18
18
  viso_sdk.status
19
- viso_sdk.visualize
20
19
 
21
20
  Submodules
22
21
  ----------
@@ -1,6 +1,6 @@
1
1
  [build-system]
2
2
  requires = [
3
- "setuptools>=61.0",
3
+ "setuptools>=69.0",
4
4
  "wheel",
5
5
  "Cython~=3.0.2",
6
6
  "setuptools-cythonize"
@@ -6,7 +6,6 @@ responses~=0.24.1
6
6
  paho-mqtt~=2.0.0
7
7
  redis~=5.0.1
8
8
  cython~=3.0.2
9
- Pillow
10
9
  numpy<2.0.0
11
10
  opencv-contrib-python-headless~=4.10.0
12
11
  six~=1.16.0
@@ -49,7 +49,6 @@ setup(
49
49
  "paho-mqtt",
50
50
  "redis",
51
51
  "opencv-contrib-python-headless~=4.10.0",
52
- "Pillow",
53
52
  "cython~=3.0.2",
54
53
  "numpy~=1.26.2",
55
54
  "six~=1.16.0",
@@ -1,4 +1,4 @@
1
- /* Generated by Cython 3.1.2 */
1
+ /* Generated by Cython 3.1.6 */
2
2
 
3
3
  /* BEGIN: Cython Metadata
4
4
  {
@@ -16,8 +16,16 @@ END: Cython Metadata */
16
16
  #define PY_SSIZE_T_CLEAN
17
17
  #endif /* PY_SSIZE_T_CLEAN */
18
18
  /* InitLimitedAPI */
19
- #if defined(Py_LIMITED_API) && !defined(CYTHON_LIMITED_API)
19
+ #if defined(Py_LIMITED_API)
20
+ #if !defined(CYTHON_LIMITED_API)
20
21
  #define CYTHON_LIMITED_API 1
22
+ #endif
23
+ #elif defined(CYTHON_LIMITED_API)
24
+ #ifdef _MSC_VER
25
+ #pragma message ("Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead.")
26
+ #else
27
+ #warning Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead.
28
+ #endif
21
29
  #endif
22
30
 
23
31
  #include "Python.h"
@@ -26,8 +34,8 @@ END: Cython Metadata */
26
34
  #elif PY_VERSION_HEX < 0x03080000
27
35
  #error Cython requires Python 3.8+.
28
36
  #else
29
- #define __PYX_ABI_VERSION "3_1_2"
30
- #define CYTHON_HEX_VERSION 0x030102F0
37
+ #define __PYX_ABI_VERSION "3_1_6"
38
+ #define CYTHON_HEX_VERSION 0x030106F0
31
39
  #define CYTHON_FUTURE_DIVISION 1
32
40
  /* CModulePreamble */
33
41
  #include <stddef.h>
@@ -390,6 +398,9 @@ END: Cython Metadata */
390
398
  enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
391
399
  #endif
392
400
  #endif
401
+ #ifndef CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME
402
+ #define CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME 100
403
+ #endif
393
404
  #ifndef __has_attribute
394
405
  #define __has_attribute(x) 0
395
406
  #endif
@@ -1282,6 +1293,7 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
1282
1293
  typedef sdigit __Pyx_compact_pylong;
1283
1294
  typedef digit __Pyx_compact_upylong;
1284
1295
  #endif
1296
+ static CYTHON_INLINE int __Pyx_PyLong_CompactAsLong(PyObject *x, long *return_value);
1285
1297
  #if PY_VERSION_HEX >= 0x030C00A5
1286
1298
  #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit)
1287
1299
  #else
@@ -1926,6 +1938,7 @@ static PyObject *__pyx_builtin_DeprecationWarning;
1926
1938
  /* #### Code section: string_decls ### */
1927
1939
  static const char __pyx_k_[] = ".";
1928
1940
  static const char __pyx_k__2[] = "?";
1941
+ static const char __pyx_k_roi[] = "roi";
1929
1942
  static const char __pyx_k_edge[] = "edge";
1930
1943
  static const char __pyx_k_main[] = "__main__";
1931
1944
  static const char __pyx_k_mqtt[] = "mqtt";
@@ -1950,7 +1963,6 @@ static const char __pyx_k_viso_sdk[] = "viso_sdk";
1950
1963
  static const char __pyx_k_warnings[] = "warnings";
1951
1964
  static const char __pyx_k_constants[] = "constants";
1952
1965
  static const char __pyx_k_copyright[] = "__copyright__";
1953
- static const char __pyx_k_visualize[] = "visualize";
1954
1966
  static const char __pyx_k_viso_sdk_2[] = "^viso_sdk";
1955
1967
  static const char __pyx_k_initializing[] = "_initializing";
1956
1968
  static const char __pyx_k_filterwarnings[] = "filterwarnings";
@@ -2051,16 +2063,16 @@ static __pyx_mstatetype * const __pyx_mstate_global = &__pyx_mstate_global_stati
2051
2063
  #define __pyx_n_u_nodered __pyx_string_tab[20]
2052
2064
  #define __pyx_n_u_qualname __pyx_string_tab[21]
2053
2065
  #define __pyx_n_u_redis __pyx_string_tab[22]
2054
- #define __pyx_n_u_spec __pyx_string_tab[23]
2055
- #define __pyx_n_u_status __pyx_string_tab[24]
2056
- #define __pyx_n_u_test __pyx_string_tab[25]
2057
- #define __pyx_n_u_title __pyx_string_tab[26]
2058
- #define __pyx_n_u_version __pyx_string_tab[27]
2059
- #define __pyx_n_u_viso_sdk __pyx_string_tab[28]
2060
- #define __pyx_kp_u_viso_sdk_2 __pyx_string_tab[29]
2061
- #define __pyx_kp_u_viso_sdk___init __pyx_string_tab[30]
2062
- #define __pyx_n_u_viso_sdk__version __pyx_string_tab[31]
2063
- #define __pyx_n_u_visualize __pyx_string_tab[32]
2066
+ #define __pyx_n_u_roi __pyx_string_tab[23]
2067
+ #define __pyx_n_u_spec __pyx_string_tab[24]
2068
+ #define __pyx_n_u_status __pyx_string_tab[25]
2069
+ #define __pyx_n_u_test __pyx_string_tab[26]
2070
+ #define __pyx_n_u_title __pyx_string_tab[27]
2071
+ #define __pyx_n_u_version __pyx_string_tab[28]
2072
+ #define __pyx_n_u_viso_sdk __pyx_string_tab[29]
2073
+ #define __pyx_kp_u_viso_sdk_2 __pyx_string_tab[30]
2074
+ #define __pyx_kp_u_viso_sdk___init __pyx_string_tab[31]
2075
+ #define __pyx_n_u_viso_sdk__version __pyx_string_tab[32]
2064
2076
  #define __pyx_n_u_warnings __pyx_string_tab[33]
2065
2077
  /* #### Code section: module_state_clear ### */
2066
2078
  #if CYTHON_USE_MODULE_STATE
@@ -2426,7 +2438,7 @@ if (!__Pyx_RefNanny) {
2426
2438
  #endif
2427
2439
 
2428
2440
  __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2429
- if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2441
+ if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2430
2442
  #ifdef __Pxy_PyFrame_Initialize_Offsets
2431
2443
  __Pxy_PyFrame_Initialize_Offsets();
2432
2444
  #endif
@@ -2434,30 +2446,30 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2434
2446
  __pyx_mstate->__pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
2435
2447
  __pyx_mstate->__pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
2436
2448
  /*--- Initialize various global constants etc. ---*/
2437
- if (__Pyx_InitConstants(__pyx_mstate) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2449
+ if (__Pyx_InitConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2438
2450
  stringtab_initialized = 1;
2439
- if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2451
+ if (__Pyx_InitGlobals() < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2440
2452
  #if 0 || defined(__Pyx_CyFunction_USED) || defined(__Pyx_FusedFunction_USED) || defined(__Pyx_Coroutine_USED) || defined(__Pyx_Generator_USED) || defined(__Pyx_AsyncGen_USED)
2441
- if (__pyx_CommonTypesMetaclass_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2453
+ if (__pyx_CommonTypesMetaclass_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2442
2454
  #endif
2443
2455
  #ifdef __Pyx_CyFunction_USED
2444
- if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2456
+ if (__pyx_CyFunction_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2445
2457
  #endif
2446
2458
  #ifdef __Pyx_FusedFunction_USED
2447
- if (__pyx_FusedFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2459
+ if (__pyx_FusedFunction_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2448
2460
  #endif
2449
2461
  #ifdef __Pyx_Coroutine_USED
2450
- if (__pyx_Coroutine_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2462
+ if (__pyx_Coroutine_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2451
2463
  #endif
2452
2464
  #ifdef __Pyx_Generator_USED
2453
- if (__pyx_Generator_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2465
+ if (__pyx_Generator_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2454
2466
  #endif
2455
2467
  #ifdef __Pyx_AsyncGen_USED
2456
- if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2468
+ if (__pyx_AsyncGen_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2457
2469
  #endif
2458
2470
  /*--- Library function declarations ---*/
2459
2471
  if (__pyx_module_is_main_viso_sdk____init__) {
2460
- if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_name, __pyx_mstate_global->__pyx_n_u_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2472
+ if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_name, __pyx_mstate_global->__pyx_n_u_main) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2461
2473
  }
2462
2474
  if (!CYTHON_PEP489_MULTI_PHASE_INIT) {
2463
2475
  if (unlikely((__Pyx_SetPackagePathFromImportLib(__pyx_mstate_global->__pyx_kp_u_viso_sdk___init) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
@@ -2469,10 +2481,10 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2469
2481
  }
2470
2482
  }
2471
2483
  /*--- Builtin init code ---*/
2472
- if (__Pyx_InitCachedBuiltins(__pyx_mstate) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2484
+ if (__Pyx_InitCachedBuiltins(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2473
2485
  /*--- Constants init code ---*/
2474
- if (__Pyx_InitCachedConstants(__pyx_mstate) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2475
- if (__Pyx_CreateCodeObjects(__pyx_mstate) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2486
+ if (__Pyx_InitCachedConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2487
+ if (__Pyx_CreateCodeObjects(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2476
2488
  /*--- Global type/function init code ---*/
2477
2489
  (void)__Pyx_modinit_global_init_code(__pyx_mstate);
2478
2490
  (void)__Pyx_modinit_variable_export_code(__pyx_mstate);
@@ -2492,7 +2504,7 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2492
2504
  */
2493
2505
  __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_mstate_global->__pyx_n_u_warnings, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
2494
2506
  __Pyx_GOTREF(__pyx_t_2);
2495
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_warnings, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error)
2507
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_warnings, __pyx_t_2) < (0)) __PYX_ERR(0, 19, __pyx_L1_error)
2496
2508
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2497
2509
 
2498
2510
  /* "viso_sdk/__init__.py":23
@@ -2502,7 +2514,7 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2502
2514
  * edge,
2503
2515
  * logging,
2504
2516
  */
2505
- __pyx_t_2 = __Pyx_PyList_Pack(8, __pyx_mstate_global->__pyx_n_u_constants, __pyx_mstate_global->__pyx_n_u_edge, __pyx_mstate_global->__pyx_n_u_logging, __pyx_mstate_global->__pyx_n_u_mqtt, __pyx_mstate_global->__pyx_n_u_nodered, __pyx_mstate_global->__pyx_n_u_redis, __pyx_mstate_global->__pyx_n_u_visualize, __pyx_mstate_global->__pyx_n_u_status); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error)
2517
+ __pyx_t_2 = __Pyx_PyList_Pack(8, __pyx_mstate_global->__pyx_n_u_constants, __pyx_mstate_global->__pyx_n_u_edge, __pyx_mstate_global->__pyx_n_u_logging, __pyx_mstate_global->__pyx_n_u_mqtt, __pyx_mstate_global->__pyx_n_u_nodered, __pyx_mstate_global->__pyx_n_u_redis, __pyx_mstate_global->__pyx_n_u_roi, __pyx_mstate_global->__pyx_n_u_status); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error)
2506
2518
  __Pyx_GOTREF(__pyx_t_2);
2507
2519
 
2508
2520
  /* "viso_sdk/__init__.py":22
@@ -2517,35 +2529,35 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2517
2529
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2518
2530
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_constants); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
2519
2531
  __Pyx_GOTREF(__pyx_t_2);
2520
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_constants, __pyx_t_2) < 0) __PYX_ERR(0, 23, __pyx_L1_error)
2532
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_constants, __pyx_t_2) < (0)) __PYX_ERR(0, 23, __pyx_L1_error)
2521
2533
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2522
2534
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_edge); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
2523
2535
  __Pyx_GOTREF(__pyx_t_2);
2524
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_edge, __pyx_t_2) < 0) __PYX_ERR(0, 24, __pyx_L1_error)
2536
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_edge, __pyx_t_2) < (0)) __PYX_ERR(0, 24, __pyx_L1_error)
2525
2537
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2526
2538
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
2527
2539
  __Pyx_GOTREF(__pyx_t_2);
2528
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_logging, __pyx_t_2) < 0) __PYX_ERR(0, 25, __pyx_L1_error)
2540
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_logging, __pyx_t_2) < (0)) __PYX_ERR(0, 25, __pyx_L1_error)
2529
2541
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2530
2542
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_mqtt); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
2531
2543
  __Pyx_GOTREF(__pyx_t_2);
2532
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_mqtt, __pyx_t_2) < 0) __PYX_ERR(0, 26, __pyx_L1_error)
2544
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_mqtt, __pyx_t_2) < (0)) __PYX_ERR(0, 26, __pyx_L1_error)
2533
2545
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2534
2546
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_nodered); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
2535
2547
  __Pyx_GOTREF(__pyx_t_2);
2536
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_nodered, __pyx_t_2) < 0) __PYX_ERR(0, 27, __pyx_L1_error)
2548
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_nodered, __pyx_t_2) < (0)) __PYX_ERR(0, 27, __pyx_L1_error)
2537
2549
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2538
2550
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_redis); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
2539
2551
  __Pyx_GOTREF(__pyx_t_2);
2540
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_redis, __pyx_t_2) < 0) __PYX_ERR(0, 28, __pyx_L1_error)
2552
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_redis, __pyx_t_2) < (0)) __PYX_ERR(0, 28, __pyx_L1_error)
2541
2553
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2542
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_visualize); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
2554
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_roi); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
2543
2555
  __Pyx_GOTREF(__pyx_t_2);
2544
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_visualize, __pyx_t_2) < 0) __PYX_ERR(0, 29, __pyx_L1_error)
2556
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_roi, __pyx_t_2) < (0)) __PYX_ERR(0, 29, __pyx_L1_error)
2545
2557
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2546
2558
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_status); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
2547
2559
  __Pyx_GOTREF(__pyx_t_2);
2548
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_status, __pyx_t_2) < 0) __PYX_ERR(0, 30, __pyx_L1_error)
2560
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_status, __pyx_t_2) < (0)) __PYX_ERR(0, 30, __pyx_L1_error)
2549
2561
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2550
2562
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2551
2563
 
@@ -2571,27 +2583,27 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2571
2583
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2572
2584
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_author); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
2573
2585
  __Pyx_GOTREF(__pyx_t_3);
2574
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_author, __pyx_t_3) < 0) __PYX_ERR(0, 34, __pyx_L1_error)
2586
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_author, __pyx_t_3) < (0)) __PYX_ERR(0, 34, __pyx_L1_error)
2575
2587
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2576
2588
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_copyright); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
2577
2589
  __Pyx_GOTREF(__pyx_t_3);
2578
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_copyright, __pyx_t_3) < 0) __PYX_ERR(0, 35, __pyx_L1_error)
2590
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_copyright, __pyx_t_3) < (0)) __PYX_ERR(0, 35, __pyx_L1_error)
2579
2591
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2580
2592
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_email); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
2581
2593
  __Pyx_GOTREF(__pyx_t_3);
2582
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_email, __pyx_t_3) < 0) __PYX_ERR(0, 36, __pyx_L1_error)
2594
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_email, __pyx_t_3) < (0)) __PYX_ERR(0, 36, __pyx_L1_error)
2583
2595
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2584
2596
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_license); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
2585
2597
  __Pyx_GOTREF(__pyx_t_3);
2586
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_license, __pyx_t_3) < 0) __PYX_ERR(0, 37, __pyx_L1_error)
2598
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_license, __pyx_t_3) < (0)) __PYX_ERR(0, 37, __pyx_L1_error)
2587
2599
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2588
2600
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_title); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
2589
2601
  __Pyx_GOTREF(__pyx_t_3);
2590
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_title, __pyx_t_3) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
2602
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_title, __pyx_t_3) < (0)) __PYX_ERR(0, 38, __pyx_L1_error)
2591
2603
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2592
2604
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_version); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
2593
2605
  __Pyx_GOTREF(__pyx_t_3);
2594
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_version, __pyx_t_3) < 0) __PYX_ERR(0, 39, __pyx_L1_error)
2606
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_version, __pyx_t_3) < (0)) __PYX_ERR(0, 39, __pyx_L1_error)
2595
2607
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2596
2608
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2597
2609
 
@@ -2611,8 +2623,8 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2611
2623
  PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_3, __pyx_mstate_global->__pyx_n_u_default};
2612
2624
  __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43, __pyx_L1_error)
2613
2625
  __Pyx_GOTREF(__pyx_t_4);
2614
- if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_builtin_DeprecationWarning, __pyx_t_4, __pyx_callargs+2, 0) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
2615
- if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_module, __pyx_mstate_global->__pyx_kp_u_viso_sdk_2, __pyx_t_4, __pyx_callargs+2, 1) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
2626
+ if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_builtin_DeprecationWarning, __pyx_t_4, __pyx_callargs+2, 0) < (0)) __PYX_ERR(0, 43, __pyx_L1_error)
2627
+ if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_module, __pyx_mstate_global->__pyx_kp_u_viso_sdk_2, __pyx_t_4, __pyx_callargs+2, 1) < (0)) __PYX_ERR(0, 43, __pyx_L1_error)
2616
2628
  __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder(__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
2617
2629
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
2618
2630
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -2629,7 +2641,7 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2629
2641
  */
2630
2642
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
2631
2643
  __Pyx_GOTREF(__pyx_t_2);
2632
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_test, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2644
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_test, __pyx_t_2) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2633
2645
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2634
2646
 
2635
2647
  /*--- Wrapped vars code ---*/
@@ -2716,6 +2728,7 @@ static const __Pyx_StringTabEntry __pyx_string_tab[] = {
2716
2728
  {__pyx_k_nodered, sizeof(__pyx_k_nodered), 0, 1, 1}, /* PyObject cname: __pyx_n_u_nodered */
2717
2729
  {__pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 1, 1}, /* PyObject cname: __pyx_n_u_qualname */
2718
2730
  {__pyx_k_redis, sizeof(__pyx_k_redis), 0, 1, 1}, /* PyObject cname: __pyx_n_u_redis */
2731
+ {__pyx_k_roi, sizeof(__pyx_k_roi), 0, 1, 1}, /* PyObject cname: __pyx_n_u_roi */
2719
2732
  {__pyx_k_spec, sizeof(__pyx_k_spec), 0, 1, 1}, /* PyObject cname: __pyx_n_u_spec */
2720
2733
  {__pyx_k_status, sizeof(__pyx_k_status), 0, 1, 1}, /* PyObject cname: __pyx_n_u_status */
2721
2734
  {__pyx_k_test, sizeof(__pyx_k_test), 0, 1, 1}, /* PyObject cname: __pyx_n_u_test */
@@ -2725,7 +2738,6 @@ static const __Pyx_StringTabEntry __pyx_string_tab[] = {
2725
2738
  {__pyx_k_viso_sdk_2, sizeof(__pyx_k_viso_sdk_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_viso_sdk_2 */
2726
2739
  {__pyx_k_viso_sdk___init, sizeof(__pyx_k_viso_sdk___init), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_viso_sdk___init */
2727
2740
  {__pyx_k_viso_sdk__version, sizeof(__pyx_k_viso_sdk__version), 0, 1, 1}, /* PyObject cname: __pyx_n_u_viso_sdk__version */
2728
- {__pyx_k_visualize, sizeof(__pyx_k_visualize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_visualize */
2729
2741
  {__pyx_k_warnings, sizeof(__pyx_k_warnings), 0, 1, 1}, /* PyObject cname: __pyx_n_u_warnings */
2730
2742
  {0, 0, 0, 0, 0}
2731
2743
  };
@@ -4892,6 +4904,17 @@ static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
4892
4904
  static CYTHON_INLINE PyObject * __Pyx_PyLong_FromSize_t(size_t ival) {
4893
4905
  return PyLong_FromSize_t(ival);
4894
4906
  }
4907
+ #if CYTHON_USE_PYLONG_INTERNALS
4908
+ static CYTHON_INLINE int __Pyx_PyLong_CompactAsLong(PyObject *x, long *return_value) {
4909
+ if (unlikely(!__Pyx_PyLong_IsCompact(x)))
4910
+ return 0;
4911
+ Py_ssize_t value = __Pyx_PyLong_CompactValue(x);
4912
+ if ((sizeof(long) < sizeof(Py_ssize_t)) && unlikely(value != (long) value))
4913
+ return 0;
4914
+ *return_value = (long) value;
4915
+ return 1;
4916
+ }
4917
+ #endif
4895
4918
 
4896
4919
 
4897
4920
  /* MultiPhaseInitModuleState */
@@ -26,8 +26,8 @@ from viso_sdk import (
26
26
  mqtt,
27
27
  nodered,
28
28
  redis,
29
- visualize,
30
- status
29
+ roi,
30
+ status,
31
31
  )
32
32
 
33
33
  from viso_sdk._version import ( # noqa: F401