benchlab-pytools 3.0.3__tar.gz → 3.0.4__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 (206) hide show
  1. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/CHANGELOG.md +12 -0
  2. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/PKG-INFO +1 -1
  3. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/__init__.py +1 -1
  4. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/core/datasource.py +10 -0
  5. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/.flake8 +0 -0
  6. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/.gitignore +0 -0
  7. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/CONTRIBUTING.md +0 -0
  8. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/LICENSE +0 -0
  9. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/README.md +0 -0
  10. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/__main__.py +0 -0
  11. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/bootstrap.py +0 -0
  12. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/config/README.md +0 -0
  13. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/config/__init__.py +0 -0
  14. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/config/config_client.py +0 -0
  15. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/config/config_manager.py +0 -0
  16. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/config/config_tool.py +0 -0
  17. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/config/diff.py +0 -0
  18. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/config/examples/complete_config.json +0 -0
  19. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/config/examples/rgb_lighting.json +0 -0
  20. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/config/examples/simple_fan.json +0 -0
  21. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/config/schema.py +0 -0
  22. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/config/test_config_client.py +0 -0
  23. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/config/test_config_manager.py +0 -0
  24. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/config/test_diff.py +0 -0
  25. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/core/README.md +0 -0
  26. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/core/__init__.py +0 -0
  27. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/core/config.py +0 -0
  28. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/core/datasource_manager.py +0 -0
  29. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/core/device_registry.py +0 -0
  30. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/core/discovery.py +0 -0
  31. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/core/infrastructure.py +0 -0
  32. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/core/process_manager.py +0 -0
  33. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/core/retry.py +0 -0
  34. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/core/shared_serial.py +0 -0
  35. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/core/statistics.py +0 -0
  36. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/csv_log/README.md +0 -0
  37. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/csv_log/__init__.py +0 -0
  38. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/csv_log/csv_logger_enhanced.py +0 -0
  39. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/csv_log/message_batcher.py +0 -0
  40. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/csv_log/requirements.txt +0 -0
  41. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/csv_log/smart_retry.py +0 -0
  42. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/graph/README.md +0 -0
  43. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/graph/__init__.py +0 -0
  44. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/graph/app.py +0 -0
  45. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/graph/requirements.txt +0 -0
  46. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/graph/runner.py +0 -0
  47. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/graph/test_graph.py +0 -0
  48. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/graph/ui.py +0 -0
  49. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/hwinfo/README.md +0 -0
  50. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/hwinfo/__init__.py +0 -0
  51. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/hwinfo/hwinfo_export.py +0 -0
  52. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/hwinfo/requirements.txt +0 -0
  53. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/hwinfo/test_hwinfo_export.py +0 -0
  54. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/launcher.py +0 -0
  55. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/link/.env.EXAMPLE +0 -0
  56. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/link/README.md +0 -0
  57. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/link/__init__.py +0 -0
  58. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/link/link_main.py +0 -0
  59. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/link/test_link_main.py +0 -0
  60. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/main.py +0 -0
  61. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/menu.py +0 -0
  62. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/menu_classic.py +0 -0
  63. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/mqtt/README.md +0 -0
  64. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/mqtt/__init__.py +0 -0
  65. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/mqtt/mqtt.config_template +0 -0
  66. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/mqtt/mqtt_publisher.py +0 -0
  67. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/mqtt/requirements.txt +0 -0
  68. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/mqtt/test_mqtt_publisher.py +0 -0
  69. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/prefs.py +0 -0
  70. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/requirements.txt +0 -0
  71. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/restapi/.env.example +0 -0
  72. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/restapi/__init__.py +0 -0
  73. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/restapi/favicon.ico +0 -0
  74. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/restapi/readme.md +0 -0
  75. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/restapi/requirements.txt +0 -0
  76. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/restapi/telemetry_api.py +0 -0
  77. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/restapi/test_server.py +0 -0
  78. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/sources.py +0 -0
  79. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/tools.py +0 -0
  80. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/tui/README.md +0 -0
  81. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/tui/__init__.py +0 -0
  82. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/tui/config.py +0 -0
  83. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/tui/requirements.txt +0 -0
  84. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/tui/test_tui_core.py +0 -0
  85. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/tui/test_tui_main.py +0 -0
  86. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/tui/tui_core.py +0 -0
  87. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/tui/tui_main.py +0 -0
  88. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/README.md +0 -0
  89. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/NOTICE.md +0 -0
  90. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/README.md +0 -0
  91. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/Running_from_source_on_linux.md +0 -0
  92. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/__init__.py +0 -0
  93. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/assets/vu1_hello_world.png +0 -0
  94. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/community_applications.md +0 -0
  95. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/config.yaml +0 -0
  96. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/database.py +0 -0
  97. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/dial_driver.py +0 -0
  98. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/dials/Comms_Hub_Gauge.py +0 -0
  99. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/dials/Comms_Hub_Server.py +0 -0
  100. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/dials/__init__.py +0 -0
  101. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/dials/base_logger.py +0 -0
  102. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/installer/inc/icon.ico +0 -0
  103. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/installer/install.nsi +0 -0
  104. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/make_version.py +0 -0
  105. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/pylintrc +0 -0
  106. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/requirements.txt +0 -0
  107. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/serial_driver.py +0 -0
  108. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/server.py +0 -0
  109. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/server_config.py +0 -0
  110. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/server_dial_handler.py +0 -0
  111. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/vu_notifications.py +0 -0
  112. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/android-chrome-192x192.png +0 -0
  113. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/android-chrome-512x512.png +0 -0
  114. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/apple-touch-icon.png +0 -0
  115. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/demo.css +0 -0
  116. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/demo.min.css +0 -0
  117. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/demo.rtl.css +0 -0
  118. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/demo.rtl.min.css +0 -0
  119. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-flags.css +0 -0
  120. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-flags.min.css +0 -0
  121. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-flags.rtl.css +0 -0
  122. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-flags.rtl.min.css +0 -0
  123. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-payments.css +0 -0
  124. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-payments.min.css +0 -0
  125. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-payments.rtl.css +0 -0
  126. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-payments.rtl.min.css +0 -0
  127. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-social.css +0 -0
  128. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-social.min.css +0 -0
  129. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-social.rtl.css +0 -0
  130. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-social.rtl.min.css +0 -0
  131. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-vendors.css +0 -0
  132. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-vendors.min.css +0 -0
  133. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-vendors.rtl.css +0 -0
  134. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler-vendors.rtl.min.css +0 -0
  135. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler.css +0 -0
  136. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler.min.css +0 -0
  137. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler.rtl.css +0 -0
  138. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/tabler.rtl.min.css +0 -0
  139. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/css/theme.min.css +0 -0
  140. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/img/header.png +0 -0
  141. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/img/logo.png +0 -0
  142. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/dark-theme.js +0 -0
  143. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/dark-theme.min.js +0 -0
  144. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/demo.js +0 -0
  145. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/demo.min.js +0 -0
  146. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/jquery.min.js +0 -0
  147. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/tabler.esm.js +0 -0
  148. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/tabler.esm.min.js +0 -0
  149. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/tabler.js +0 -0
  150. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/tabler.min.js +0 -0
  151. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/vu1_api.js +0 -0
  152. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/vu1_gui_api_key_settings.js +0 -0
  153. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/vu1_gui_api_keys.js +0 -0
  154. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/vu1_gui_dial.js +0 -0
  155. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/vu1_gui_home.js +0 -0
  156. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/assets/js/vu1_gui_root.js +0 -0
  157. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/favicon-16x16.png +0 -0
  158. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/favicon-32x32.png +0 -0
  159. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/favicon.ico +0 -0
  160. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/favicon.png +0 -0
  161. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/index.html +0 -0
  162. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/views/api_keys.html +0 -0
  163. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/views/dial.html +0 -0
  164. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/views/footer.html +0 -0
  165. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/views/header.html +0 -0
  166. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/views/key_settings.html +0 -0
  167. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/VU-Server/www/views/start.html +0 -0
  168. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/__init__.py +0 -0
  169. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/assets/Barlow-Bold.ttf +0 -0
  170. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/assets/bl_dial_144x200.png +0 -0
  171. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/assets/bl_logo_144x200.png +0 -0
  172. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/devices.py +0 -0
  173. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/requirements.txt +0 -0
  174. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/sensors.py +0 -0
  175. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/test_devices.py +0 -0
  176. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/test_vu_server_config.py +0 -0
  177. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/test_vu_server_manager.py +0 -0
  178. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/test_vu_tui.py +0 -0
  179. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/vu_dial.config_template +0 -0
  180. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/vu_logo_gen.py +0 -0
  181. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/vu_server.config_template +0 -0
  182. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/vu_server_config.py +0 -0
  183. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/vu_server_manager.py +0 -0
  184. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/vu_tui.py +0 -0
  185. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/vu/vu_updater.py +0 -0
  186. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/README.md +0 -0
  187. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/__init__.py +0 -0
  188. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/assets/Inter-Bold.ttf +0 -0
  189. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/assets/Inter.ttf +0 -0
  190. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/assets/benchlab.png +0 -0
  191. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/benchlab_fleet.py +0 -0
  192. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/benchlab_graph.py +0 -0
  193. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/benchlab_overview.py +0 -0
  194. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/benchlab_telemetry.py +0 -0
  195. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/benchlab_ui.py +0 -0
  196. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/benchlab_utils.py +0 -0
  197. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/requirements.txt +0 -0
  198. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/test_wigidash.py +0 -0
  199. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/wigidash_device.py +0 -0
  200. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/wigidash_manager.py +0 -0
  201. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/wigidash_session.py +0 -0
  202. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/wigidash_usb.py +0 -0
  203. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab/wigidash/wigidash_widget.py +0 -0
  204. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/benchlab.py +0 -0
  205. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/pyproject.toml +0 -0
  206. {benchlab_pytools-3.0.3 → benchlab_pytools-3.0.4}/pytest.ini +0 -0
@@ -4,6 +4,17 @@ All notable changes to BENCHLAB PyTools are documented here. Format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versioning follows
5
5
  [SemVer](https://semver.org/).
6
6
 
7
+ ## [3.0.4] - 2026-08-18
8
+
9
+ ### Fixed
10
+ - 12VHPWR tab per-pin sense lines (`HPWR{1,2}_W{1..6}`) read 0.0 over
11
+ `service_http`/`named_pipe`, even though other apps using the same
12
+ `service_http` API showed correct values. The C# service's telemetry
13
+ normalization mapped the HPWR1/HPWR2 rail summaries but never mapped
14
+ the 12 individual per-pin sense-line sensors, so their C#
15
+ `ShortName`s (`HPWR{n}_W{m}_{P,I,V}`) passed through unmapped instead
16
+ of becoming the `..._{Power,Current,Voltage}` keys the TUI reads.
17
+
7
18
  ## [3.0.3] - 2026-08-18
8
19
 
9
20
  ### Fixed
@@ -91,6 +102,7 @@ export, MQTT publisher, VU dials, WigiDash, and config import/export tools,
91
102
  sharing a common data-source layer (direct serial, FastAPI, MQTT, named
92
103
  pipe, service HTTP).
93
104
 
105
+ [3.0.4]: https://github.com/BenchLab-io/benchlab-pytools/compare/v3.0.3...v3.0.4
94
106
  [3.0.3]: https://github.com/BenchLab-io/benchlab-pytools/compare/v3.0.2...v3.0.3
95
107
  [3.0.2]: https://github.com/BenchLab-io/benchlab-pytools/compare/v3.0.1...v3.0.2
96
108
  [3.0.1]: https://github.com/BenchLab-io/benchlab-pytools/compare/v3.0.0...v3.0.1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: benchlab-pytools
3
- Version: 3.0.3
3
+ Version: 3.0.4
4
4
  Summary: Python control suite for BENCHLAB telemetry devices
5
5
  Project-URL: Homepage, https://benchlab.io/
6
6
  Project-URL: Repository, https://github.com/BenchLab-io/benchlab-pytools
@@ -2,4 +2,4 @@
2
2
  BENCHLAB Telemetry Package
3
3
  """
4
4
 
5
- __version__ = "3.0.3"
5
+ __version__ = "3.0.4"
@@ -698,6 +698,16 @@ def _normalise_cs_telemetry(sensors_raw: list) -> Dict[str, Any]:
698
698
  "HPWR2_P": "HPWR2_Power", "HPWR2_V": "HPWR2_Voltage",
699
699
  "HPWR2_I": "HPWR2_Current",
700
700
 
701
+ # BL2 12VHPWR per-pin sense lines (HPWR{1,2}_W{1..6}), shown on
702
+ # the TUI's 12VHPWR tab as HPWR{n}_W{m}_{Power,Current,Voltage}
703
+ **{
704
+ f"HPWR{n}_W{m}_{suffix}": f"HPWR{n}_W{m}_{tui_suffix}"
705
+ for n in (1, 2)
706
+ for m in range(1, 7)
707
+ for suffix, tui_suffix in (
708
+ ("P", "Power"), ("I", "Current"), ("V", "Voltage"))
709
+ },
710
+
701
711
  # Board voltages
702
712
  "VDD": "Vdd",
703
713
  "VREF": "Vref",