viso-sdk-python 0.0.19__tar.gz → 0.0.20__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 (92) hide show
  1. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/PKG-INFO +2 -1
  2. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/README.md +1 -0
  3. viso-sdk-python-0.0.20/tests/sample.png +0 -0
  4. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/tests/test_status.py +2 -2
  5. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/tests/test_status_logger.py +1 -1
  6. viso-sdk-python-0.0.20/tests/test_visualize.py +64 -0
  7. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/__init__.c +46 -33
  8. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/__init__.py +2 -1
  9. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/_version.c +9 -9
  10. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/_version.py +1 -1
  11. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/logging/__init__.c +2 -40
  12. viso-sdk-python-0.0.20/viso_sdk/logging/__init__.py +2 -0
  13. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/redis/redis_wrapper.c +9 -9
  14. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/redis/redis_wrapper.py +1 -1
  15. viso-sdk-python-0.0.20/viso_sdk/status/__init__.c +4101 -0
  16. {viso-sdk-python-0.0.19/viso_sdk/logging → viso-sdk-python-0.0.20/viso_sdk/status}/__init__.py +0 -1
  17. {viso-sdk-python-0.0.19/viso_sdk/logging → viso-sdk-python-0.0.20/viso_sdk/status}/status_logger.c +306 -294
  18. {viso-sdk-python-0.0.19/viso_sdk/logging → viso-sdk-python-0.0.20/viso_sdk/status}/status_logger.py +2 -2
  19. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/viz_object.c +556 -601
  20. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/viz_object.py +8 -7
  21. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/viz_roi.c +120 -138
  22. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/viz_roi.py +2 -2
  23. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/viz_text.c +934 -804
  24. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/viz_text.py +21 -12
  25. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk_python.egg-info/PKG-INFO +2 -1
  26. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk_python.egg-info/SOURCES.txt +6 -2
  27. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/AUTHORS +0 -0
  28. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/CHANGELOG.md +0 -0
  29. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/COPYING +0 -0
  30. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/MANIFEST.in +0 -0
  31. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/docs/Makefile +0 -0
  32. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/docs/__init__.py +0 -0
  33. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/docs/conf.py +0 -0
  34. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/docs/ext/__init__.py +0 -0
  35. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/docs/ext/docstrings.py +0 -0
  36. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/docs/ext/manager_tmpl.j2 +0 -0
  37. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/docs/index.rst +0 -0
  38. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/docs/make.bat +0 -0
  39. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/docs/viso.rst +0 -0
  40. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/requirements-dev.txt +0 -0
  41. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/requirements-docker.txt +0 -0
  42. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/requirements-docs.txt +0 -0
  43. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/requirements-lint.txt +0 -0
  44. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/requirements-test.txt +0 -0
  45. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/requirements.txt +0 -0
  46. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/setup.cfg +0 -0
  47. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/setup.py +0 -0
  48. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/tests/__init__.py +0 -0
  49. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/tests/conftest.py +0 -0
  50. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/tests/fixtures/flow.json +0 -0
  51. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/tests/meta/__init__.py +0 -0
  52. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/tests/meta/test_ensure_type_hints.py +0 -0
  53. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/tests/smoke/__init__.py +0 -0
  54. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/tests/smoke/test_dists.py +0 -0
  55. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/tests/test_flow.py +0 -0
  56. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/tox.ini +0 -0
  57. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/assets/fonts/Roboto-Medium.ttf +0 -0
  58. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/constants/__init__.c +0 -0
  59. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/constants/__init__.py +0 -0
  60. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/constants/constants.c +0 -0
  61. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/constants/constants.py +0 -0
  62. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/constants/modules.c +0 -0
  63. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/constants/modules.py +0 -0
  64. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/constants/variables.c +0 -0
  65. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/constants/variables.py +0 -0
  66. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/edge/__init__.c +0 -0
  67. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/edge/__init__.py +0 -0
  68. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/edge/common.c +0 -0
  69. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/edge/common.py +0 -0
  70. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/logging/logger.c +0 -0
  71. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/logging/logger.py +0 -0
  72. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/mqtt/__init__.c +0 -0
  73. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/mqtt/__init__.py +0 -0
  74. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/mqtt/mqtt_wrapper.c +0 -0
  75. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/mqtt/mqtt_wrapper.py +0 -0
  76. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/nodered/__init__.c +0 -0
  77. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/nodered/__init__.py +0 -0
  78. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/nodered/flow.c +0 -0
  79. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/nodered/flow.py +0 -0
  80. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/redis/__init__.c +0 -0
  81. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/redis/__init__.py +0 -0
  82. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/__init__.c +0 -0
  83. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/__init__.py +0 -0
  84. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/base.c +0 -0
  85. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/base.py +0 -0
  86. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/palette.c +0 -0
  87. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/palette.py +0 -0
  88. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/utils.c +0 -0
  89. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk/visualize/utils.py +0 -0
  90. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk_python.egg-info/dependency_links.txt +0 -0
  91. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk_python.egg-info/requires.txt +0 -0
  92. {viso-sdk-python-0.0.19 → viso-sdk-python-0.0.20}/viso_sdk_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: viso-sdk-python
3
- Version: 0.0.19
3
+ Version: 0.0.20
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
@@ -50,6 +50,7 @@ python3 setup.py sdist bdist_wheel
50
50
 
51
51
  ```shell
52
52
  - remove build files before pushing
53
+ cd viso_sdk
53
54
  find . -type f -name "*.c" -delete
54
55
  find . -type f -name "*.so" -delete
55
56
  ```
@@ -23,6 +23,7 @@ python3 setup.py sdist bdist_wheel
23
23
 
24
24
  ```shell
25
25
  - remove build files before pushing
26
+ cd viso_sdk
26
27
  find . -type f -name "*.c" -delete
27
28
  find . -type f -name "*.so" -delete
28
29
  ```
Binary file
@@ -10,8 +10,8 @@ import time
10
10
  import pytest
11
11
 
12
12
  from viso_sdk.constants import PREFIX
13
- from viso_sdk.mqtt import VisoMqtt
14
- from viso_sdk.redis import VisoRedis
13
+ from viso_sdk.mqtt.mqtt_wrapper import MqttWrapper as VisoMqtt
14
+ from viso_sdk.redis.redis_wrapper import RedisWrapper as VisoRedis
15
15
  from viso_sdk.logging import get_status_logger
16
16
 
17
17
  NODE_ID = "638acaf9.bf6014"
@@ -1,5 +1,5 @@
1
1
  import time
2
- from viso_sdk.logging.status_logger import get_status_logger
2
+ from viso_sdk.status import get_status_logger
3
3
 
4
4
 
5
5
  if __name__ == '__main__':
@@ -0,0 +1,64 @@
1
+ import os
2
+ import cv2
3
+ import unittest
4
+
5
+ from viso_sdk.visualize.base import BaseVisualization
6
+
7
+
8
+ TEST_DIR = os.path.abspath(os.path.join(__file__, os.pardir))
9
+
10
+
11
+ class TestVisualization(unittest.TestCase):
12
+ def setUp(self) -> None:
13
+ config = {}
14
+ roi_node = {}
15
+
16
+ self.text_vis_params = dict(
17
+ text_color=config.get('text_color', (255, 255, 255, 0.6)), # RGBA
18
+ text_size=config.get('text_size', 15)
19
+ )
20
+ self.object_vis_params = dict(
21
+ bbox_color=config.get('bbox_color', (255, 50, 50, 0.8)), # RGBA
22
+ bbox_thickness=config.get('bbox_thickness', 1),
23
+ text_color=config.get('text_color', (255, 255, 255, 1.0)), # RGBA
24
+ text_size=config.get('text_size', 15),
25
+ show_label=config.get('show_label', True),
26
+ show_confidence=config.get('show_confidence', True)
27
+ )
28
+ self.roi_vis_params = dict(
29
+ roi_color=roi_node.get('roi_color', (255, 150, 113, 0.4)),
30
+ outline_color=roi_node.get('outline_color', None),
31
+ outline_thickness=roi_node.get('outline_thickness', 1),
32
+ show_label=roi_node.get('show_label', True),
33
+ label_size=roi_node.get('label_size', 20),
34
+ label_color=roi_node.get('label_color', (255, 255, 255, 1.0))
35
+ )
36
+
37
+ self.viz = BaseVisualization(
38
+ text_vis_params=self.text_vis_params,
39
+ object_vis_params=self.object_vis_params,
40
+ roi_vis_params=self.roi_vis_params
41
+ )
42
+
43
+ def test_show_object_detection(self):
44
+ test_img = cv2.imread(os.path.join(TEST_DIR, "sample.png"))
45
+ test_objs = [
46
+ {'class_id': 1,
47
+ 'confidence': 0.77,
48
+ 'label': 'person',
49
+ 'rect': [0.506, 0.154, 0.228, 0.713],
50
+ 'roi_id': '',
51
+ 'roi_name': ''}
52
+ ]
53
+ show = self.viz.draw_detections(
54
+ img=test_img, detections=test_objs,
55
+ show_label=self.object_vis_params.get('show_label', True),
56
+ show_confidence=self.object_vis_params.get('show_confidence', True)
57
+ )
58
+
59
+ # cv2.imwrite("result.jpg", show)
60
+ self.assertEqual(show.shape, test_img.shape)
61
+
62
+
63
+ if __name__ == '__main__':
64
+ unittest.main()
@@ -1753,6 +1753,7 @@ static const char __pyx_k_title[] = "__title__";
1753
1753
  static const char __pyx_k_author[] = "__author__";
1754
1754
  static const char __pyx_k_import[] = "__import__";
1755
1755
  static const char __pyx_k_module[] = "module";
1756
+ static const char __pyx_k_status[] = "status";
1756
1757
  static const char __pyx_k_default[] = "default";
1757
1758
  static const char __pyx_k_license[] = "__license__";
1758
1759
  static const char __pyx_k_logging[] = "logging";
@@ -1826,6 +1827,7 @@ typedef struct {
1826
1827
  PyObject *__pyx_n_s_nodered;
1827
1828
  PyObject *__pyx_n_s_redis;
1828
1829
  PyObject *__pyx_n_s_spec;
1830
+ PyObject *__pyx_n_s_status;
1829
1831
  PyObject *__pyx_n_s_test;
1830
1832
  PyObject *__pyx_n_s_title;
1831
1833
  PyObject *__pyx_n_s_version;
@@ -1902,6 +1904,7 @@ static int __pyx_m_clear(PyObject *m) {
1902
1904
  Py_CLEAR(clear_module_state->__pyx_n_s_nodered);
1903
1905
  Py_CLEAR(clear_module_state->__pyx_n_s_redis);
1904
1906
  Py_CLEAR(clear_module_state->__pyx_n_s_spec);
1907
+ Py_CLEAR(clear_module_state->__pyx_n_s_status);
1905
1908
  Py_CLEAR(clear_module_state->__pyx_n_s_test);
1906
1909
  Py_CLEAR(clear_module_state->__pyx_n_s_title);
1907
1910
  Py_CLEAR(clear_module_state->__pyx_n_s_version);
@@ -1956,6 +1959,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
1956
1959
  Py_VISIT(traverse_module_state->__pyx_n_s_nodered);
1957
1960
  Py_VISIT(traverse_module_state->__pyx_n_s_redis);
1958
1961
  Py_VISIT(traverse_module_state->__pyx_n_s_spec);
1962
+ Py_VISIT(traverse_module_state->__pyx_n_s_status);
1959
1963
  Py_VISIT(traverse_module_state->__pyx_n_s_test);
1960
1964
  Py_VISIT(traverse_module_state->__pyx_n_s_title);
1961
1965
  Py_VISIT(traverse_module_state->__pyx_n_s_version);
@@ -2020,6 +2024,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
2020
2024
  #define __pyx_n_s_nodered __pyx_mstate_global->__pyx_n_s_nodered
2021
2025
  #define __pyx_n_s_redis __pyx_mstate_global->__pyx_n_s_redis
2022
2026
  #define __pyx_n_s_spec __pyx_mstate_global->__pyx_n_s_spec
2027
+ #define __pyx_n_s_status __pyx_mstate_global->__pyx_n_s_status
2023
2028
  #define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test
2024
2029
  #define __pyx_n_s_title __pyx_mstate_global->__pyx_n_s_title
2025
2030
  #define __pyx_n_s_version __pyx_mstate_global->__pyx_n_s_version
@@ -2072,6 +2077,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
2072
2077
  {&__pyx_n_s_nodered, __pyx_k_nodered, sizeof(__pyx_k_nodered), 0, 0, 1, 1},
2073
2078
  {&__pyx_n_s_redis, __pyx_k_redis, sizeof(__pyx_k_redis), 0, 0, 1, 1},
2074
2079
  {&__pyx_n_s_spec, __pyx_k_spec, sizeof(__pyx_k_spec), 0, 0, 1, 1},
2080
+ {&__pyx_n_s_status, __pyx_k_status, sizeof(__pyx_k_status), 0, 0, 1, 1},
2075
2081
  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
2076
2082
  {&__pyx_n_s_title, __pyx_k_title, sizeof(__pyx_k_title), 0, 0, 1, 1},
2077
2083
  {&__pyx_n_s_version, __pyx_k_version, sizeof(__pyx_k_version), 0, 0, 1, 1},
@@ -2087,7 +2093,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
2087
2093
  }
2088
2094
  /* #### Code section: cached_builtins ### */
2089
2095
  static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
2090
- __pyx_builtin_DeprecationWarning = __Pyx_GetBuiltinName(__pyx_n_s_DeprecationWarning); if (!__pyx_builtin_DeprecationWarning) __PYX_ERR(0, 42, __pyx_L1_error)
2096
+ __pyx_builtin_DeprecationWarning = __Pyx_GetBuiltinName(__pyx_n_s_DeprecationWarning); if (!__pyx_builtin_DeprecationWarning) __PYX_ERR(0, 43, __pyx_L1_error)
2091
2097
  return 0;
2092
2098
  __pyx_L1_error:;
2093
2099
  return -1;
@@ -2098,12 +2104,12 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
2098
2104
  __Pyx_RefNannyDeclarations
2099
2105
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
2100
2106
 
2101
- /* "viso_sdk/__init__.py":42
2107
+ /* "viso_sdk/__init__.py":43
2102
2108
  *
2103
2109
  *
2104
2110
  * warnings.filterwarnings("default", category=DeprecationWarning, module="^viso_sdk") # <<<<<<<<<<<<<<
2105
2111
  */
2106
- __pyx_tuple__3 = PyTuple_Pack(1, __pyx_n_u_default); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 42, __pyx_L1_error)
2112
+ __pyx_tuple__3 = PyTuple_Pack(1, __pyx_n_u_default); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 43, __pyx_L1_error)
2107
2113
  __Pyx_GOTREF(__pyx_tuple__3);
2108
2114
  __Pyx_GIVEREF(__pyx_tuple__3);
2109
2115
  __Pyx_RefNannyFinishContext();
@@ -2501,7 +2507,7 @@ if (!__Pyx_RefNanny) {
2501
2507
  * edge,
2502
2508
  * logging,
2503
2509
  */
2504
- __pyx_t_2 = PyList_New(7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error)
2510
+ __pyx_t_2 = PyList_New(8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error)
2505
2511
  __Pyx_GOTREF(__pyx_t_2);
2506
2512
  __Pyx_INCREF(__pyx_n_s_constants);
2507
2513
  __Pyx_GIVEREF(__pyx_n_s_constants);
@@ -2524,6 +2530,9 @@ if (!__Pyx_RefNanny) {
2524
2530
  __Pyx_INCREF(__pyx_n_s_visualize);
2525
2531
  __Pyx_GIVEREF(__pyx_n_s_visualize);
2526
2532
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 6, __pyx_n_s_visualize)) __PYX_ERR(0, 23, __pyx_L1_error);
2533
+ __Pyx_INCREF(__pyx_n_s_status);
2534
+ __Pyx_GIVEREF(__pyx_n_s_status);
2535
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 7, __pyx_n_s_status)) __PYX_ERR(0, 23, __pyx_L1_error);
2527
2536
 
2528
2537
  /* "viso_sdk/__init__.py":22
2529
2538
  *
@@ -2563,87 +2572,91 @@ if (!__Pyx_RefNanny) {
2563
2572
  __Pyx_GOTREF(__pyx_t_2);
2564
2573
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_visualize, __pyx_t_2) < 0) __PYX_ERR(0, 29, __pyx_L1_error)
2565
2574
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2575
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_status); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
2576
+ __Pyx_GOTREF(__pyx_t_2);
2577
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_status, __pyx_t_2) < 0) __PYX_ERR(0, 30, __pyx_L1_error)
2578
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2566
2579
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2567
2580
 
2568
- /* "viso_sdk/__init__.py":33
2581
+ /* "viso_sdk/__init__.py":34
2569
2582
  *
2570
2583
  * from viso_sdk._version import ( # noqa: F401
2571
2584
  * __author__, # <<<<<<<<<<<<<<
2572
2585
  * __copyright__,
2573
2586
  * __email__,
2574
2587
  */
2575
- __pyx_t_3 = PyList_New(6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
2588
+ __pyx_t_3 = PyList_New(6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error)
2576
2589
  __Pyx_GOTREF(__pyx_t_3);
2577
2590
  __Pyx_INCREF(__pyx_n_s_author);
2578
2591
  __Pyx_GIVEREF(__pyx_n_s_author);
2579
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_author)) __PYX_ERR(0, 33, __pyx_L1_error);
2592
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_author)) __PYX_ERR(0, 34, __pyx_L1_error);
2580
2593
  __Pyx_INCREF(__pyx_n_s_copyright);
2581
2594
  __Pyx_GIVEREF(__pyx_n_s_copyright);
2582
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_copyright)) __PYX_ERR(0, 33, __pyx_L1_error);
2595
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_copyright)) __PYX_ERR(0, 34, __pyx_L1_error);
2583
2596
  __Pyx_INCREF(__pyx_n_s_email);
2584
2597
  __Pyx_GIVEREF(__pyx_n_s_email);
2585
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_email)) __PYX_ERR(0, 33, __pyx_L1_error);
2598
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_email)) __PYX_ERR(0, 34, __pyx_L1_error);
2586
2599
  __Pyx_INCREF(__pyx_n_s_license);
2587
2600
  __Pyx_GIVEREF(__pyx_n_s_license);
2588
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_s_license)) __PYX_ERR(0, 33, __pyx_L1_error);
2601
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_s_license)) __PYX_ERR(0, 34, __pyx_L1_error);
2589
2602
  __Pyx_INCREF(__pyx_n_s_title);
2590
2603
  __Pyx_GIVEREF(__pyx_n_s_title);
2591
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 4, __pyx_n_s_title)) __PYX_ERR(0, 33, __pyx_L1_error);
2604
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 4, __pyx_n_s_title)) __PYX_ERR(0, 34, __pyx_L1_error);
2592
2605
  __Pyx_INCREF(__pyx_n_s_version);
2593
2606
  __Pyx_GIVEREF(__pyx_n_s_version);
2594
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 5, __pyx_n_s_version)) __PYX_ERR(0, 33, __pyx_L1_error);
2607
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 5, __pyx_n_s_version)) __PYX_ERR(0, 34, __pyx_L1_error);
2595
2608
 
2596
- /* "viso_sdk/__init__.py":32
2609
+ /* "viso_sdk/__init__.py":33
2597
2610
  * )
2598
2611
  *
2599
2612
  * from viso_sdk._version import ( # noqa: F401 # <<<<<<<<<<<<<<
2600
2613
  * __author__,
2601
2614
  * __copyright__,
2602
2615
  */
2603
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_viso_sdk__version, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error)
2616
+ __pyx_t_2 = __Pyx_Import(__pyx_n_s_viso_sdk__version, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error)
2604
2617
  __Pyx_GOTREF(__pyx_t_2);
2605
2618
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2606
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_author); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error)
2619
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_author); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
2607
2620
  __Pyx_GOTREF(__pyx_t_3);
2608
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_author, __pyx_t_3) < 0) __PYX_ERR(0, 33, __pyx_L1_error)
2621
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_author, __pyx_t_3) < 0) __PYX_ERR(0, 34, __pyx_L1_error)
2609
2622
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2610
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_copyright); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error)
2623
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_copyright); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
2611
2624
  __Pyx_GOTREF(__pyx_t_3);
2612
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_copyright, __pyx_t_3) < 0) __PYX_ERR(0, 34, __pyx_L1_error)
2625
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_copyright, __pyx_t_3) < 0) __PYX_ERR(0, 35, __pyx_L1_error)
2613
2626
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2614
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_email); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error)
2627
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_email); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
2615
2628
  __Pyx_GOTREF(__pyx_t_3);
2616
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_email, __pyx_t_3) < 0) __PYX_ERR(0, 35, __pyx_L1_error)
2629
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_email, __pyx_t_3) < 0) __PYX_ERR(0, 36, __pyx_L1_error)
2617
2630
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2618
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_license); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error)
2631
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_license); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
2619
2632
  __Pyx_GOTREF(__pyx_t_3);
2620
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_license, __pyx_t_3) < 0) __PYX_ERR(0, 36, __pyx_L1_error)
2633
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_license, __pyx_t_3) < 0) __PYX_ERR(0, 37, __pyx_L1_error)
2621
2634
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2622
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_title); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error)
2635
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_title); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
2623
2636
  __Pyx_GOTREF(__pyx_t_3);
2624
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_title, __pyx_t_3) < 0) __PYX_ERR(0, 37, __pyx_L1_error)
2637
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_title, __pyx_t_3) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
2625
2638
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2626
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_version); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error)
2639
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_version); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
2627
2640
  __Pyx_GOTREF(__pyx_t_3);
2628
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_version, __pyx_t_3) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
2641
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_version, __pyx_t_3) < 0) __PYX_ERR(0, 39, __pyx_L1_error)
2629
2642
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2630
2643
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2631
2644
 
2632
- /* "viso_sdk/__init__.py":42
2645
+ /* "viso_sdk/__init__.py":43
2633
2646
  *
2634
2647
  *
2635
2648
  * warnings.filterwarnings("default", category=DeprecationWarning, module="^viso_sdk") # <<<<<<<<<<<<<<
2636
2649
  */
2637
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_warnings); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error)
2650
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_warnings); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error)
2638
2651
  __Pyx_GOTREF(__pyx_t_2);
2639
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_filterwarnings); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42, __pyx_L1_error)
2652
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_filterwarnings); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43, __pyx_L1_error)
2640
2653
  __Pyx_GOTREF(__pyx_t_3);
2641
2654
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2642
- __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error)
2655
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error)
2643
2656
  __Pyx_GOTREF(__pyx_t_2);
2644
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_category, __pyx_builtin_DeprecationWarning) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
2645
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_module, __pyx_kp_u_viso_sdk_2) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
2646
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42, __pyx_L1_error)
2657
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_category, __pyx_builtin_DeprecationWarning) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
2658
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_module, __pyx_kp_u_viso_sdk_2) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
2659
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43, __pyx_L1_error)
2647
2660
  __Pyx_GOTREF(__pyx_t_4);
2648
2661
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2649
2662
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -26,7 +26,8 @@ from viso_sdk import (
26
26
  mqtt,
27
27
  nodered,
28
28
  redis,
29
- visualize
29
+ visualize,
30
+ status
30
31
  )
31
32
 
32
33
  from viso_sdk._version import ( # noqa: F401
@@ -1824,7 +1824,7 @@ static const char __pyx_k_year[] = "year";
1824
1824
  static const char __pyx_k_LGPL3[] = "LGPL3";
1825
1825
  static const char __pyx_k_email[] = "__email__";
1826
1826
  static const char __pyx_k_title[] = "__title__";
1827
- static const char __pyx_k_0_0_19[] = "0.0.19";
1827
+ static const char __pyx_k_0_0_20[] = "0.0.20";
1828
1828
  static const char __pyx_k_author[] = "__author__";
1829
1829
  static const char __pyx_k_import[] = "__import__";
1830
1830
  static const char __pyx_k_abspath[] = "abspath";
@@ -1873,7 +1873,7 @@ typedef struct {
1873
1873
  #if CYTHON_USE_MODULE_STATE
1874
1874
  #endif
1875
1875
  PyObject *__pyx_n_s_;
1876
- PyObject *__pyx_kp_u_0_0_19;
1876
+ PyObject *__pyx_kp_u_0_0_20;
1877
1877
  PyObject *__pyx_kp_u_Copyright_2020;
1878
1878
  PyObject *__pyx_n_u_LGPL3;
1879
1879
  PyObject *__pyx_kp_u_Viso_ai_team;
@@ -1947,7 +1947,7 @@ static int __pyx_m_clear(PyObject *m) {
1947
1947
  Py_CLEAR(clear_module_state->__pyx_FusedFunctionType);
1948
1948
  #endif
1949
1949
  Py_CLEAR(clear_module_state->__pyx_n_s_);
1950
- Py_CLEAR(clear_module_state->__pyx_kp_u_0_0_19);
1950
+ Py_CLEAR(clear_module_state->__pyx_kp_u_0_0_20);
1951
1951
  Py_CLEAR(clear_module_state->__pyx_kp_u_Copyright_2020);
1952
1952
  Py_CLEAR(clear_module_state->__pyx_n_u_LGPL3);
1953
1953
  Py_CLEAR(clear_module_state->__pyx_kp_u_Viso_ai_team);
@@ -1999,7 +1999,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
1999
1999
  Py_VISIT(traverse_module_state->__pyx_FusedFunctionType);
2000
2000
  #endif
2001
2001
  Py_VISIT(traverse_module_state->__pyx_n_s_);
2002
- Py_VISIT(traverse_module_state->__pyx_kp_u_0_0_19);
2002
+ Py_VISIT(traverse_module_state->__pyx_kp_u_0_0_20);
2003
2003
  Py_VISIT(traverse_module_state->__pyx_kp_u_Copyright_2020);
2004
2004
  Py_VISIT(traverse_module_state->__pyx_n_u_LGPL3);
2005
2005
  Py_VISIT(traverse_module_state->__pyx_kp_u_Viso_ai_team);
@@ -2061,7 +2061,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
2061
2061
  #if CYTHON_USE_MODULE_STATE
2062
2062
  #endif
2063
2063
  #define __pyx_n_s_ __pyx_mstate_global->__pyx_n_s_
2064
- #define __pyx_kp_u_0_0_19 __pyx_mstate_global->__pyx_kp_u_0_0_19
2064
+ #define __pyx_kp_u_0_0_20 __pyx_mstate_global->__pyx_kp_u_0_0_20
2065
2065
  #define __pyx_kp_u_Copyright_2020 __pyx_mstate_global->__pyx_kp_u_Copyright_2020
2066
2066
  #define __pyx_n_u_LGPL3 __pyx_mstate_global->__pyx_n_u_LGPL3
2067
2067
  #define __pyx_kp_u_Viso_ai_team __pyx_mstate_global->__pyx_kp_u_Viso_ai_team
@@ -2111,7 +2111,7 @@ static PyMethodDef __pyx_methods[] = {
2111
2111
  static int __Pyx_CreateStringTabAndInitStrings(void) {
2112
2112
  __Pyx_StringTabEntry __pyx_string_tab[] = {
2113
2113
  {&__pyx_n_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 1},
2114
- {&__pyx_kp_u_0_0_19, __pyx_k_0_0_19, sizeof(__pyx_k_0_0_19), 0, 1, 0, 0},
2114
+ {&__pyx_kp_u_0_0_20, __pyx_k_0_0_20, sizeof(__pyx_k_0_0_20), 0, 1, 0, 0},
2115
2115
  {&__pyx_kp_u_Copyright_2020, __pyx_k_Copyright_2020, sizeof(__pyx_k_Copyright_2020), 0, 1, 0, 0},
2116
2116
  {&__pyx_n_u_LGPL3, __pyx_k_LGPL3, sizeof(__pyx_k_LGPL3), 0, 1, 0, 1},
2117
2117
  {&__pyx_kp_u_Viso_ai_team, __pyx_k_Viso_ai_team, sizeof(__pyx_k_Viso_ai_team), 0, 1, 0, 0},
@@ -2692,16 +2692,16 @@ if (!__Pyx_RefNanny) {
2692
2692
  * __license__ = "LGPL3"
2693
2693
  * __title__ = "viso-sdk-python" # <<<<<<<<<<<<<<
2694
2694
  *
2695
- * __version__ = "0.0.19"
2695
+ * __version__ = "0.0.20"
2696
2696
  */
2697
2697
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_title, __pyx_kp_u_viso_sdk_python) < 0) __PYX_ERR(0, 15, __pyx_L1_error)
2698
2698
 
2699
2699
  /* "viso_sdk/_version.py":17
2700
2700
  * __title__ = "viso-sdk-python"
2701
2701
  *
2702
- * __version__ = "0.0.19" # <<<<<<<<<<<<<<
2702
+ * __version__ = "0.0.20" # <<<<<<<<<<<<<<
2703
2703
  */
2704
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_version, __pyx_kp_u_0_0_19) < 0) __PYX_ERR(0, 17, __pyx_L1_error)
2704
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_version, __pyx_kp_u_0_0_20) < 0) __PYX_ERR(0, 17, __pyx_L1_error)
2705
2705
 
2706
2706
  /* "viso_sdk/_version.py":1
2707
2707
  * """ # <<<<<<<<<<<<<<
@@ -14,4 +14,4 @@ __email__ = "g.corrigan@viso.ai"
14
14
  __license__ = "LGPL3"
15
15
  __title__ = "viso-sdk-python"
16
16
 
17
- __version__ = "0.0.19"
17
+ __version__ = "0.0.20"
@@ -1708,8 +1708,6 @@ static const char __pyx_k_test[] = "__test__";
1708
1708
  static const char __pyx_k_import[] = "__import__";
1709
1709
  static const char __pyx_k_logger[] = "logger";
1710
1710
  static const char __pyx_k_get_logger[] = "get_logger";
1711
- static const char __pyx_k_status_logger[] = "status_logger";
1712
- static const char __pyx_k_get_status_logger[] = "get_status_logger";
1713
1711
  static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
1714
1712
  static const char __pyx_k_viso_sdk_logging___init[] = "viso_sdk.logging.__init__";
1715
1713
  /* #### Code section: decls ### */
@@ -1746,12 +1744,10 @@ typedef struct {
1746
1744
  PyObject *__pyx_n_s__2;
1747
1745
  PyObject *__pyx_n_s_cline_in_traceback;
1748
1746
  PyObject *__pyx_n_s_get_logger;
1749
- PyObject *__pyx_n_s_get_status_logger;
1750
1747
  PyObject *__pyx_n_s_import;
1751
1748
  PyObject *__pyx_n_s_logger;
1752
1749
  PyObject *__pyx_n_s_main;
1753
1750
  PyObject *__pyx_n_s_name;
1754
- PyObject *__pyx_n_s_status_logger;
1755
1751
  PyObject *__pyx_n_s_test;
1756
1752
  PyObject *__pyx_kp_u_viso_sdk_logging___init;
1757
1753
  } __pyx_mstate;
@@ -1800,12 +1796,10 @@ static int __pyx_m_clear(PyObject *m) {
1800
1796
  Py_CLEAR(clear_module_state->__pyx_n_s__2);
1801
1797
  Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback);
1802
1798
  Py_CLEAR(clear_module_state->__pyx_n_s_get_logger);
1803
- Py_CLEAR(clear_module_state->__pyx_n_s_get_status_logger);
1804
1799
  Py_CLEAR(clear_module_state->__pyx_n_s_import);
1805
1800
  Py_CLEAR(clear_module_state->__pyx_n_s_logger);
1806
1801
  Py_CLEAR(clear_module_state->__pyx_n_s_main);
1807
1802
  Py_CLEAR(clear_module_state->__pyx_n_s_name);
1808
- Py_CLEAR(clear_module_state->__pyx_n_s_status_logger);
1809
1803
  Py_CLEAR(clear_module_state->__pyx_n_s_test);
1810
1804
  Py_CLEAR(clear_module_state->__pyx_kp_u_viso_sdk_logging___init);
1811
1805
  return 0;
@@ -1832,12 +1826,10 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
1832
1826
  Py_VISIT(traverse_module_state->__pyx_n_s__2);
1833
1827
  Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback);
1834
1828
  Py_VISIT(traverse_module_state->__pyx_n_s_get_logger);
1835
- Py_VISIT(traverse_module_state->__pyx_n_s_get_status_logger);
1836
1829
  Py_VISIT(traverse_module_state->__pyx_n_s_import);
1837
1830
  Py_VISIT(traverse_module_state->__pyx_n_s_logger);
1838
1831
  Py_VISIT(traverse_module_state->__pyx_n_s_main);
1839
1832
  Py_VISIT(traverse_module_state->__pyx_n_s_name);
1840
- Py_VISIT(traverse_module_state->__pyx_n_s_status_logger);
1841
1833
  Py_VISIT(traverse_module_state->__pyx_n_s_test);
1842
1834
  Py_VISIT(traverse_module_state->__pyx_kp_u_viso_sdk_logging___init);
1843
1835
  return 0;
@@ -1874,12 +1866,10 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
1874
1866
  #define __pyx_n_s__2 __pyx_mstate_global->__pyx_n_s__2
1875
1867
  #define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback
1876
1868
  #define __pyx_n_s_get_logger __pyx_mstate_global->__pyx_n_s_get_logger
1877
- #define __pyx_n_s_get_status_logger __pyx_mstate_global->__pyx_n_s_get_status_logger
1878
1869
  #define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import
1879
1870
  #define __pyx_n_s_logger __pyx_mstate_global->__pyx_n_s_logger
1880
1871
  #define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main
1881
1872
  #define __pyx_n_s_name __pyx_mstate_global->__pyx_n_s_name
1882
- #define __pyx_n_s_status_logger __pyx_mstate_global->__pyx_n_s_status_logger
1883
1873
  #define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test
1884
1874
  #define __pyx_kp_u_viso_sdk_logging___init __pyx_mstate_global->__pyx_kp_u_viso_sdk_logging___init
1885
1875
  /* #### Code section: module_code ### */
@@ -1904,12 +1894,10 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
1904
1894
  {&__pyx_n_s__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 0, 1, 1},
1905
1895
  {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
1906
1896
  {&__pyx_n_s_get_logger, __pyx_k_get_logger, sizeof(__pyx_k_get_logger), 0, 0, 1, 1},
1907
- {&__pyx_n_s_get_status_logger, __pyx_k_get_status_logger, sizeof(__pyx_k_get_status_logger), 0, 0, 1, 1},
1908
1897
  {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
1909
1898
  {&__pyx_n_s_logger, __pyx_k_logger, sizeof(__pyx_k_logger), 0, 0, 1, 1},
1910
1899
  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
1911
1900
  {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
1912
- {&__pyx_n_s_status_logger, __pyx_k_status_logger, sizeof(__pyx_k_status_logger), 0, 0, 1, 1},
1913
1901
  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
1914
1902
  {&__pyx_kp_u_viso_sdk_logging___init, __pyx_k_viso_sdk_logging___init, sizeof(__pyx_k_viso_sdk_logging___init), 0, 1, 0, 0},
1915
1903
  {0, 0, 0, 0, 0, 0, 0}
@@ -2300,7 +2288,6 @@ if (!__Pyx_RefNanny) {
2300
2288
  /* "viso_sdk/logging/__init__.py":2
2301
2289
  *
2302
2290
  * from .logger import get_logger # <<<<<<<<<<<<<<
2303
- * from .status_logger import get_status_logger
2304
2291
  */
2305
2292
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error)
2306
2293
  __Pyx_GOTREF(__pyx_t_2);
@@ -2315,35 +2302,10 @@ if (!__Pyx_RefNanny) {
2315
2302
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_logger, __pyx_t_2) < 0) __PYX_ERR(0, 2, __pyx_L1_error)
2316
2303
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2317
2304
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2318
-
2319
- /* "viso_sdk/logging/__init__.py":3
2320
- *
2321
- * from .logger import get_logger
2322
- * from .status_logger import get_status_logger # <<<<<<<<<<<<<<
2323
- */
2324
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3, __pyx_L1_error)
2305
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2, __pyx_L1_error)
2325
2306
  __Pyx_GOTREF(__pyx_t_3);
2326
- __Pyx_INCREF(__pyx_n_s_get_status_logger);
2327
- __Pyx_GIVEREF(__pyx_n_s_get_status_logger);
2328
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_get_status_logger)) __PYX_ERR(0, 3, __pyx_L1_error);
2329
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_status_logger, __pyx_t_3, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
2330
- __Pyx_GOTREF(__pyx_t_2);
2307
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 2, __pyx_L1_error)
2331
2308
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2332
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_status_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3, __pyx_L1_error)
2333
- __Pyx_GOTREF(__pyx_t_3);
2334
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_status_logger, __pyx_t_3) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
2335
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2336
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2337
-
2338
- /* "viso_sdk/logging/__init__.py":2
2339
- *
2340
- * from .logger import get_logger # <<<<<<<<<<<<<<
2341
- * from .status_logger import get_status_logger
2342
- */
2343
- __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error)
2344
- __Pyx_GOTREF(__pyx_t_2);
2345
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 2, __pyx_L1_error)
2346
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2347
2309
 
2348
2310
  /*--- Wrapped vars code ---*/
2349
2311
 
@@ -0,0 +1,2 @@
1
+
2
+ from .logger import get_logger
@@ -2218,7 +2218,6 @@ static const char __pyx_k_init_subclass[] = "__init_subclass__";
2218
2218
  static const char __pyx_k_Optional_float[] = "Optional[float]";
2219
2219
  static const char __pyx_k_write_to_redis[] = "_write_to_redis";
2220
2220
  static const char __pyx_k_img_to_base64str[] = "img_to_base64str";
2221
- static const char __pyx_k_viso_sdk_logging[] = "viso_sdk.logging";
2222
2221
  static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines";
2223
2222
  static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
2224
2223
  static const char __pyx_k_viso_sdk_constants[] = "viso_sdk.constants";
@@ -2230,6 +2229,7 @@ static const char __pyx_k_Union_None_np_ndarray[] = "Union[None, np.ndarray]";
2230
2229
  static const char __pyx_k_Union_np_ndarray_None[] = "Union[np.ndarray, None]";
2231
2230
  static const char __pyx_k_RedisWrapper_get_frame[] = "RedisWrapper.get_frame";
2232
2231
  static const char __pyx_k_RedisWrapper_read_data[] = "RedisWrapper.read_data";
2232
+ static const char __pyx_k_viso_sdk_logging_logger[] = "viso_sdk.logging.logger";
2233
2233
  static const char __pyx_k_RedisWrapper_delete_data[] = "RedisWrapper.delete_data";
2234
2234
  static const char __pyx_k_RedisWrapper_write_frame[] = "RedisWrapper.write_frame";
2235
2235
  static const char __pyx_k_RedisWrapper_base64_to_img[] = "RedisWrapper.base64_to_img";
@@ -2402,7 +2402,7 @@ typedef struct {
2402
2402
  PyObject *__pyx_n_s_uint8;
2403
2403
  PyObject *__pyx_n_s_use_thread;
2404
2404
  PyObject *__pyx_n_s_viso_sdk_constants;
2405
- PyObject *__pyx_n_s_viso_sdk_logging;
2405
+ PyObject *__pyx_n_s_viso_sdk_logging_logger;
2406
2406
  PyObject *__pyx_n_s_viso_sdk_redis_redis_wrapper;
2407
2407
  PyObject *__pyx_kp_s_viso_sdk_redis_redis_wrapper_py;
2408
2408
  PyObject *__pyx_n_s_warning;
@@ -2593,7 +2593,7 @@ static int __pyx_m_clear(PyObject *m) {
2593
2593
  Py_CLEAR(clear_module_state->__pyx_n_s_uint8);
2594
2594
  Py_CLEAR(clear_module_state->__pyx_n_s_use_thread);
2595
2595
  Py_CLEAR(clear_module_state->__pyx_n_s_viso_sdk_constants);
2596
- Py_CLEAR(clear_module_state->__pyx_n_s_viso_sdk_logging);
2596
+ Py_CLEAR(clear_module_state->__pyx_n_s_viso_sdk_logging_logger);
2597
2597
  Py_CLEAR(clear_module_state->__pyx_n_s_viso_sdk_redis_redis_wrapper);
2598
2598
  Py_CLEAR(clear_module_state->__pyx_kp_s_viso_sdk_redis_redis_wrapper_py);
2599
2599
  Py_CLEAR(clear_module_state->__pyx_n_s_warning);
@@ -2762,7 +2762,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
2762
2762
  Py_VISIT(traverse_module_state->__pyx_n_s_uint8);
2763
2763
  Py_VISIT(traverse_module_state->__pyx_n_s_use_thread);
2764
2764
  Py_VISIT(traverse_module_state->__pyx_n_s_viso_sdk_constants);
2765
- Py_VISIT(traverse_module_state->__pyx_n_s_viso_sdk_logging);
2765
+ Py_VISIT(traverse_module_state->__pyx_n_s_viso_sdk_logging_logger);
2766
2766
  Py_VISIT(traverse_module_state->__pyx_n_s_viso_sdk_redis_redis_wrapper);
2767
2767
  Py_VISIT(traverse_module_state->__pyx_kp_s_viso_sdk_redis_redis_wrapper_py);
2768
2768
  Py_VISIT(traverse_module_state->__pyx_n_s_warning);
@@ -2941,7 +2941,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
2941
2941
  #define __pyx_n_s_uint8 __pyx_mstate_global->__pyx_n_s_uint8
2942
2942
  #define __pyx_n_s_use_thread __pyx_mstate_global->__pyx_n_s_use_thread
2943
2943
  #define __pyx_n_s_viso_sdk_constants __pyx_mstate_global->__pyx_n_s_viso_sdk_constants
2944
- #define __pyx_n_s_viso_sdk_logging __pyx_mstate_global->__pyx_n_s_viso_sdk_logging
2944
+ #define __pyx_n_s_viso_sdk_logging_logger __pyx_mstate_global->__pyx_n_s_viso_sdk_logging_logger
2945
2945
  #define __pyx_n_s_viso_sdk_redis_redis_wrapper __pyx_mstate_global->__pyx_n_s_viso_sdk_redis_redis_wrapper
2946
2946
  #define __pyx_kp_s_viso_sdk_redis_redis_wrapper_py __pyx_mstate_global->__pyx_kp_s_viso_sdk_redis_redis_wrapper_py
2947
2947
  #define __pyx_n_s_warning __pyx_mstate_global->__pyx_n_s_warning
@@ -6804,7 +6804,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
6804
6804
  {&__pyx_n_s_uint8, __pyx_k_uint8, sizeof(__pyx_k_uint8), 0, 0, 1, 1},
6805
6805
  {&__pyx_n_s_use_thread, __pyx_k_use_thread, sizeof(__pyx_k_use_thread), 0, 0, 1, 1},
6806
6806
  {&__pyx_n_s_viso_sdk_constants, __pyx_k_viso_sdk_constants, sizeof(__pyx_k_viso_sdk_constants), 0, 0, 1, 1},
6807
- {&__pyx_n_s_viso_sdk_logging, __pyx_k_viso_sdk_logging, sizeof(__pyx_k_viso_sdk_logging), 0, 0, 1, 1},
6807
+ {&__pyx_n_s_viso_sdk_logging_logger, __pyx_k_viso_sdk_logging_logger, sizeof(__pyx_k_viso_sdk_logging_logger), 0, 0, 1, 1},
6808
6808
  {&__pyx_n_s_viso_sdk_redis_redis_wrapper, __pyx_k_viso_sdk_redis_redis_wrapper, sizeof(__pyx_k_viso_sdk_redis_redis_wrapper), 0, 0, 1, 1},
6809
6809
  {&__pyx_kp_s_viso_sdk_redis_redis_wrapper_py, __pyx_k_viso_sdk_redis_redis_wrapper_py, sizeof(__pyx_k_viso_sdk_redis_redis_wrapper_py), 0, 0, 1, 0},
6810
6810
  {&__pyx_n_s_warning, __pyx_k_warning, sizeof(__pyx_k_warning), 0, 0, 1, 1},
@@ -7437,7 +7437,7 @@ if (!__Pyx_RefNanny) {
7437
7437
  *
7438
7438
  *
7439
7439
  * from viso_sdk.constants import PREFIX # <<<<<<<<<<<<<<
7440
- * from viso_sdk.logging import get_logger
7440
+ * from viso_sdk.logging.logger import get_logger
7441
7441
  *
7442
7442
  */
7443
7443
  __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14, __pyx_L1_error)
@@ -7457,7 +7457,7 @@ if (!__Pyx_RefNanny) {
7457
7457
  /* "viso_sdk/redis/redis_wrapper.py":15
7458
7458
  *
7459
7459
  * from viso_sdk.constants import PREFIX
7460
- * from viso_sdk.logging import get_logger # <<<<<<<<<<<<<<
7460
+ * from viso_sdk.logging.logger import get_logger # <<<<<<<<<<<<<<
7461
7461
  *
7462
7462
  *
7463
7463
  */
@@ -7466,7 +7466,7 @@ if (!__Pyx_RefNanny) {
7466
7466
  __Pyx_INCREF(__pyx_n_s_get_logger);
7467
7467
  __Pyx_GIVEREF(__pyx_n_s_get_logger);
7468
7468
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_get_logger)) __PYX_ERR(0, 15, __pyx_L1_error);
7469
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_viso_sdk_logging, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15, __pyx_L1_error)
7469
+ __pyx_t_3 = __Pyx_Import(__pyx_n_s_viso_sdk_logging_logger, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15, __pyx_L1_error)
7470
7470
  __Pyx_GOTREF(__pyx_t_3);
7471
7471
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7472
7472
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_get_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error)
@@ -12,7 +12,7 @@ import redis
12
12
 
13
13
 
14
14
  from viso_sdk.constants import PREFIX
15
- from viso_sdk.logging import get_logger
15
+ from viso_sdk.logging.logger import get_logger
16
16
 
17
17
 
18
18
  logger = get_logger("REDIS")