cgse 0.16.7__tar.gz → 0.16.8__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 (540) hide show
  1. {cgse-0.16.7 → cgse-0.16.8}/PKG-INFO +1 -1
  2. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/pyproject.toml +1 -1
  3. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/pyproject.toml +1 -1
  4. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/pyproject.toml +1 -1
  5. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/proxy.py +15 -7
  6. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/registry/client.py +43 -11
  7. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/registry/server.py +2 -0
  8. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/pyproject.toml +1 -1
  9. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/pyproject.toml +1 -1
  10. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/pyproject.toml +1 -1
  11. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/pyproject.toml +1 -1
  12. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/pyproject.toml +1 -1
  13. {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-fits/pyproject.toml +1 -1
  14. {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-hdf5/pyproject.toml +1 -1
  15. {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-spw/pyproject.toml +1 -1
  16. {cgse-0.16.7 → cgse-0.16.8}/pyproject.toml +1 -1
  17. {cgse-0.16.7 → cgse-0.16.8}/service_registry.db +0 -0
  18. cgse-0.16.8/service_registry.db-shm +0 -0
  19. cgse-0.16.8/service_registry.db-wal +0 -0
  20. {cgse-0.16.7 → cgse-0.16.8}/.github/workflows/ruff-format-check.yaml +0 -0
  21. {cgse-0.16.7 → cgse-0.16.8}/.gitignore +0 -0
  22. {cgse-0.16.7 → cgse-0.16.8}/README.md +0 -0
  23. {cgse-0.16.7 → cgse-0.16.8}/buffer_vat.log +0 -0
  24. {cgse-0.16.7 → cgse-0.16.8}/buffer_vat.png +0 -0
  25. {cgse-0.16.7 → cgse-0.16.8}/bump.py +0 -0
  26. {cgse-0.16.7 → cgse-0.16.8}/conftest.py +0 -0
  27. {cgse-0.16.7 → cgse-0.16.8}/docs/api/bits.md +0 -0
  28. {cgse-0.16.7 → cgse-0.16.8}/docs/api/calibration.md +0 -0
  29. {cgse-0.16.7 → cgse-0.16.8}/docs/api/command.md +0 -0
  30. {cgse-0.16.7 → cgse-0.16.8}/docs/api/config.md +0 -0
  31. {cgse-0.16.7 → cgse-0.16.8}/docs/api/control.md +0 -0
  32. {cgse-0.16.7 → cgse-0.16.8}/docs/api/counter.md +0 -0
  33. {cgse-0.16.7 → cgse-0.16.8}/docs/api/decorators.md +0 -0
  34. {cgse-0.16.7 → cgse-0.16.8}/docs/api/device.md +0 -0
  35. {cgse-0.16.7 → cgse-0.16.8}/docs/api/dicts.md +0 -0
  36. {cgse-0.16.7 → cgse-0.16.8}/docs/api/dummy.md +0 -0
  37. {cgse-0.16.7 → cgse-0.16.8}/docs/api/env.md +0 -0
  38. {cgse-0.16.7 → cgse-0.16.8}/docs/api/exceptions.md +0 -0
  39. {cgse-0.16.7 → cgse-0.16.8}/docs/api/heartbeat.md +0 -0
  40. {cgse-0.16.7 → cgse-0.16.8}/docs/api/hk.md +0 -0
  41. {cgse-0.16.7 → cgse-0.16.8}/docs/api/index.md +0 -0
  42. {cgse-0.16.7 → cgse-0.16.8}/docs/api/listener.md +0 -0
  43. {cgse-0.16.7 → cgse-0.16.8}/docs/api/metrics.md +0 -0
  44. {cgse-0.16.7 → cgse-0.16.8}/docs/api/mixin.md +0 -0
  45. {cgse-0.16.7 → cgse-0.16.8}/docs/api/monitoring.md +0 -0
  46. {cgse-0.16.7 → cgse-0.16.8}/docs/api/observer.md +0 -0
  47. {cgse-0.16.7 → cgse-0.16.8}/docs/api/obsid.md +0 -0
  48. {cgse-0.16.7 → cgse-0.16.8}/docs/api/persistence.md +0 -0
  49. {cgse-0.16.7 → cgse-0.16.8}/docs/api/plugin.md +0 -0
  50. {cgse-0.16.7 → cgse-0.16.8}/docs/api/process.md +0 -0
  51. {cgse-0.16.7 → cgse-0.16.8}/docs/api/reload.md +0 -0
  52. {cgse-0.16.7 → cgse-0.16.8}/docs/api/settings.md +0 -0
  53. {cgse-0.16.7 → cgse-0.16.8}/docs/api/setup.md +0 -0
  54. {cgse-0.16.7 → cgse-0.16.8}/docs/api/system.md +0 -0
  55. {cgse-0.16.7 → cgse-0.16.8}/docs/custom_theme/main.html +0 -0
  56. {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/coding_style.md +0 -0
  57. {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/docs.md +0 -0
  58. {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/index.md +0 -0
  59. {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/installation.md +0 -0
  60. {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/monitoring.md +0 -0
  61. {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/monorepo.md +0 -0
  62. {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/nox.md +0 -0
  63. {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/plugins.md +0 -0
  64. {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/project-configuration.md +0 -0
  65. {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/unit_testing.md +0 -0
  66. {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/uv.md +0 -0
  67. {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/versioning.md +0 -0
  68. {cgse-0.16.7 → cgse-0.16.8}/docs/getting_started.md +0 -0
  69. {cgse-0.16.7 → cgse-0.16.8}/docs/help.md +0 -0
  70. {cgse-0.16.7 → cgse-0.16.8}/docs/images/cli-cgse.png +0 -0
  71. {cgse-0.16.7 → cgse-0.16.8}/docs/images/github-fork-clone-dark.png +0 -0
  72. {cgse-0.16.7 → cgse-0.16.8}/docs/images/github-fork-clone.png +0 -0
  73. {cgse-0.16.7 → cgse-0.16.8}/docs/images/grafana-queries.png +0 -0
  74. {cgse-0.16.7 → cgse-0.16.8}/docs/images/icons/cgse-logo-blue.svg +0 -0
  75. {cgse-0.16.7 → cgse-0.16.8}/docs/images/icons/cgse-logo.svg +0 -0
  76. {cgse-0.16.7 → cgse-0.16.8}/docs/index.md +0 -0
  77. {cgse-0.16.7 → cgse-0.16.8}/docs/initialize.md +0 -0
  78. {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-common/images/load_methods.png +0 -0
  79. {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-common/index.md +0 -0
  80. {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-common/settings.md +0 -0
  81. {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-common/setup.md +0 -0
  82. {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-coordinates/index.md +0 -0
  83. {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-core/index.md +0 -0
  84. {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-core/notifyhub.md +0 -0
  85. {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-core/registry.md +0 -0
  86. {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-gui/index.md +0 -0
  87. {cgse-0.16.7 → cgse-0.16.8}/docs/libs/index.md +0 -0
  88. {cgse-0.16.7 → cgse-0.16.8}/docs/package_list.md +0 -0
  89. {cgse-0.16.7 → cgse-0.16.8}/docs/projects/cgse-tools.md +0 -0
  90. {cgse-0.16.7 → cgse-0.16.8}/docs/projects/index.md +0 -0
  91. {cgse-0.16.7 → cgse-0.16.8}/docs/projects/symetrie-hexapod.md +0 -0
  92. {cgse-0.16.7 → cgse-0.16.8}/docs/roadmap.md +0 -0
  93. {cgse-0.16.7 → cgse-0.16.8}/docs/stylesheets/custom.css +0 -0
  94. {cgse-0.16.7 → cgse-0.16.8}/docs/stylesheets/extra.css +0 -0
  95. {cgse-0.16.7 → cgse-0.16.8}/docs/tutorial.md +0 -0
  96. {cgse-0.16.7 → cgse-0.16.8}/docs/user_guide/cli.md +0 -0
  97. {cgse-0.16.7 → cgse-0.16.8}/docs/user_guide/index.md +0 -0
  98. {cgse-0.16.7 → cgse-0.16.8}/duckdb_metrics.db +0 -0
  99. {cgse-0.16.7 → cgse-0.16.8}/duckdb_metrics.db.wal +0 -0
  100. {cgse-0.16.7 → cgse-0.16.8}/identifier.sqlite +0 -0
  101. {cgse-0.16.7 → cgse-0.16.8}/justfile +0 -0
  102. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/README.md +0 -0
  103. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/justfile +0 -0
  104. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/noxfile.py +0 -0
  105. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/service_registry.db +0 -0
  106. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/cgse_common/__init__.py +0 -0
  107. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/cgse_common/cgse.py +0 -0
  108. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/cgse_common/settings.yaml +0 -0
  109. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/bits.py +0 -0
  110. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/calibration.py +0 -0
  111. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/config.py +0 -0
  112. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/counter.py +0 -0
  113. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/decorators.py +0 -0
  114. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/device.py +0 -0
  115. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/dicts.py +0 -0
  116. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/env.py +0 -0
  117. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/exceptions.py +0 -0
  118. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/heartbeat.py +0 -0
  119. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/hk.py +0 -0
  120. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/log.py +0 -0
  121. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/metrics.py +0 -0
  122. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/observer.py +0 -0
  123. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/obsid.py +0 -0
  124. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/persistence.py +0 -0
  125. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/plugin.py +0 -0
  126. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/plugins/metrics/duckdb.py +0 -0
  127. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/plugins/metrics/influxdb.py +0 -0
  128. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/plugins/metrics/timescaledb.py +0 -0
  129. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/process.py +0 -0
  130. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/py.typed +0 -0
  131. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/randomwalk.py +0 -0
  132. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/ratelimit.py +0 -0
  133. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/reload.py +0 -0
  134. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/resource.py +0 -0
  135. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/response.py +0 -0
  136. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/scpi.py +0 -0
  137. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/settings.py +0 -0
  138. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/settings.yaml +0 -0
  139. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/setup.py +0 -0
  140. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/signal.py +0 -0
  141. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/socketdevice.py +0 -0
  142. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/state.py +0 -0
  143. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/system.py +0 -0
  144. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/task.py +0 -0
  145. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/version.py +0 -0
  146. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/zmq_ser.py +0 -0
  147. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/conftest.py +0 -0
  148. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/COPYING +0 -0
  149. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00028_201028_155259.yaml +0 -0
  150. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00029_201028_155331.yaml +0 -0
  151. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00030_210311_134043.yaml +0 -0
  152. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00080_210917_105245.yaml +0 -0
  153. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00081_210922_142259.yaml +0 -0
  154. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00082_210923_094458.yaml +0 -0
  155. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL1/README.md +0 -0
  156. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL2/README.md +0 -0
  157. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/IAS/README.md +0 -0
  158. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/INTA/README.md +0 -0
  159. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/LAB23/README.md +0 -0
  160. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00027_211119_140441.yaml +0 -0
  161. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00028_211119_160406.yaml +0 -0
  162. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00029_211119_172918.yaml +0 -0
  163. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00030_211122_103604.yaml +0 -0
  164. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00031_211123_124900.yaml +0 -0
  165. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/common/telemetry/tm-dictionary-default.csv +0 -0
  166. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/conf/SETUP_20250114_1519.yaml +0 -0
  167. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/conf/config-file.toml +0 -0
  168. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/cal_coeff_1234.csv +0 -0
  169. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/calibration.csv +0 -0
  170. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/calibration.yaml +0 -0
  171. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/command.yaml +0 -0
  172. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/corrupt.yaml +0 -0
  173. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/data-file.txt +0 -0
  174. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/empty_data_file.txt +0 -0
  175. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/empty_yaml_file.yaml +0 -0
  176. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/local_settings.yaml +0 -0
  177. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/new_local_settings.yaml +0 -0
  178. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/test_setup.yaml +0 -0
  179. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/icons/hourglass.svg +0 -0
  180. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/icons/keyboard.png +0 -0
  181. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/icons/soap_sponge.svg +0 -0
  182. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/lib/dev1/shared-lib.so +0 -0
  183. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/lib/dev2/shared-lib.so +0 -0
  184. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/fixtures/default_env.py +0 -0
  185. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/fixtures/helpers.py +0 -0
  186. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/scripts/empty_process.py +0 -0
  187. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/scripts/handle_sigterm.py +0 -0
  188. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/scripts/process_with_children.py +0 -0
  189. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/scripts/raise_value_error.py +0 -0
  190. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/scripts/void-0.py +0 -0
  191. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/scripts/void-1.py +0 -0
  192. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_bits.py +0 -0
  193. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_config.py +0 -0
  194. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_decorators.py +0 -0
  195. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_device.py +0 -0
  196. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_env.py +0 -0
  197. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_fixtures.py +0 -0
  198. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_hk.py +0 -0
  199. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_influxdb_plugin.py +0 -0
  200. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_log.py +0 -0
  201. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_metrics.py +0 -0
  202. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_plugin.py +0 -0
  203. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_process.py +0 -0
  204. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_ratelimit.py +0 -0
  205. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_resource.py +0 -0
  206. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_response.py +0 -0
  207. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_settings.py +0 -0
  208. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_setup.py +0 -0
  209. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_signal.py +0 -0
  210. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_state.py +0 -0
  211. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_system.py +0 -0
  212. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_task.py +0 -0
  213. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_zmq_ser.py +0 -0
  214. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/README.md +0 -0
  215. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/cgse_coordinates/__init__.py +0 -0
  216. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/cgse_coordinates/settings.yaml +0 -0
  217. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/__init__.py +0 -0
  218. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/avoidance.py +0 -0
  219. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/cslmodel.py +0 -0
  220. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/laser_tracker_to_dict.py +0 -0
  221. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/point.py +0 -0
  222. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/pyplot.py +0 -0
  223. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/referenceFrame.py +0 -0
  224. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/refmodel.py +0 -0
  225. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/rotationMatrix.py +0 -0
  226. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/transform3d_addon.py +0 -0
  227. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_avoidance.py +0 -0
  228. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_coordinates_plot.py +0 -0
  229. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_coordinates_serialize.py +0 -0
  230. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_point.py +0 -0
  231. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_ref_model.py +0 -0
  232. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_reference_frames.py +0 -0
  233. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_refmodel.py +0 -0
  234. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/.envrc.disabled +0 -0
  235. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/README.md +0 -0
  236. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/service_registry.db +0 -0
  237. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/__init__.py +0 -0
  238. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/_start.py +0 -0
  239. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/_status.py +0 -0
  240. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/_stop.py +0 -0
  241. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/cgse_explore.py +0 -0
  242. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/services.py +0 -0
  243. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/settings.yaml +0 -0
  244. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/_setup_core.py +0 -0
  245. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/async_control.py +0 -0
  246. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/async_control_claude.py +0 -0
  247. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/command.py +0 -0
  248. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/confman/__init__.py +0 -0
  249. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/confman/__main__.py +0 -0
  250. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/confman/confman.yaml +0 -0
  251. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/confman/confman_cs.py +0 -0
  252. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/connect-todo.py +0 -0
  253. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/connect.py +0 -0
  254. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/control.py +0 -0
  255. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/dummy.py +0 -0
  256. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/busy.svg +0 -0
  257. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/operational-mode.svg +0 -0
  258. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/pm_ui.svg +0 -0
  259. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/simulator-mode.svg +0 -0
  260. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/start-process-button.svg +0 -0
  261. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/stop-process-button.svg +0 -0
  262. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/user-interface.svg +0 -0
  263. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/listener.py +0 -0
  264. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/logger/__init__.py +0 -0
  265. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/logger/__main__.py +0 -0
  266. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/logger/log_cs.py +0 -0
  267. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/metricshub/__init__.py +0 -0
  268. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/metricshub/server.py +0 -0
  269. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/mixin.py +0 -0
  270. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/monitoring.py +0 -0
  271. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/notifyhub/__init__.py +0 -0
  272. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/notifyhub/client.py +0 -0
  273. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/notifyhub/event.py +0 -0
  274. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/notifyhub/server.py +0 -0
  275. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/notifyhub/services.py +0 -0
  276. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/notifyhub/test.py +0 -0
  277. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/procman/__init__.py +0 -0
  278. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/procman/procman.yaml +0 -0
  279. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/procman/procman_cs.py +0 -0
  280. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/procman/procman_protocol.py +0 -0
  281. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/procman/procman_ui.py +0 -0
  282. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/protocol.py +0 -0
  283. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/registry/__init__.py +0 -0
  284. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/registry/backend.py +0 -0
  285. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/registry/service.py +0 -0
  286. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/services.py +0 -0
  287. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/services.yaml +0 -0
  288. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/storage/__init__.py +0 -0
  289. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/storage/__main__.py +0 -0
  290. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/storage/persistence.py +0 -0
  291. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/storage/storage.yaml +0 -0
  292. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/storage/storage_cs.py +0 -0
  293. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/conftest.py +0 -0
  294. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/data/local_settings.yaml +0 -0
  295. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/fixtures/default_env.py +0 -0
  296. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/fixtures/helpers.py +0 -0
  297. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/fixtures/services.py +0 -0
  298. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/script_subscribe_to_notifyhub.py +0 -0
  299. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/script_test_async_registry_client.py +0 -0
  300. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/script_test_registry_client_server.py +0 -0
  301. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/script_test_service_registry_server.py +0 -0
  302. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/script_test_sync_registry_client.py +0 -0
  303. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/services.py +0 -0
  304. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/stress_test_registry_server.py +0 -0
  305. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_async_control.py +0 -0
  306. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_client_server_interaction.py +0 -0
  307. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_cm_cs.py +0 -0
  308. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_command.py +0 -0
  309. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_confman_setups.py +0 -0
  310. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_connect.py +0 -0
  311. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_control.py +0 -0
  312. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_dummy.py +0 -0
  313. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_event_notification.py +0 -0
  314. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_extensions.py +0 -0
  315. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_listener.py +0 -0
  316. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_logger.py +0 -0
  317. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_mixin.py +0 -0
  318. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_notify_hub.py +0 -0
  319. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_protocol.py +0 -0
  320. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_registry_backend.py +0 -0
  321. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_registry_service.py +0 -0
  322. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_server_running.py +0 -0
  323. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_server_running_with_fixture.py +0 -0
  324. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_settings_core.py +0 -0
  325. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_zmq_microservice.py +0 -0
  326. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/README.md +0 -0
  327. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/__init__.py +0 -0
  328. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/buttons.py +0 -0
  329. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-start.svg +0 -0
  330. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-stop.svg +0 -0
  331. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/aeu-cs.svg +0 -0
  332. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-started.svg +0 -0
  333. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-stopped.svg +0 -0
  334. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/aeu_cs.svg +0 -0
  335. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/alert.svg +0 -0
  336. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/arrow-double-left.png +0 -0
  337. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/arrow-double-right.png +0 -0
  338. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/arrow-up.svg +0 -0
  339. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/backward.svg +0 -0
  340. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/busy.svg +0 -0
  341. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/cleaning.svg +0 -0
  342. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/color-scheme.svg +0 -0
  343. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/cs-connected-alert.svg +0 -0
  344. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/cs-connected-disabled.svg +0 -0
  345. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/cs-connected.svg +0 -0
  346. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/cs-not-connected.svg +0 -0
  347. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/double-left-arrow.svg +0 -0
  348. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/double-right-arrow.svg +0 -0
  349. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/erase-disabled.svg +0 -0
  350. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/erase.svg +0 -0
  351. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/fitsgen-start.svg +0 -0
  352. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/fitsgen-stop.svg +0 -0
  353. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/fitsgen.svg +0 -0
  354. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/forward.svg +0 -0
  355. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/fov-hk-start.svg +0 -0
  356. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/fov-hk-stop.svg +0 -0
  357. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/fov-hk.svg +0 -0
  358. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/front-desk.svg +0 -0
  359. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/home-actioned.svg +0 -0
  360. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/home-disabled.svg +0 -0
  361. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/home.svg +0 -0
  362. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/info.svg +0 -0
  363. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/invalid.png +0 -0
  364. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-green.svg +0 -0
  365. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-grey.svg +0 -0
  366. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-orange.svg +0 -0
  367. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-red.svg +0 -0
  368. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-square-green.svg +0 -0
  369. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-square-grey.svg +0 -0
  370. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-square-orange.svg +0 -0
  371. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-square-red.svg +0 -0
  372. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-green.svg +0 -0
  373. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-red.svg +0 -0
  374. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el+.svg +0 -0
  375. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el-.svg +0 -0
  376. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/location-marker.svg +0 -0
  377. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-dpu.svg +0 -0
  378. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-gimbal.svg +0 -0
  379. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-huber.svg +0 -0
  380. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-ogse.svg +0 -0
  381. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-puna.svg +0 -0
  382. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-tcs.svg +0 -0
  383. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-zonda.svg +0 -0
  384. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/maximize.svg +0 -0
  385. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/meter.svg +0 -0
  386. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/more.svg +0 -0
  387. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-start.svg +0 -0
  388. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-stop.svg +0 -0
  389. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk.svg +0 -0
  390. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/observing-off.svg +0 -0
  391. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/observing-on.svg +0 -0
  392. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.png +0 -0
  393. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.svg +0 -0
  394. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/ops-mode.svg +0 -0
  395. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/play-green.svg +0 -0
  396. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/plugged-disabled.svg +0 -0
  397. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/plugged.svg +0 -0
  398. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/pm_ui.svg +0 -0
  399. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/power-button-green.svg +0 -0
  400. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/power-button-red.svg +0 -0
  401. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/power-button.svg +0 -0
  402. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/radar.svg +0 -0
  403. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/radioactive.svg +0 -0
  404. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/reload.svg +0 -0
  405. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/remote-control-off.svg +0 -0
  406. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/remote-control-on.svg +0 -0
  407. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/repeat-blue.svg +0 -0
  408. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/repeat.svg +0 -0
  409. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/settings.svg +0 -0
  410. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/shrink.svg +0 -0
  411. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/shutter.svg +0 -0
  412. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/sign-off.svg +0 -0
  413. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/sign-on.svg +0 -0
  414. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/sim-mode.svg +0 -0
  415. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/small-buttons-go.svg +0 -0
  416. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/small-buttons-minus.svg +0 -0
  417. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/small-buttons-plus.svg +0 -0
  418. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/sponge.svg +0 -0
  419. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/start-button-disabled.svg +0 -0
  420. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/start-button.svg +0 -0
  421. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/stop-button-disabled.svg +0 -0
  422. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/stop-button.svg +0 -0
  423. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/stop-red.svg +0 -0
  424. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/stop.svg +0 -0
  425. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/switch-disabled-square.svg +0 -0
  426. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/switch-disabled.svg +0 -0
  427. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/switch-off-square.svg +0 -0
  428. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/switch-off.svg +0 -0
  429. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/switch-on-square.svg +0 -0
  430. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/switch-on.svg +0 -0
  431. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/temperature-control.svg +0 -0
  432. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/th_ui_logo.svg +0 -0
  433. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/unplugged.svg +0 -0
  434. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/unvalid.png +0 -0
  435. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/user-interface.svg +0 -0
  436. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/vacuum.svg +0 -0
  437. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/valid.png +0 -0
  438. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-dark.svg +0 -0
  439. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-white.svg +0 -0
  440. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/led.py +0 -0
  441. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/limitswitch.py +0 -0
  442. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/states.py +0 -0
  443. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/styles/dark.qss +0 -0
  444. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/styles/default.qss +0 -0
  445. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/styles.qss +0 -0
  446. {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/switch.py +0 -0
  447. {cgse-0.16.7 → cgse-0.16.8}/mkdocs.yml +0 -0
  448. {cgse-0.16.7 → cgse-0.16.8}/noxfile.py +0 -0
  449. {cgse-0.16.7 → cgse-0.16.8}/overrides/.icons/custom/dbend-dark.svg +0 -0
  450. {cgse-0.16.7 → cgse-0.16.8}/overrides/.icons/custom/dbend-light.svg +0 -0
  451. {cgse-0.16.7 → cgse-0.16.8}/overrides/.icons/custom/gear.svg +0 -0
  452. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/README.md +0 -0
  453. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/src/cgse_tools/__init__.py +0 -0
  454. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/src/cgse_tools/cgse_clock.py +0 -0
  455. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/src/cgse_tools/cgse_commands.py +0 -0
  456. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/src/cgse_tools/cgse_services.py +0 -0
  457. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/src/egse/tools/status.py +0 -0
  458. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/README.md +0 -0
  459. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/justfile +0 -0
  460. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/noxfile.py +0 -0
  461. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/service_registry.db +0 -0
  462. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/__init__.py +0 -0
  463. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.py +0 -0
  464. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.yaml +0 -0
  465. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_acs.py +0 -0
  466. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_adev.py +0 -0
  467. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_cs.py +0 -0
  468. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_dev.py +0 -0
  469. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_mon.py +0 -0
  470. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_protocol.py +0 -0
  471. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_sim.py +0 -0
  472. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/__init__.py +0 -0
  473. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_explore.py +0 -0
  474. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_services.py +0 -0
  475. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/settings.yaml +0 -0
  476. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/temperature_readings.log +0 -0
  477. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/tests/script_daq6510_central_heating.py +0 -0
  478. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/tests/script_daq6510_mon.py +0 -0
  479. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/tests/script_plot_readings.py +0 -0
  480. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/tests/test_adev.py +0 -0
  481. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/tests/test_dev.py +0 -0
  482. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/README.md +0 -0
  483. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.py +0 -0
  484. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.yaml +0 -0
  485. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_cs.py +0 -0
  486. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_devif.py +0 -0
  487. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_protocol.py +0 -0
  488. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/__init__.py +0 -0
  489. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_explore.py +0 -0
  490. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_services.py +0 -0
  491. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/settings.yaml +0 -0
  492. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/tests/test_lakeshore336_simulator.py +0 -0
  493. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/README.md +0 -0
  494. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/__init__.py +0 -0
  495. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/__init__.py +0 -0
  496. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/alpha.py +0 -0
  497. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/dynalpha.py +0 -0
  498. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod.py +0 -0
  499. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod_ui.py +0 -0
  500. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.py +0 -0
  501. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.yaml +0 -0
  502. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_cs.py +0 -0
  503. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_protocol.py +0 -0
  504. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_ui.py +0 -0
  505. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac.py +0 -0
  506. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac_regex.py +0 -0
  507. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.py +0 -0
  508. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.yaml +0 -0
  509. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_cs.py +0 -0
  510. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_protocol.py +0 -0
  511. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_sim.py +0 -0
  512. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_ui.py +0 -0
  513. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/punaplus.py +0 -0
  514. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.py +0 -0
  515. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.yaml +0 -0
  516. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_cs.py +0 -0
  517. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_devif.py +0 -0
  518. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_protocol.py +0 -0
  519. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_ui.py +0 -0
  520. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/__init__.py +0 -0
  521. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_explore.py +0 -0
  522. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_services.py +0 -0
  523. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/settings.yaml +0 -0
  524. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/tests/test_puna.py +0 -0
  525. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/tests/test_puna_cs.py +0 -0
  526. {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/tests/test_puna_simulator.py +0 -0
  527. {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-fits/README.md +0 -0
  528. {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-fits/src/egse/plugins/storage/fits.py +0 -0
  529. {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-hdf5/README.md +0 -0
  530. {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-hdf5/src/egse/plugins/storage/hdf5.py +0 -0
  531. {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-spw/README.md +0 -0
  532. {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-spw/src/egse/spw.py +0 -0
  533. {cgse-0.16.7 → cgse-0.16.8}/ruff.toml +0 -0
  534. {cgse-0.16.7 → cgse-0.16.8}/scratch/advanced-process-monitoring.py +0 -0
  535. {cgse-0.16.7 → cgse-0.16.8}/scratch/live-process-monitoring.py +0 -0
  536. {cgse-0.16.7 → cgse-0.16.8}/scratch/match-case.py +0 -0
  537. {cgse-0.16.7 → cgse-0.16.8}/scratch/processes.json +0 -0
  538. {cgse-0.16.7 → cgse-0.16.8}/scratch/simple-process-monitoring.py +0 -0
  539. {cgse-0.16.7 → cgse-0.16.8}/temperature_readings.log +0 -0
  540. {cgse-0.16.7 → cgse-0.16.8}/test_service_registry.db +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cgse
3
- Version: 0.16.7
3
+ Version: 0.16.8
4
4
  Summary: Generic Common-EGSE: Commanding and monitoring lab equipment
5
5
  Author: IvS KU Leuven
6
6
  Maintainer-email: Rik Huygen <rik.huygen@kuleuven.be>, Sara Regibo <sara.regibo@kuleuven.be>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cgse-common"
3
- version = "0.16.7"
3
+ version = "0.16.8"
4
4
  description = "Software framework to support hardware testing"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cgse-coordinates"
3
- version = "0.16.7"
3
+ version = "0.16.8"
4
4
  description = "Reference Frames and Coordinate Transofrmations for CGSE"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cgse-core"
3
- version = "0.16.7"
3
+ version = "0.16.8"
4
4
  description = "Core services for the CGSE framework"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
@@ -13,6 +13,7 @@ from types import MethodType
13
13
 
14
14
  import zmq
15
15
 
16
+ from egse.connect import VERBOSE_DEBUG
16
17
  from egse.decorators import dynamic_interface
17
18
  from egse.log import logger
18
19
  from egse.mixin import DynamicClientCommandMixin
@@ -102,7 +103,7 @@ class BaseProxy(ControlServerConnectionInterface):
102
103
  for a reply from the control server.
103
104
  """
104
105
 
105
- self._logger = logging.getLogger(self.__class__.__name__)
106
+ self._logger = logger
106
107
 
107
108
  self._ctx = zmq.Context.instance()
108
109
  self._poller = zmq.Poller()
@@ -123,7 +124,8 @@ class BaseProxy(ControlServerConnectionInterface):
123
124
  self.disconnect_cs()
124
125
 
125
126
  def connect_cs(self):
126
- self._logger.log(0, f"Trying to connect {self.__class__.__name__} to {self._endpoint}")
127
+ if VERBOSE_DEBUG:
128
+ self._logger.debug(f"Trying to connect {self.__class__.__name__} to {self._endpoint}")
127
129
 
128
130
  self._socket = self._ctx.socket(zmq.REQ)
129
131
  self._socket.connect(self._endpoint)
@@ -135,7 +137,8 @@ class BaseProxy(ControlServerConnectionInterface):
135
137
  self._poller.unregister(self._socket)
136
138
 
137
139
  def reconnect_cs(self):
138
- self._logger.log(20, f"Trying to reconnect {self.__class__.__name__} to {self._endpoint}")
140
+ if VERBOSE_DEBUG:
141
+ self._logger.debug(f"Trying to reconnect {self.__class__.__name__} to {self._endpoint}")
139
142
 
140
143
  if not self._socket.closed:
141
144
  self._socket.close(linger=0)
@@ -145,7 +148,8 @@ class BaseProxy(ControlServerConnectionInterface):
145
148
  self._poller.register(self._socket, zmq.POLLIN)
146
149
 
147
150
  def reset_cs_connection(self):
148
- self._logger.debug(f"Trying to reset the connection from {self.__class__.__name__} to {self._endpoint}")
151
+ if VERBOSE_DEBUG:
152
+ self._logger.debug(f"Trying to reset the connection from {self.__class__.__name__} to {self._endpoint}")
149
153
 
150
154
  self.disconnect_cs()
151
155
  self.connect_cs()
@@ -191,7 +195,9 @@ class BaseProxy(ControlServerConnectionInterface):
191
195
  if self._socket.closed:
192
196
  self.reconnect_cs()
193
197
 
194
- self._logger.log(0, f"Sending '{data}'")
198
+ if VERBOSE_DEBUG:
199
+ self._logger.debug(f"Sending '{data}'")
200
+
195
201
  self._socket.send(pickle_string)
196
202
 
197
203
  while True:
@@ -202,7 +208,8 @@ class BaseProxy(ControlServerConnectionInterface):
202
208
  if not pickle_string:
203
209
  break
204
210
  response = pickle.loads(pickle_string)
205
- self._logger.log(0, f"Receiving response: {response}")
211
+ if VERBOSE_DEBUG:
212
+ self._logger.debug(f"Receiving response: {response}")
206
213
  return response
207
214
  else:
208
215
  # timeout - server unavailable
@@ -227,7 +234,8 @@ class BaseProxy(ControlServerConnectionInterface):
227
234
 
228
235
  def ping(self):
229
236
  return_code = self.send("Ping", retries=0, timeout=1.0)
230
- self._logger.log(0, f"Check if control server is available: Ping - {return_code}")
237
+ if VERBOSE_DEBUG:
238
+ self._logger.debug(f"Check if control server is available: Ping - {return_code}")
231
239
  return return_code == "Pong"
232
240
 
233
241
  def get_endpoint(self) -> str:
@@ -461,6 +461,9 @@ class RegistryClient:
461
461
  self.logger.warning("Cannot start heartbeat: no service is registered")
462
462
  return None
463
463
 
464
+ # Cancel an existing heartbeat thread if present
465
+ self.stop_heartbeat()
466
+
464
467
  # If interval not specified, use 1/3 of TTL
465
468
  if interval is None:
466
469
  interval = max(1, self._ttl // 3)
@@ -479,7 +482,7 @@ class RegistryClient:
479
482
  self.logger.warning("ServiceRegistry not responding.")
480
483
  return
481
484
  else:
482
- self.logger.info("Health check succeeded, reregistering ?")
485
+ self.logger.info("Health check succeeded, reregistering...")
483
486
  self.reregister()
484
487
 
485
488
  else:
@@ -609,8 +612,6 @@ class AsyncRegistryClient:
609
612
  # Default to receiving all events
610
613
  self.sub_socket.setsockopt_string(zmq.SUBSCRIBE, "")
611
614
 
612
- self._connect_hb_socket()
613
-
614
615
  def _connect_hb_socket(self):
615
616
  self.hb_socket = self.context.socket(zmq.REQ)
616
617
  self.hb_socket.setsockopt(zmq.LINGER, 0) # Don't wait for unsent messages on close()
@@ -627,11 +628,10 @@ class AsyncRegistryClient:
627
628
  self.sub_socket.close(linger=0)
628
629
  self.sub_socket = None
629
630
 
630
- self._disconnect_hb_socket()
631
-
632
631
  def _disconnect_hb_socket(self):
633
632
  if self.hb_socket:
634
- self.hb_socket.close(linger=0)
633
+ self.hb_socket.setsockopt(zmq.LINGER, 0)
634
+ self.hb_socket.close()
635
635
  self.hb_socket = None
636
636
 
637
637
  def _get_service_cache_lock(self):
@@ -653,10 +653,10 @@ class AsyncRegistryClient:
653
653
  Returns:
654
654
  The response from the registry as a dictionary.
655
655
  """
656
- self.logger.debug(f"Sending request: {request}")
657
656
 
658
657
  timeout = timeout or self.timeout
659
658
  try:
659
+ self.logger.debug(f"Sending request: {request}")
660
660
  await self.req_socket.send_multipart([msg_type.value, json.dumps(request).encode()])
661
661
 
662
662
  try:
@@ -714,9 +714,9 @@ class AsyncRegistryClient:
714
714
  except asyncio.TimeoutError:
715
715
  self.logger.error(f"Heartbeat request timed out after {HEART_BEAT_TIMEOUT:.2f}s")
716
716
  # Reset the socket to avoid invalid state
717
- self.hb_socket.close()
718
- self.hb_socket = self.context.socket(zmq.REQ)
719
- self.hb_socket.connect(self.registry_req_endpoint)
717
+ self._disconnect_hb_socket()
718
+ await asyncio.sleep(HEART_BEAT_RECONNECT)
719
+ self._connect_hb_socket()
720
720
  return {"success": False, "error": "Heartbeat request timed out"}
721
721
  except zmq.ZMQError as exc:
722
722
  self.logger.error(f"ZMQ error: {exc}", exc_info=True)
@@ -816,6 +816,25 @@ class AsyncRegistryClient:
816
816
  self.logger.error(f"Failed to deregister service: {response.get('error')}")
817
817
  return False
818
818
 
819
+ async def reregister(self) -> str | None:
820
+ if not self._service_id:
821
+ self.logger.warning("Cannot reregister: no service is registered")
822
+ return None
823
+
824
+ if not self._service_info:
825
+ self.logger.warning(
826
+ "Cannot reregister: no service info was saved by this registry client or service already deregistered."
827
+ )
828
+ return None
829
+
830
+ return await self.register(
831
+ name=self._service_info["name"],
832
+ host=self._service_info["host"],
833
+ port=self._service_info["port"],
834
+ service_type=self._service_info["type"],
835
+ metadata=self._service_info["metadata"],
836
+ )
837
+
819
838
  async def start_heartbeat(self, interval: int | None = None) -> asyncio.Task | None:
820
839
  """
821
840
  Start sending heartbeats to the registry.
@@ -840,6 +859,8 @@ class AsyncRegistryClient:
840
859
  self._running = True
841
860
 
842
861
  async def heartbeat_loop():
862
+ self._connect_hb_socket()
863
+
843
864
  try:
844
865
  while self._running and self._service_id:
845
866
  try:
@@ -849,8 +870,17 @@ class AsyncRegistryClient:
849
870
 
850
871
  if not response.get("success"):
851
872
  self.logger.warning(f"Heartbeat failed: {response.get('error')}")
873
+
874
+ # Do a health check
875
+ if not await self.health_check():
876
+ self.logger.warning("ServiceRegistry not responding.")
877
+ continue
878
+ else:
879
+ self.logger.info("Health check succeeded, reregistering...")
880
+ await self.reregister()
881
+
852
882
  else:
853
- self.logger.info(response.get("message"))
883
+ self.logger.debug(response.get("message"))
854
884
  except Exception as exc:
855
885
  self.logger.error(f"Error in heartbeat loop: {exc}", exc_info=True)
856
886
 
@@ -858,6 +888,8 @@ class AsyncRegistryClient:
858
888
  await asyncio.sleep(interval)
859
889
  except asyncio.CancelledError:
860
890
  self.logger.info("Heartbeat task cancelled")
891
+ finally:
892
+ self._disconnect_hb_socket()
861
893
 
862
894
  # Start the heartbeat task
863
895
  self._heartbeat_task = task = asyncio.create_task(heartbeat_loop())
@@ -490,6 +490,7 @@ class AsyncRegistryServer:
490
490
  "status": "ok",
491
491
  "req_port": self.req_port,
492
492
  "pub_port": self.pub_port,
493
+ "hb_port": self.hb_port,
493
494
  "services": services,
494
495
  }
495
496
 
@@ -577,6 +578,7 @@ async def status(
577
578
  Status: {response["status"]}
578
579
  Requests port: {response["req_port"]}
579
580
  Notifications port: {response["pub_port"]}
581
+ Heartbeat port: {response["hb_port"]}
580
582
  Registrations: {", ".join([f"({x['name']}, {x['health']})" for x in response["services"]])}\
581
583
  """
582
584
  )
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cgse-gui"
3
- version = "0.16.7"
3
+ version = "0.16.8"
4
4
  description = "GUI components for CGSE"
5
5
  authors = [
6
6
  {name = "Rik Huygen", email = "rik.huygen@kuleuven.be"},
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cgse-tools"
3
- version = "0.16.7"
3
+ version = "0.16.8"
4
4
  description = "Tools for CGSE"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "keithley-tempcontrol"
3
- version = "0.16.7"
3
+ version = "0.16.8"
4
4
  description = "Keithley Temperature Control for CGSE"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "lakeshore-tempcontrol"
3
- version = "0.16.7"
3
+ version = "0.16.8"
4
4
  description = "Lakeshore Temperature Control for CGSE"
5
5
  authors = [
6
6
  {name = "IVS KU Leuven"}
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "symetrie-hexapod"
3
- version = "0.16.7"
3
+ version = "0.16.8"
4
4
  description = "Symetrie Hexapod implementation for CGSE"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "plato-fits"
3
- version = "0.16.7"
3
+ version = "0.16.8"
4
4
  description = "FITS Persistence implementation for CGSE"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "plato-hdf5"
3
- version = "0.16.7"
3
+ version = "0.16.8"
4
4
  description = "HDF5 Persistence sub-class for CGSE"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "plato-spw"
3
- version = "0.16.7"
3
+ version = "0.16.8"
4
4
  description = "SpaceWire implementation for CGSE"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cgse"
3
- version = "0.16.7"
3
+ version = "0.16.8"
4
4
  description = "Generic Common-EGSE: Commanding and monitoring lab equipment"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
index e914731..80cc010 100644
Binary file
Binary file
Binary file
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes