PyAutomationIO 2.0.12__tar.gz → 2.0.13__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 (183) hide show
  1. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/PKG-INFO +1 -1
  2. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/PyAutomationIO.egg-info/PKG-INFO +1 -1
  3. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/core.py +18 -0
  4. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/tags/resources/tags.py +25 -0
  5. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/tags/cvt.py +46 -2
  6. pyautomationio-2.0.13/version.py +2 -0
  7. pyautomationio-2.0.12/version.py +0 -2
  8. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/LICENSE +0 -0
  9. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/MANIFEST.in +0 -0
  10. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/PyAutomationIO.egg-info/SOURCES.txt +0 -0
  11. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/PyAutomationIO.egg-info/dependency_links.txt +0 -0
  12. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/PyAutomationIO.egg-info/requires.txt +0 -0
  13. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/PyAutomationIO.egg-info/top_level.txt +0 -0
  14. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/README.md +0 -0
  15. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/__init__.py +0 -0
  16. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/alarms/__init__.py +0 -0
  17. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/alarms/states.py +0 -0
  18. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/alarms/trigger.py +0 -0
  19. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/buffer.py +0 -0
  20. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/dbmodels/__init__.py +0 -0
  21. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/dbmodels/alarms.py +0 -0
  22. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/dbmodels/core.py +0 -0
  23. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/dbmodels/events.py +0 -0
  24. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/dbmodels/logs.py +0 -0
  25. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/dbmodels/machines.py +0 -0
  26. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/dbmodels/opcua.py +0 -0
  27. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/dbmodels/opcua_server.py +0 -0
  28. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/dbmodels/tags.py +0 -0
  29. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/dbmodels/users.py +0 -0
  30. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/extensions/__init__.py +0 -0
  31. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/extensions/api.py +0 -0
  32. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/extensions/cors.py +0 -0
  33. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/filter/__init__.py +0 -0
  34. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/assets/bootstrap-icons-BeopsB42.woff +0 -0
  35. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/assets/bootstrap-icons-mSm7cUeB.woff2 +0 -0
  36. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/assets/fa-brands-400-D1LuMI3I.ttf +0 -0
  37. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/assets/fa-brands-400-D_cYUPeE.woff2 +0 -0
  38. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/assets/fa-regular-400-BjRzuEpd.woff2 +0 -0
  39. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/assets/fa-regular-400-DZaxPHgR.ttf +0 -0
  40. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/assets/fa-solid-900-CTAAxXor.woff2 +0 -0
  41. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/assets/fa-solid-900-D0aA9rwL.ttf +0 -0
  42. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/assets/fa-v4compatibility-C9RhG_FT.woff2 +0 -0
  43. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/assets/fa-v4compatibility-CCth-dXg.ttf +0 -0
  44. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/assets/index-CFaA_HVS.js +0 -0
  45. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/assets/index-fe9Q2n8A.css +0 -0
  46. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/index.html +0 -0
  47. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/industrial_pallete_icons/90/302/260 curve 2.svg" +0 -0
  48. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/industrial_pallete_icons/Analog gauge.svg +0 -0
  49. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/industrial_pallete_icons/Cool pump.svg +0 -0
  50. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/industrial_pallete_icons/Hand valve 4.svg +0 -0
  51. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/industrial_pallete_icons/Mass flowmeter.svg +0 -0
  52. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/industrial_pallete_icons/Short horizontal pipe.svg +0 -0
  53. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/hmi/industrial_pallete_icons/Tank 16.svg +0 -0
  54. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/iad/__init__.py +0 -0
  55. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/iad/frozen_data.py +0 -0
  56. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/iad/out_of_range.py +0 -0
  57. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/iad/outliers.py +0 -0
  58. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/logger/__init__.py +0 -0
  59. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/logger/alarms.py +0 -0
  60. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/logger/core.py +0 -0
  61. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/logger/datalogger.py +0 -0
  62. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/logger/events.py +0 -0
  63. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/logger/logdict.py +0 -0
  64. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/logger/logs.py +0 -0
  65. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/logger/machines.py +0 -0
  66. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/logger/opcua_server.py +0 -0
  67. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/logger/users.py +0 -0
  68. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/managers/__init__.py +0 -0
  69. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/managers/alarms.py +0 -0
  70. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/managers/db.py +0 -0
  71. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/managers/opcua_client.py +0 -0
  72. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/managers/state_machine.py +0 -0
  73. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/models.py +0 -0
  74. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/__init__.py +0 -0
  75. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/alarms/__init__.py +0 -0
  76. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/alarms/resources/__init__.py +0 -0
  77. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/alarms/resources/alarms.py +0 -0
  78. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/alarms/resources/summary.py +0 -0
  79. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/database/__init__.py +0 -0
  80. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/database/resources/__init__.py +0 -0
  81. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/database/resources/database.py +0 -0
  82. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/events/__init__.py +0 -0
  83. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/events/resources/__init__.py +0 -0
  84. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/events/resources/events.py +0 -0
  85. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/events/resources/logs.py +0 -0
  86. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/health/__init__.py +0 -0
  87. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/health/resources/__init__.py +0 -0
  88. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/health/resources/health.py +0 -0
  89. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/machines/__init__.py +0 -0
  90. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/machines/resources/__init__.py +0 -0
  91. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/machines/resources/machines.py +0 -0
  92. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/opcua/__init__.py +0 -0
  93. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/opcua/resources/__init__.py +0 -0
  94. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/opcua/resources/clients.py +0 -0
  95. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/opcua/resources/server.py +0 -0
  96. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/settings/__init__.py +0 -0
  97. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/settings/resources/__init__.py +0 -0
  98. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/settings/resources/settings.py +0 -0
  99. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/tags/__init__.py +0 -0
  100. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/tags/resources/__init__.py +0 -0
  101. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/users/__init__.py +0 -0
  102. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/users/resources/__init__.py +0 -0
  103. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/users/resources/models/__init__.py +0 -0
  104. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/users/resources/models/roles.py +0 -0
  105. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/users/resources/models/users.py +0 -0
  106. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/users/resources/roles.py +0 -0
  107. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/users/resources/users.py +0 -0
  108. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/users/roles.py +0 -0
  109. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/modules/users/users.py +0 -0
  110. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/opcua/__init__.py +0 -0
  111. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/opcua/models.py +0 -0
  112. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/opcua/subscription.py +0 -0
  113. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/__init__.py +0 -0
  114. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/alarms.py +0 -0
  115. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/alarms_history.py +0 -0
  116. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/assets/styles.css +0 -0
  117. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/callbacks/__init__.py +0 -0
  118. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/callbacks/alarms.py +0 -0
  119. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/callbacks/alarms_summary.py +0 -0
  120. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/callbacks/db.py +0 -0
  121. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/callbacks/filter.py +0 -0
  122. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/callbacks/machines.py +0 -0
  123. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/callbacks/machines_detailed.py +0 -0
  124. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/callbacks/opcua.py +0 -0
  125. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/callbacks/opcua_server.py +0 -0
  126. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/callbacks/tags.py +0 -0
  127. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/callbacks/trends.py +0 -0
  128. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/communications.py +0 -0
  129. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/components/__init__.py +0 -0
  130. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/components/alarms.py +0 -0
  131. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/components/alarms_summary.py +0 -0
  132. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/components/database.py +0 -0
  133. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/components/gaussian_filter.py +0 -0
  134. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/components/machines.py +0 -0
  135. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/components/opcua.py +0 -0
  136. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/components/opcua_server.py +0 -0
  137. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/components/tags.py +0 -0
  138. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/components/trends.py +0 -0
  139. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/database.py +0 -0
  140. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/filter.py +0 -0
  141. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/machines.py +0 -0
  142. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/machines_detailed.py +0 -0
  143. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/main.py +0 -0
  144. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/opcua_server.py +0 -0
  145. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/tags.py +0 -0
  146. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/pages/trends.py +0 -0
  147. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/singleton.py +0 -0
  148. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/state_machine.py +0 -0
  149. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/tags/__init__.py +0 -0
  150. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/tags/filter.py +0 -0
  151. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/tags/tag.py +0 -0
  152. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/tests/__init__.py +0 -0
  153. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/tests/test_alarms.py +0 -0
  154. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/tests/test_core.py +0 -0
  155. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/tests/test_opcua_serialization.py +0 -0
  156. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/tests/test_unit.py +0 -0
  157. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/tests/test_user.py +0 -0
  158. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/utils/__init__.py +0 -0
  159. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/utils/decorators.py +0 -0
  160. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/utils/observer.py +0 -0
  161. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/utils/units.py +0 -0
  162. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/__init__.py +0 -0
  163. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/adimentional.py +0 -0
  164. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/current.py +0 -0
  165. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/density.py +0 -0
  166. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/eng_time.py +0 -0
  167. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/force.py +0 -0
  168. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/length.py +0 -0
  169. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/mass.py +0 -0
  170. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/mass_flow.py +0 -0
  171. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/percentage.py +0 -0
  172. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/power.py +0 -0
  173. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/pressure.py +0 -0
  174. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/temperature.py +0 -0
  175. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/volume.py +0 -0
  176. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/variables/volumetric_flow.py +0 -0
  177. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/workers/__init__.py +0 -0
  178. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/workers/logger.py +0 -0
  179. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/workers/state_machine.py +0 -0
  180. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/automation/workers/worker.py +0 -0
  181. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/requirements.txt +0 -0
  182. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/setup.cfg +0 -0
  183. {pyautomationio-2.0.12 → pyautomationio-2.0.13}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyAutomationIO
3
- Version: 2.0.12
3
+ Version: 2.0.13
4
4
  Summary: A python framework to develop automation industrial processes applications and Artificial Intelligence applications for the industrial field
5
5
  Home-page: https://github.com/know-ai/PyAutomation
6
6
  Author: KnowAI
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyAutomationIO
3
- Version: 2.0.12
3
+ Version: 2.0.13
4
4
  Summary: A python framework to develop automation industrial processes applications and Artificial Intelligence applications for the industrial field
5
5
  Home-page: https://github.com/know-ai/PyAutomation
6
6
  Author: KnowAI
@@ -563,6 +563,24 @@ class PyAutomation(Singleton):
563
563
 
564
564
  return self.cvt.get_tags()
565
565
 
566
+ @logging_error_handler
567
+ @validate_types(output=list)
568
+ def get_tags_list(self, manufacturer:str=None, segment:str=None)->list:
569
+ r"""
570
+ Retrieves a non-paginated list of tags with only name, display_unit, variable, display_name.
571
+ Optionally filtered by manufacturer and/or segment.
572
+
573
+ **Parameters:**
574
+
575
+ * **manufacturer** (str, optional): Filter by manufacturer.
576
+ * **segment** (str, optional): Filter by segment.
577
+
578
+ **Returns:**
579
+
580
+ * **list**: List of tag dicts with keys: name, display_unit, variable, display_name.
581
+ """
582
+ return self.cvt.get_tags_filtered(manufacturer=manufacturer, segment=segment)
583
+
566
584
  @logging_error_handler
567
585
  @validate_types(names=list, output=list)
568
586
  def get_tags_by_names(self, names:list)->list[Tag|None]:
@@ -88,6 +88,11 @@ update_tag_model = api.model("update_tag_model", {
88
88
  'manufacturer': fields.String(required=False, description='Device manufacturer')
89
89
  })
90
90
 
91
+ tags_list_filter_model = api.model("tags_list_filter_model", {
92
+ 'manufacturer': fields.String(required=False, description='Filter by manufacturer'),
93
+ 'segment': fields.String(required=False, description='Filter by segment')
94
+ })
95
+
91
96
 
92
97
  @ns.route('/')
93
98
  class TagsCollection(Resource):
@@ -136,6 +141,26 @@ class TagsCollection(Resource):
136
141
  }
137
142
  }, 200
138
143
 
144
+ @ns.route('/list')
145
+ class TagsListCollection(Resource):
146
+
147
+ @api.doc(security='apikey', description="Retrieves a non-paginated list of tags with name, display_unit, variable, display_name. Optional filter by manufacturer and/or segment.")
148
+ @api.response(200, "Success")
149
+ @Api.token_required(auth=True)
150
+ @ns.expect(tags_list_filter_model)
151
+ def post(self):
152
+ """
153
+ Get tags list (slim).
154
+
155
+ Returns a list of tags with only name, display_unit, variable, display_name.
156
+ Accepts optional body with manufacturer and/or segment to filter.
157
+ """
158
+ payload = api.payload or {}
159
+ manufacturer = payload.get('manufacturer')
160
+ segment = payload.get('segment')
161
+ data = app.get_tags_list(manufacturer=manufacturer, segment=segment)
162
+ return {'data': data}, 200
163
+
139
164
  @ns.route('/names')
140
165
  class TagsNamesCollection(Resource):
141
166
 
@@ -349,7 +349,38 @@ class CVT:
349
349
  return [tag.serialize() for _, tag in self._tags.items() if tag.name in names]
350
350
 
351
351
  return list()
352
-
352
+
353
+ @logging_error_handler
354
+ def get_tags_filtered(self, manufacturer:str=None, segment:str=None)->list:
355
+ r"""
356
+ Returns a list of tags with only name, display_unit, variable, display_name,
357
+ optionally filtered by manufacturer and/or segment.
358
+
359
+ **Parameters:**
360
+
361
+ * **manufacturer** (str, optional): Filter by manufacturer.
362
+ * **segment** (str, optional): Filter by segment.
363
+
364
+ **Returns:**
365
+
366
+ * **list**: List of tag dicts with keys: name, display_unit, variable, display_name.
367
+ """
368
+ if not self._tags:
369
+ return list()
370
+ result = []
371
+ for _, tag in self._tags.items():
372
+ if manufacturer is not None and manufacturer != "" and tag.manufacturer != manufacturer:
373
+ continue
374
+ if segment is not None and segment != "" and tag.segment != segment:
375
+ continue
376
+ result.append({
377
+ "name": tag.name,
378
+ "display_unit": tag.get_display_unit(),
379
+ "variable": tag.get_variable(),
380
+ "display_name": tag.get_display_name(),
381
+ })
382
+ return result
383
+
353
384
  @logging_error_handler
354
385
  def get_field_tags_names(self)->list:
355
386
  r"""
@@ -864,7 +895,20 @@ class CVTEngine(Singleton):
864
895
  _query["parameters"] = dict()
865
896
  _query["parameters"]["names"] = names
866
897
  return self.__query(_query)
867
-
898
+
899
+ @logging_error_handler
900
+ def get_tags_filtered(self, manufacturer:str=None, segment:str=None):
901
+ r"""
902
+ Thread-safe method to get tags filtered by manufacturer and/or segment.
903
+ Returns list of dicts with name, display_unit, variable, display_name.
904
+ """
905
+ _query = dict()
906
+ _query["action"] = "get_tags_filtered"
907
+ _query["parameters"] = dict()
908
+ _query["parameters"]["manufacturer"] = manufacturer
909
+ _query["parameters"]["segment"] = segment
910
+ return self.__query(_query)
911
+
868
912
  @logging_error_handler
869
913
  def get_tag_by_name(self, name:str)->Tag|None:
870
914
  r"""
@@ -0,0 +1,2 @@
1
+ __version__ = '2.0.13'
2
+
@@ -1,2 +0,0 @@
1
- __version__ = '2.0.12'
2
-
File without changes