viso-sdk-python 1.1.8__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.8 → viso_sdk_python-1.1.10}/CHANGELOG.md +5 -0
  2. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/PKG-INFO +24 -4
  3. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/conf.py +8 -10
  4. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.rst +0 -1
  5. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/pyproject.toml +1 -1
  6. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/requirements.txt +0 -1
  7. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/setup.py +0 -1
  8. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/__init__.c +69 -49
  9. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/__init__.py +2 -2
  10. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/_version.c +53 -33
  11. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/_version.py +1 -1
  12. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/constants/__init__.c +115 -237
  13. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/constants/__init__.py +0 -7
  14. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/constants/constants.c +288 -253
  15. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/constants/constants.py +1 -0
  16. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/constants/modules.c +448 -337
  17. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/constants/modules.py +18 -12
  18. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/constants/variables.c +53 -28
  19. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/detection/__init__.c +38 -18
  20. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/detection/object.c +89 -64
  21. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/detection/utils/__init__.c +38 -18
  22. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/detection/utils/nms.c +70 -47
  23. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/edge/__init__.c +38 -18
  24. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/edge/common.c +81 -56
  25. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/logging/__init__.c +59 -32
  26. viso_sdk_python-1.1.10/viso_sdk/logging/__init__.py +2 -0
  27. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/logging/logger.c +2901 -1101
  28. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/logging/logger.py +38 -1
  29. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/mqtt/__init__.c +41 -21
  30. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/mqtt/mqtt_wrapper.c +116 -91
  31. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/mqtt/utils.c +68 -43
  32. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/nodered/__init__.c +39 -19
  33. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/nodered/flow.c +103 -80
  34. viso_sdk_python-1.1.10/viso_sdk/py.typed +0 -0
  35. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/redis/__init__.c +71 -54
  36. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/redis/__init__.py +0 -1
  37. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/redis/redis_wrapper.c +118 -93
  38. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/redis/utils.c +91 -66
  39. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/redis/viso_data.c +151 -126
  40. {viso-sdk-python-1.1.8/viso_sdk/visualize → viso_sdk_python-1.1.10/viso_sdk/roi}/__init__.c +100 -81
  41. viso_sdk_python-1.1.10/viso_sdk/roi/__init__.py +1 -0
  42. viso_sdk_python-1.1.10/viso_sdk/roi/polygon_roi_manager.c +12647 -0
  43. viso_sdk_python-1.1.10/viso_sdk/roi/polygon_roi_manager.py +145 -0
  44. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/status/__init__.c +40 -20
  45. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/status/status_logger.c +128 -105
  46. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/structures/__init__.c +39 -19
  47. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/structures/rollingq.c +78 -55
  48. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk_python.egg-info/PKG-INFO +24 -4
  49. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk_python.egg-info/SOURCES.txt +5 -20
  50. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk_python.egg-info/requires.txt +0 -1
  51. viso-sdk-python-1.1.8/docs/source/viso_sdk.visualize.base.rst +0 -8
  52. viso-sdk-python-1.1.8/docs/source/viso_sdk.visualize.palette.rst +0 -8
  53. viso-sdk-python-1.1.8/docs/source/viso_sdk.visualize.rst +0 -23
  54. viso-sdk-python-1.1.8/docs/source/viso_sdk.visualize.utils.rst +0 -8
  55. viso-sdk-python-1.1.8/docs/source/viso_sdk.visualize.viz_object.rst +0 -8
  56. viso-sdk-python-1.1.8/docs/source/viso_sdk.visualize.viz_roi.rst +0 -8
  57. viso-sdk-python-1.1.8/tests/test_visualize.py +0 -85
  58. viso-sdk-python-1.1.8/viso_sdk/assets/fonts/Roboto-Medium.ttf +0 -0
  59. viso-sdk-python-1.1.8/viso_sdk/logging/__init__.py +0 -2
  60. viso-sdk-python-1.1.8/viso_sdk/visualize/__init__.py +0 -2
  61. viso-sdk-python-1.1.8/viso_sdk/visualize/base.c +0 -12175
  62. viso-sdk-python-1.1.8/viso_sdk/visualize/base.py +0 -174
  63. viso-sdk-python-1.1.8/viso_sdk/visualize/palette.c +0 -13996
  64. viso-sdk-python-1.1.8/viso_sdk/visualize/palette.py +0 -85
  65. viso-sdk-python-1.1.8/viso_sdk/visualize/utils.c +0 -13679
  66. viso-sdk-python-1.1.8/viso_sdk/visualize/utils.py +0 -197
  67. viso-sdk-python-1.1.8/viso_sdk/visualize/viz_object.c +0 -17779
  68. viso-sdk-python-1.1.8/viso_sdk/visualize/viz_object.py +0 -331
  69. viso-sdk-python-1.1.8/viso_sdk/visualize/viz_roi.c +0 -13462
  70. viso-sdk-python-1.1.8/viso_sdk/visualize/viz_roi.py +0 -179
  71. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/AUTHORS +0 -0
  72. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/COPYING +0 -0
  73. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/MANIFEST.in +0 -0
  74. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/README.md +0 -0
  75. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/Makefile +0 -0
  76. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/__init__.py +0 -0
  77. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/ext/__init__.py +0 -0
  78. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/ext/docstrings.py +0 -0
  79. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/ext/manager_tmpl.j2 +0 -0
  80. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/index.rst +0 -0
  81. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/make.bat +0 -0
  82. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/modules.rst +0 -0
  83. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk._version.rst +0 -0
  84. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.constants.constants.rst +0 -0
  85. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.constants.modules.rst +0 -0
  86. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.constants.rst +0 -0
  87. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.constants.variables.rst +0 -0
  88. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.edge.common.rst +0 -0
  89. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.edge.rst +0 -0
  90. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.logging.logger.rst +0 -0
  91. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.logging.rst +0 -0
  92. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.model.download.rst +0 -0
  93. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.model.rst +0 -0
  94. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.mqtt.mqtt_wrapper.rst +0 -0
  95. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.mqtt.rst +0 -0
  96. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.mqtt.utils.rst +0 -0
  97. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.nodered.flow.rst +0 -0
  98. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.nodered.rst +0 -0
  99. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.redis.redis_wrapper.rst +0 -0
  100. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.redis.rst +0 -0
  101. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.status.rst +0 -0
  102. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/docs/source/viso_sdk.status.status_logger.rst +0 -0
  103. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/requirements-dev.txt +0 -0
  104. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/requirements-docker.txt +0 -0
  105. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/requirements-docs.txt +0 -0
  106. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/requirements-lint.txt +0 -0
  107. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/requirements-test.txt +0 -0
  108. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/setup.cfg +0 -0
  109. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/tests/__init__.py +0 -0
  110. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/tests/conftest.py +0 -0
  111. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/tests/fixtures/flow.json +0 -0
  112. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/tests/meta/__init__.py +0 -0
  113. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/tests/meta/test_ensure_type_hints.py +0 -0
  114. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/tests/sample.png +0 -0
  115. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/tests/smoke/__init__.py +0 -0
  116. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/tests/smoke/test_dists.py +0 -0
  117. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/tests/test_flow.py +0 -0
  118. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/tests/test_status.py +0 -0
  119. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/tests/test_status_logger.py +0 -0
  120. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/tox.ini +0 -0
  121. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/constants/variables.py +0 -0
  122. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/detection/__init__.py +0 -0
  123. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/detection/object.py +0 -0
  124. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/detection/utils/__init__.py +0 -0
  125. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/detection/utils/nms.py +0 -0
  126. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/edge/__init__.py +0 -0
  127. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/edge/common.py +0 -0
  128. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/mqtt/__init__.py +0 -0
  129. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/mqtt/mqtt_wrapper.py +0 -0
  130. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/mqtt/utils.py +0 -0
  131. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/nodered/__init__.py +0 -0
  132. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/nodered/flow.py +0 -0
  133. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/redis/redis_wrapper.py +0 -0
  134. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/redis/utils.py +0 -0
  135. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/redis/viso_data.py +0 -0
  136. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/status/__init__.py +0 -0
  137. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/status/status_logger.py +0 -0
  138. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/structures/__init__.py +0 -0
  139. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk/structures/rollingq.py +0 -0
  140. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk_python.egg-info/dependency_links.txt +0 -0
  141. {viso-sdk-python-1.1.8 → viso_sdk_python-1.1.10}/viso_sdk_python.egg-info/top_level.txt +0 -0
@@ -179,3 +179,8 @@
179
179
  ### Enhancements
180
180
  - Add thread pool executors to handle redis requests
181
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.8
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.3 */
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_3"
30
- #define CYTHON_HEX_VERSION 0x030103F0
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>
@@ -1285,6 +1293,7 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
1285
1293
  typedef sdigit __Pyx_compact_pylong;
1286
1294
  typedef digit __Pyx_compact_upylong;
1287
1295
  #endif
1296
+ static CYTHON_INLINE int __Pyx_PyLong_CompactAsLong(PyObject *x, long *return_value);
1288
1297
  #if PY_VERSION_HEX >= 0x030C00A5
1289
1298
  #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit)
1290
1299
  #else
@@ -1929,6 +1938,7 @@ static PyObject *__pyx_builtin_DeprecationWarning;
1929
1938
  /* #### Code section: string_decls ### */
1930
1939
  static const char __pyx_k_[] = ".";
1931
1940
  static const char __pyx_k__2[] = "?";
1941
+ static const char __pyx_k_roi[] = "roi";
1932
1942
  static const char __pyx_k_edge[] = "edge";
1933
1943
  static const char __pyx_k_main[] = "__main__";
1934
1944
  static const char __pyx_k_mqtt[] = "mqtt";
@@ -1953,7 +1963,6 @@ static const char __pyx_k_viso_sdk[] = "viso_sdk";
1953
1963
  static const char __pyx_k_warnings[] = "warnings";
1954
1964
  static const char __pyx_k_constants[] = "constants";
1955
1965
  static const char __pyx_k_copyright[] = "__copyright__";
1956
- static const char __pyx_k_visualize[] = "visualize";
1957
1966
  static const char __pyx_k_viso_sdk_2[] = "^viso_sdk";
1958
1967
  static const char __pyx_k_initializing[] = "_initializing";
1959
1968
  static const char __pyx_k_filterwarnings[] = "filterwarnings";
@@ -2054,16 +2063,16 @@ static __pyx_mstatetype * const __pyx_mstate_global = &__pyx_mstate_global_stati
2054
2063
  #define __pyx_n_u_nodered __pyx_string_tab[20]
2055
2064
  #define __pyx_n_u_qualname __pyx_string_tab[21]
2056
2065
  #define __pyx_n_u_redis __pyx_string_tab[22]
2057
- #define __pyx_n_u_spec __pyx_string_tab[23]
2058
- #define __pyx_n_u_status __pyx_string_tab[24]
2059
- #define __pyx_n_u_test __pyx_string_tab[25]
2060
- #define __pyx_n_u_title __pyx_string_tab[26]
2061
- #define __pyx_n_u_version __pyx_string_tab[27]
2062
- #define __pyx_n_u_viso_sdk __pyx_string_tab[28]
2063
- #define __pyx_kp_u_viso_sdk_2 __pyx_string_tab[29]
2064
- #define __pyx_kp_u_viso_sdk___init __pyx_string_tab[30]
2065
- #define __pyx_n_u_viso_sdk__version __pyx_string_tab[31]
2066
- #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]
2067
2076
  #define __pyx_n_u_warnings __pyx_string_tab[33]
2068
2077
  /* #### Code section: module_state_clear ### */
2069
2078
  #if CYTHON_USE_MODULE_STATE
@@ -2429,7 +2438,7 @@ if (!__Pyx_RefNanny) {
2429
2438
  #endif
2430
2439
 
2431
2440
  __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2432
- 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)
2433
2442
  #ifdef __Pxy_PyFrame_Initialize_Offsets
2434
2443
  __Pxy_PyFrame_Initialize_Offsets();
2435
2444
  #endif
@@ -2437,30 +2446,30 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2437
2446
  __pyx_mstate->__pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
2438
2447
  __pyx_mstate->__pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
2439
2448
  /*--- Initialize various global constants etc. ---*/
2440
- 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)
2441
2450
  stringtab_initialized = 1;
2442
- if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2451
+ if (__Pyx_InitGlobals() < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
2443
2452
  #if 0 || defined(__Pyx_CyFunction_USED) || defined(__Pyx_FusedFunction_USED) || defined(__Pyx_Coroutine_USED) || defined(__Pyx_Generator_USED) || defined(__Pyx_AsyncGen_USED)
2444
- 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)
2445
2454
  #endif
2446
2455
  #ifdef __Pyx_CyFunction_USED
2447
- 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)
2448
2457
  #endif
2449
2458
  #ifdef __Pyx_FusedFunction_USED
2450
- 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)
2451
2460
  #endif
2452
2461
  #ifdef __Pyx_Coroutine_USED
2453
- 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)
2454
2463
  #endif
2455
2464
  #ifdef __Pyx_Generator_USED
2456
- 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)
2457
2466
  #endif
2458
2467
  #ifdef __Pyx_AsyncGen_USED
2459
- 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)
2460
2469
  #endif
2461
2470
  /*--- Library function declarations ---*/
2462
2471
  if (__pyx_module_is_main_viso_sdk____init__) {
2463
- 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)
2464
2473
  }
2465
2474
  if (!CYTHON_PEP489_MULTI_PHASE_INIT) {
2466
2475
  if (unlikely((__Pyx_SetPackagePathFromImportLib(__pyx_mstate_global->__pyx_kp_u_viso_sdk___init) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
@@ -2472,10 +2481,10 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2472
2481
  }
2473
2482
  }
2474
2483
  /*--- Builtin init code ---*/
2475
- 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)
2476
2485
  /*--- Constants init code ---*/
2477
- if (__Pyx_InitCachedConstants(__pyx_mstate) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
2478
- 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)
2479
2488
  /*--- Global type/function init code ---*/
2480
2489
  (void)__Pyx_modinit_global_init_code(__pyx_mstate);
2481
2490
  (void)__Pyx_modinit_variable_export_code(__pyx_mstate);
@@ -2495,7 +2504,7 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2495
2504
  */
2496
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)
2497
2506
  __Pyx_GOTREF(__pyx_t_2);
2498
- 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)
2499
2508
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2500
2509
 
2501
2510
  /* "viso_sdk/__init__.py":23
@@ -2505,7 +2514,7 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2505
2514
  * edge,
2506
2515
  * logging,
2507
2516
  */
2508
- __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)
2509
2518
  __Pyx_GOTREF(__pyx_t_2);
2510
2519
 
2511
2520
  /* "viso_sdk/__init__.py":22
@@ -2520,35 +2529,35 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2520
2529
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2521
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)
2522
2531
  __Pyx_GOTREF(__pyx_t_2);
2523
- 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)
2524
2533
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2525
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)
2526
2535
  __Pyx_GOTREF(__pyx_t_2);
2527
- 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)
2528
2537
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2529
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)
2530
2539
  __Pyx_GOTREF(__pyx_t_2);
2531
- 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)
2532
2541
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2533
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)
2534
2543
  __Pyx_GOTREF(__pyx_t_2);
2535
- 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)
2536
2545
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2537
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)
2538
2547
  __Pyx_GOTREF(__pyx_t_2);
2539
- 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)
2540
2549
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2541
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)
2542
2551
  __Pyx_GOTREF(__pyx_t_2);
2543
- 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)
2544
2553
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2545
- __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)
2546
2555
  __Pyx_GOTREF(__pyx_t_2);
2547
- 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)
2548
2557
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2549
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)
2550
2559
  __Pyx_GOTREF(__pyx_t_2);
2551
- 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)
2552
2561
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2553
2562
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2554
2563
 
@@ -2574,27 +2583,27 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2574
2583
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2575
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)
2576
2585
  __Pyx_GOTREF(__pyx_t_3);
2577
- 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)
2578
2587
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2579
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)
2580
2589
  __Pyx_GOTREF(__pyx_t_3);
2581
- 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)
2582
2591
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2583
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)
2584
2593
  __Pyx_GOTREF(__pyx_t_3);
2585
- 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)
2586
2595
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2587
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)
2588
2597
  __Pyx_GOTREF(__pyx_t_3);
2589
- 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)
2590
2599
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2591
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)
2592
2601
  __Pyx_GOTREF(__pyx_t_3);
2593
- 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)
2594
2603
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2595
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)
2596
2605
  __Pyx_GOTREF(__pyx_t_3);
2597
- 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)
2598
2607
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2599
2608
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2600
2609
 
@@ -2614,8 +2623,8 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2614
2623
  PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_3, __pyx_mstate_global->__pyx_n_u_default};
2615
2624
  __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43, __pyx_L1_error)
2616
2625
  __Pyx_GOTREF(__pyx_t_4);
2617
- 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)
2618
- 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)
2619
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);
2620
2629
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
2621
2630
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -2632,7 +2641,7 @@ __Pyx_RefNannySetupContext("PyInit_viso_sdk", 0);
2632
2641
  */
2633
2642
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
2634
2643
  __Pyx_GOTREF(__pyx_t_2);
2635
- 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)
2636
2645
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2637
2646
 
2638
2647
  /*--- Wrapped vars code ---*/
@@ -2719,6 +2728,7 @@ static const __Pyx_StringTabEntry __pyx_string_tab[] = {
2719
2728
  {__pyx_k_nodered, sizeof(__pyx_k_nodered), 0, 1, 1}, /* PyObject cname: __pyx_n_u_nodered */
2720
2729
  {__pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 1, 1}, /* PyObject cname: __pyx_n_u_qualname */
2721
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 */
2722
2732
  {__pyx_k_spec, sizeof(__pyx_k_spec), 0, 1, 1}, /* PyObject cname: __pyx_n_u_spec */
2723
2733
  {__pyx_k_status, sizeof(__pyx_k_status), 0, 1, 1}, /* PyObject cname: __pyx_n_u_status */
2724
2734
  {__pyx_k_test, sizeof(__pyx_k_test), 0, 1, 1}, /* PyObject cname: __pyx_n_u_test */
@@ -2728,7 +2738,6 @@ static const __Pyx_StringTabEntry __pyx_string_tab[] = {
2728
2738
  {__pyx_k_viso_sdk_2, sizeof(__pyx_k_viso_sdk_2), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_viso_sdk_2 */
2729
2739
  {__pyx_k_viso_sdk___init, sizeof(__pyx_k_viso_sdk___init), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_viso_sdk___init */
2730
2740
  {__pyx_k_viso_sdk__version, sizeof(__pyx_k_viso_sdk__version), 0, 1, 1}, /* PyObject cname: __pyx_n_u_viso_sdk__version */
2731
- {__pyx_k_visualize, sizeof(__pyx_k_visualize), 0, 1, 1}, /* PyObject cname: __pyx_n_u_visualize */
2732
2741
  {__pyx_k_warnings, sizeof(__pyx_k_warnings), 0, 1, 1}, /* PyObject cname: __pyx_n_u_warnings */
2733
2742
  {0, 0, 0, 0, 0}
2734
2743
  };
@@ -4895,6 +4904,17 @@ static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
4895
4904
  static CYTHON_INLINE PyObject * __Pyx_PyLong_FromSize_t(size_t ival) {
4896
4905
  return PyLong_FromSize_t(ival);
4897
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
4898
4918
 
4899
4919
 
4900
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