cgse 0.16.9__tar.gz → 0.16.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. {cgse-0.16.9 → cgse-0.16.10}/PKG-INFO +1 -1
  2. {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-common/settings.md +4 -4
  3. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/pyproject.toml +1 -1
  4. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/pyproject.toml +1 -1
  5. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/pyproject.toml +1 -1
  6. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/settings.yaml +2 -2
  7. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/logger/__init__.py +2 -1
  8. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/logger/log_cs.py +2 -2
  9. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/registry/client.py +11 -15
  10. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/registry/server.py +27 -20
  11. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/script_test_registry_client_server.py +3 -9
  12. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/pyproject.toml +1 -1
  13. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/pyproject.toml +1 -1
  14. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/pyproject.toml +1 -1
  15. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/pyproject.toml +1 -1
  16. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/pyproject.toml +1 -1
  17. {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-fits/pyproject.toml +1 -1
  18. {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-hdf5/pyproject.toml +1 -1
  19. {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-spw/pyproject.toml +1 -1
  20. {cgse-0.16.9 → cgse-0.16.10}/pyproject.toml +1 -1
  21. {cgse-0.16.9 → cgse-0.16.10}/service_registry.db +0 -0
  22. cgse-0.16.9/service_registry.db-shm +0 -0
  23. cgse-0.16.9/service_registry.db-wal +0 -0
  24. {cgse-0.16.9 → cgse-0.16.10}/.github/workflows/ruff-format-check.yaml +0 -0
  25. {cgse-0.16.9 → cgse-0.16.10}/.gitignore +0 -0
  26. {cgse-0.16.9 → cgse-0.16.10}/README.md +0 -0
  27. {cgse-0.16.9 → cgse-0.16.10}/buffer_vat.log +0 -0
  28. {cgse-0.16.9 → cgse-0.16.10}/buffer_vat.png +0 -0
  29. {cgse-0.16.9 → cgse-0.16.10}/bump.py +0 -0
  30. {cgse-0.16.9 → cgse-0.16.10}/conftest.py +0 -0
  31. {cgse-0.16.9 → cgse-0.16.10}/docs/api/bits.md +0 -0
  32. {cgse-0.16.9 → cgse-0.16.10}/docs/api/calibration.md +0 -0
  33. {cgse-0.16.9 → cgse-0.16.10}/docs/api/command.md +0 -0
  34. {cgse-0.16.9 → cgse-0.16.10}/docs/api/config.md +0 -0
  35. {cgse-0.16.9 → cgse-0.16.10}/docs/api/control.md +0 -0
  36. {cgse-0.16.9 → cgse-0.16.10}/docs/api/counter.md +0 -0
  37. {cgse-0.16.9 → cgse-0.16.10}/docs/api/decorators.md +0 -0
  38. {cgse-0.16.9 → cgse-0.16.10}/docs/api/device.md +0 -0
  39. {cgse-0.16.9 → cgse-0.16.10}/docs/api/dicts.md +0 -0
  40. {cgse-0.16.9 → cgse-0.16.10}/docs/api/dummy.md +0 -0
  41. {cgse-0.16.9 → cgse-0.16.10}/docs/api/env.md +0 -0
  42. {cgse-0.16.9 → cgse-0.16.10}/docs/api/exceptions.md +0 -0
  43. {cgse-0.16.9 → cgse-0.16.10}/docs/api/heartbeat.md +0 -0
  44. {cgse-0.16.9 → cgse-0.16.10}/docs/api/hk.md +0 -0
  45. {cgse-0.16.9 → cgse-0.16.10}/docs/api/index.md +0 -0
  46. {cgse-0.16.9 → cgse-0.16.10}/docs/api/listener.md +0 -0
  47. {cgse-0.16.9 → cgse-0.16.10}/docs/api/metrics.md +0 -0
  48. {cgse-0.16.9 → cgse-0.16.10}/docs/api/mixin.md +0 -0
  49. {cgse-0.16.9 → cgse-0.16.10}/docs/api/monitoring.md +0 -0
  50. {cgse-0.16.9 → cgse-0.16.10}/docs/api/observer.md +0 -0
  51. {cgse-0.16.9 → cgse-0.16.10}/docs/api/obsid.md +0 -0
  52. {cgse-0.16.9 → cgse-0.16.10}/docs/api/persistence.md +0 -0
  53. {cgse-0.16.9 → cgse-0.16.10}/docs/api/plugin.md +0 -0
  54. {cgse-0.16.9 → cgse-0.16.10}/docs/api/process.md +0 -0
  55. {cgse-0.16.9 → cgse-0.16.10}/docs/api/reload.md +0 -0
  56. {cgse-0.16.9 → cgse-0.16.10}/docs/api/settings.md +0 -0
  57. {cgse-0.16.9 → cgse-0.16.10}/docs/api/setup.md +0 -0
  58. {cgse-0.16.9 → cgse-0.16.10}/docs/api/system.md +0 -0
  59. {cgse-0.16.9 → cgse-0.16.10}/docs/custom_theme/main.html +0 -0
  60. {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/coding_style.md +0 -0
  61. {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/docs.md +0 -0
  62. {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/index.md +0 -0
  63. {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/installation.md +0 -0
  64. {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/monitoring.md +0 -0
  65. {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/monorepo.md +0 -0
  66. {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/nox.md +0 -0
  67. {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/plugins.md +0 -0
  68. {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/project-configuration.md +0 -0
  69. {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/unit_testing.md +0 -0
  70. {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/uv.md +0 -0
  71. {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/versioning.md +0 -0
  72. {cgse-0.16.9 → cgse-0.16.10}/docs/getting_started.md +0 -0
  73. {cgse-0.16.9 → cgse-0.16.10}/docs/help.md +0 -0
  74. {cgse-0.16.9 → cgse-0.16.10}/docs/images/cli-cgse.png +0 -0
  75. {cgse-0.16.9 → cgse-0.16.10}/docs/images/github-fork-clone-dark.png +0 -0
  76. {cgse-0.16.9 → cgse-0.16.10}/docs/images/github-fork-clone.png +0 -0
  77. {cgse-0.16.9 → cgse-0.16.10}/docs/images/grafana-queries.png +0 -0
  78. {cgse-0.16.9 → cgse-0.16.10}/docs/images/icons/cgse-logo-blue.svg +0 -0
  79. {cgse-0.16.9 → cgse-0.16.10}/docs/images/icons/cgse-logo.svg +0 -0
  80. {cgse-0.16.9 → cgse-0.16.10}/docs/index.md +0 -0
  81. {cgse-0.16.9 → cgse-0.16.10}/docs/initialize.md +0 -0
  82. {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-common/images/load_methods.png +0 -0
  83. {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-common/index.md +0 -0
  84. {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-common/setup.md +0 -0
  85. {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-coordinates/index.md +0 -0
  86. {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-core/index.md +0 -0
  87. {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-core/notifyhub.md +0 -0
  88. {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-core/registry.md +0 -0
  89. {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-gui/index.md +0 -0
  90. {cgse-0.16.9 → cgse-0.16.10}/docs/libs/index.md +0 -0
  91. {cgse-0.16.9 → cgse-0.16.10}/docs/package_list.md +0 -0
  92. {cgse-0.16.9 → cgse-0.16.10}/docs/projects/cgse-tools.md +0 -0
  93. {cgse-0.16.9 → cgse-0.16.10}/docs/projects/index.md +0 -0
  94. {cgse-0.16.9 → cgse-0.16.10}/docs/projects/symetrie-hexapod.md +0 -0
  95. {cgse-0.16.9 → cgse-0.16.10}/docs/roadmap.md +0 -0
  96. {cgse-0.16.9 → cgse-0.16.10}/docs/stylesheets/custom.css +0 -0
  97. {cgse-0.16.9 → cgse-0.16.10}/docs/stylesheets/extra.css +0 -0
  98. {cgse-0.16.9 → cgse-0.16.10}/docs/tutorial.md +0 -0
  99. {cgse-0.16.9 → cgse-0.16.10}/docs/user_guide/cli.md +0 -0
  100. {cgse-0.16.9 → cgse-0.16.10}/docs/user_guide/index.md +0 -0
  101. {cgse-0.16.9 → cgse-0.16.10}/duckdb_metrics.db +0 -0
  102. {cgse-0.16.9 → cgse-0.16.10}/duckdb_metrics.db.wal +0 -0
  103. {cgse-0.16.9 → cgse-0.16.10}/identifier.sqlite +0 -0
  104. {cgse-0.16.9 → cgse-0.16.10}/justfile +0 -0
  105. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/README.md +0 -0
  106. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/justfile +0 -0
  107. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/noxfile.py +0 -0
  108. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/service_registry.db +0 -0
  109. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/cgse_common/__init__.py +0 -0
  110. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/cgse_common/cgse.py +0 -0
  111. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/cgse_common/settings.yaml +0 -0
  112. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/bits.py +0 -0
  113. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/calibration.py +0 -0
  114. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/config.py +0 -0
  115. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/counter.py +0 -0
  116. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/decorators.py +0 -0
  117. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/device.py +0 -0
  118. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/dicts.py +0 -0
  119. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/env.py +0 -0
  120. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/exceptions.py +0 -0
  121. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/heartbeat.py +0 -0
  122. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/hk.py +0 -0
  123. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/log.py +0 -0
  124. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/metrics.py +0 -0
  125. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/observer.py +0 -0
  126. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/obsid.py +0 -0
  127. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/persistence.py +0 -0
  128. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/plugin.py +0 -0
  129. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/plugins/metrics/duckdb.py +0 -0
  130. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/plugins/metrics/influxdb.py +0 -0
  131. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/plugins/metrics/timescaledb.py +0 -0
  132. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/process.py +0 -0
  133. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/py.typed +0 -0
  134. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/randomwalk.py +0 -0
  135. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/ratelimit.py +0 -0
  136. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/reload.py +0 -0
  137. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/resource.py +0 -0
  138. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/response.py +0 -0
  139. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/scpi.py +0 -0
  140. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/settings.py +0 -0
  141. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/settings.yaml +0 -0
  142. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/setup.py +0 -0
  143. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/signal.py +0 -0
  144. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/socketdevice.py +0 -0
  145. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/state.py +0 -0
  146. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/system.py +0 -0
  147. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/task.py +0 -0
  148. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/version.py +0 -0
  149. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/zmq_ser.py +0 -0
  150. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/conftest.py +0 -0
  151. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/COPYING +0 -0
  152. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00028_201028_155259.yaml +0 -0
  153. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00029_201028_155331.yaml +0 -0
  154. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00030_210311_134043.yaml +0 -0
  155. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00080_210917_105245.yaml +0 -0
  156. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00081_210922_142259.yaml +0 -0
  157. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00082_210923_094458.yaml +0 -0
  158. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL1/README.md +0 -0
  159. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL2/README.md +0 -0
  160. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/IAS/README.md +0 -0
  161. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/INTA/README.md +0 -0
  162. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/LAB23/README.md +0 -0
  163. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00027_211119_140441.yaml +0 -0
  164. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00028_211119_160406.yaml +0 -0
  165. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00029_211119_172918.yaml +0 -0
  166. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00030_211122_103604.yaml +0 -0
  167. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00031_211123_124900.yaml +0 -0
  168. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/common/telemetry/tm-dictionary-default.csv +0 -0
  169. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/conf/SETUP_20250114_1519.yaml +0 -0
  170. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/conf/config-file.toml +0 -0
  171. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/cal_coeff_1234.csv +0 -0
  172. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/calibration.csv +0 -0
  173. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/calibration.yaml +0 -0
  174. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/command.yaml +0 -0
  175. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/corrupt.yaml +0 -0
  176. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/data-file.txt +0 -0
  177. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/empty_data_file.txt +0 -0
  178. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/empty_yaml_file.yaml +0 -0
  179. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/local_settings.yaml +0 -0
  180. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/new_local_settings.yaml +0 -0
  181. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/test_setup.yaml +0 -0
  182. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/icons/hourglass.svg +0 -0
  183. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/icons/keyboard.png +0 -0
  184. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/icons/soap_sponge.svg +0 -0
  185. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/lib/dev1/shared-lib.so +0 -0
  186. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/lib/dev2/shared-lib.so +0 -0
  187. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/fixtures/default_env.py +0 -0
  188. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/fixtures/helpers.py +0 -0
  189. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/scripts/empty_process.py +0 -0
  190. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/scripts/handle_sigterm.py +0 -0
  191. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/scripts/process_with_children.py +0 -0
  192. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/scripts/raise_value_error.py +0 -0
  193. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/scripts/void-0.py +0 -0
  194. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/scripts/void-1.py +0 -0
  195. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_bits.py +0 -0
  196. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_config.py +0 -0
  197. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_decorators.py +0 -0
  198. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_device.py +0 -0
  199. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_env.py +0 -0
  200. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_fixtures.py +0 -0
  201. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_hk.py +0 -0
  202. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_influxdb_plugin.py +0 -0
  203. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_log.py +0 -0
  204. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_metrics.py +0 -0
  205. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_plugin.py +0 -0
  206. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_process.py +0 -0
  207. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_ratelimit.py +0 -0
  208. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_resource.py +0 -0
  209. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_response.py +0 -0
  210. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_settings.py +0 -0
  211. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_setup.py +0 -0
  212. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_signal.py +0 -0
  213. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_state.py +0 -0
  214. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_system.py +0 -0
  215. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_task.py +0 -0
  216. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_zmq_ser.py +0 -0
  217. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/README.md +0 -0
  218. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/cgse_coordinates/__init__.py +0 -0
  219. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/cgse_coordinates/settings.yaml +0 -0
  220. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/__init__.py +0 -0
  221. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/avoidance.py +0 -0
  222. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/cslmodel.py +0 -0
  223. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/laser_tracker_to_dict.py +0 -0
  224. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/point.py +0 -0
  225. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/pyplot.py +0 -0
  226. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/referenceFrame.py +0 -0
  227. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/refmodel.py +0 -0
  228. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/rotationMatrix.py +0 -0
  229. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/transform3d_addon.py +0 -0
  230. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_avoidance.py +0 -0
  231. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_coordinates_plot.py +0 -0
  232. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_coordinates_serialize.py +0 -0
  233. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_point.py +0 -0
  234. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_ref_model.py +0 -0
  235. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_reference_frames.py +0 -0
  236. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_refmodel.py +0 -0
  237. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/.envrc.disabled +0 -0
  238. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/README.md +0 -0
  239. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/service_registry.db +0 -0
  240. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/__init__.py +0 -0
  241. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/_start.py +0 -0
  242. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/_status.py +0 -0
  243. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/_stop.py +0 -0
  244. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/cgse_explore.py +0 -0
  245. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/services.py +0 -0
  246. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/_setup_core.py +0 -0
  247. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/async_control.py +0 -0
  248. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/async_control_claude.py +0 -0
  249. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/command.py +0 -0
  250. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/confman/__init__.py +0 -0
  251. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/confman/__main__.py +0 -0
  252. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/confman/confman.yaml +0 -0
  253. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/confman/confman_cs.py +0 -0
  254. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/connect-todo.py +0 -0
  255. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/connect.py +0 -0
  256. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/control.py +0 -0
  257. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/dummy.py +0 -0
  258. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/busy.svg +0 -0
  259. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/operational-mode.svg +0 -0
  260. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/pm_ui.svg +0 -0
  261. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/simulator-mode.svg +0 -0
  262. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/start-process-button.svg +0 -0
  263. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/stop-process-button.svg +0 -0
  264. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/user-interface.svg +0 -0
  265. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/listener.py +0 -0
  266. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/logger/__main__.py +0 -0
  267. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/metricshub/__init__.py +0 -0
  268. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/metricshub/server.py +0 -0
  269. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/mixin.py +0 -0
  270. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/monitoring.py +0 -0
  271. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/notifyhub/__init__.py +0 -0
  272. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/notifyhub/client.py +0 -0
  273. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/notifyhub/event.py +0 -0
  274. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/notifyhub/server.py +0 -0
  275. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/notifyhub/services.py +0 -0
  276. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/notifyhub/test.py +0 -0
  277. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/procman/__init__.py +0 -0
  278. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/procman/procman.yaml +0 -0
  279. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/procman/procman_cs.py +0 -0
  280. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/procman/procman_protocol.py +0 -0
  281. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/procman/procman_ui.py +0 -0
  282. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/protocol.py +0 -0
  283. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/proxy.py +0 -0
  284. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/registry/__init__.py +0 -0
  285. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/registry/backend.py +0 -0
  286. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/registry/service.py +0 -0
  287. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/services.py +0 -0
  288. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/services.yaml +0 -0
  289. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/storage/__init__.py +0 -0
  290. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/storage/__main__.py +0 -0
  291. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/storage/persistence.py +0 -0
  292. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/storage/storage.yaml +0 -0
  293. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/storage/storage_cs.py +0 -0
  294. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/conftest.py +0 -0
  295. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/data/local_settings.yaml +0 -0
  296. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/fixtures/default_env.py +0 -0
  297. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/fixtures/helpers.py +0 -0
  298. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/fixtures/services.py +0 -0
  299. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/script_subscribe_to_notifyhub.py +0 -0
  300. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/script_test_async_registry_client.py +0 -0
  301. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/script_test_service_registry_server.py +0 -0
  302. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/script_test_sync_registry_client.py +0 -0
  303. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/services.py +0 -0
  304. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/stress_test_registry_server.py +0 -0
  305. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_async_control.py +0 -0
  306. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_client_server_interaction.py +0 -0
  307. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_cm_cs.py +0 -0
  308. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_command.py +0 -0
  309. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_confman_setups.py +0 -0
  310. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_connect.py +0 -0
  311. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_control.py +0 -0
  312. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_dummy.py +0 -0
  313. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_event_notification.py +0 -0
  314. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_extensions.py +0 -0
  315. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_listener.py +0 -0
  316. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_logger.py +0 -0
  317. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_mixin.py +0 -0
  318. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_notify_hub.py +0 -0
  319. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_protocol.py +0 -0
  320. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_registry_backend.py +0 -0
  321. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_registry_service.py +0 -0
  322. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_server_running.py +0 -0
  323. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_server_running_with_fixture.py +0 -0
  324. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_settings_core.py +0 -0
  325. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_zmq_microservice.py +0 -0
  326. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/README.md +0 -0
  327. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/__init__.py +0 -0
  328. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/buttons.py +0 -0
  329. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-start.svg +0 -0
  330. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-stop.svg +0 -0
  331. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/aeu-cs.svg +0 -0
  332. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-started.svg +0 -0
  333. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-stopped.svg +0 -0
  334. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/aeu_cs.svg +0 -0
  335. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/alert.svg +0 -0
  336. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/arrow-double-left.png +0 -0
  337. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/arrow-double-right.png +0 -0
  338. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/arrow-up.svg +0 -0
  339. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/backward.svg +0 -0
  340. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/busy.svg +0 -0
  341. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/cleaning.svg +0 -0
  342. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/color-scheme.svg +0 -0
  343. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/cs-connected-alert.svg +0 -0
  344. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/cs-connected-disabled.svg +0 -0
  345. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/cs-connected.svg +0 -0
  346. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/cs-not-connected.svg +0 -0
  347. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/double-left-arrow.svg +0 -0
  348. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/double-right-arrow.svg +0 -0
  349. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/erase-disabled.svg +0 -0
  350. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/erase.svg +0 -0
  351. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/fitsgen-start.svg +0 -0
  352. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/fitsgen-stop.svg +0 -0
  353. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/fitsgen.svg +0 -0
  354. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/forward.svg +0 -0
  355. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/fov-hk-start.svg +0 -0
  356. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/fov-hk-stop.svg +0 -0
  357. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/fov-hk.svg +0 -0
  358. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/front-desk.svg +0 -0
  359. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/home-actioned.svg +0 -0
  360. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/home-disabled.svg +0 -0
  361. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/home.svg +0 -0
  362. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/info.svg +0 -0
  363. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/invalid.png +0 -0
  364. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-green.svg +0 -0
  365. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-grey.svg +0 -0
  366. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-orange.svg +0 -0
  367. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-red.svg +0 -0
  368. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-square-green.svg +0 -0
  369. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-square-grey.svg +0 -0
  370. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-square-orange.svg +0 -0
  371. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-square-red.svg +0 -0
  372. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-green.svg +0 -0
  373. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-red.svg +0 -0
  374. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el+.svg +0 -0
  375. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el-.svg +0 -0
  376. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/location-marker.svg +0 -0
  377. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-dpu.svg +0 -0
  378. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-gimbal.svg +0 -0
  379. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-huber.svg +0 -0
  380. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-ogse.svg +0 -0
  381. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-puna.svg +0 -0
  382. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-tcs.svg +0 -0
  383. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-zonda.svg +0 -0
  384. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/maximize.svg +0 -0
  385. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/meter.svg +0 -0
  386. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/more.svg +0 -0
  387. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-start.svg +0 -0
  388. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-stop.svg +0 -0
  389. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk.svg +0 -0
  390. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/observing-off.svg +0 -0
  391. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/observing-on.svg +0 -0
  392. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.png +0 -0
  393. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.svg +0 -0
  394. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/ops-mode.svg +0 -0
  395. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/play-green.svg +0 -0
  396. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/plugged-disabled.svg +0 -0
  397. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/plugged.svg +0 -0
  398. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/pm_ui.svg +0 -0
  399. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/power-button-green.svg +0 -0
  400. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/power-button-red.svg +0 -0
  401. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/power-button.svg +0 -0
  402. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/radar.svg +0 -0
  403. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/radioactive.svg +0 -0
  404. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/reload.svg +0 -0
  405. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/remote-control-off.svg +0 -0
  406. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/remote-control-on.svg +0 -0
  407. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/repeat-blue.svg +0 -0
  408. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/repeat.svg +0 -0
  409. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/settings.svg +0 -0
  410. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/shrink.svg +0 -0
  411. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/shutter.svg +0 -0
  412. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/sign-off.svg +0 -0
  413. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/sign-on.svg +0 -0
  414. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/sim-mode.svg +0 -0
  415. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/small-buttons-go.svg +0 -0
  416. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/small-buttons-minus.svg +0 -0
  417. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/small-buttons-plus.svg +0 -0
  418. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/sponge.svg +0 -0
  419. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/start-button-disabled.svg +0 -0
  420. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/start-button.svg +0 -0
  421. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/stop-button-disabled.svg +0 -0
  422. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/stop-button.svg +0 -0
  423. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/stop-red.svg +0 -0
  424. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/stop.svg +0 -0
  425. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/switch-disabled-square.svg +0 -0
  426. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/switch-disabled.svg +0 -0
  427. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/switch-off-square.svg +0 -0
  428. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/switch-off.svg +0 -0
  429. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/switch-on-square.svg +0 -0
  430. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/switch-on.svg +0 -0
  431. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/temperature-control.svg +0 -0
  432. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/th_ui_logo.svg +0 -0
  433. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/unplugged.svg +0 -0
  434. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/unvalid.png +0 -0
  435. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/user-interface.svg +0 -0
  436. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/vacuum.svg +0 -0
  437. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/valid.png +0 -0
  438. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-dark.svg +0 -0
  439. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-white.svg +0 -0
  440. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/led.py +0 -0
  441. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/limitswitch.py +0 -0
  442. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/states.py +0 -0
  443. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/styles/dark.qss +0 -0
  444. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/styles/default.qss +0 -0
  445. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/styles.qss +0 -0
  446. {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/switch.py +0 -0
  447. {cgse-0.16.9 → cgse-0.16.10}/mkdocs.yml +0 -0
  448. {cgse-0.16.9 → cgse-0.16.10}/noxfile.py +0 -0
  449. {cgse-0.16.9 → cgse-0.16.10}/overrides/.icons/custom/dbend-dark.svg +0 -0
  450. {cgse-0.16.9 → cgse-0.16.10}/overrides/.icons/custom/dbend-light.svg +0 -0
  451. {cgse-0.16.9 → cgse-0.16.10}/overrides/.icons/custom/gear.svg +0 -0
  452. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/README.md +0 -0
  453. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/src/cgse_tools/__init__.py +0 -0
  454. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/src/cgse_tools/cgse_clock.py +0 -0
  455. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/src/cgse_tools/cgse_commands.py +0 -0
  456. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/src/cgse_tools/cgse_services.py +0 -0
  457. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/src/egse/tools/status.py +0 -0
  458. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/README.md +0 -0
  459. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/justfile +0 -0
  460. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/noxfile.py +0 -0
  461. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/service_registry.db +0 -0
  462. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/__init__.py +0 -0
  463. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.py +0 -0
  464. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.yaml +0 -0
  465. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_acs.py +0 -0
  466. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_adev.py +0 -0
  467. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_cs.py +0 -0
  468. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_dev.py +0 -0
  469. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_mon.py +0 -0
  470. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_protocol.py +0 -0
  471. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_sim.py +0 -0
  472. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/__init__.py +0 -0
  473. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_explore.py +0 -0
  474. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_services.py +0 -0
  475. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/settings.yaml +0 -0
  476. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/temperature_readings.log +0 -0
  477. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/tests/script_daq6510_central_heating.py +0 -0
  478. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/tests/script_daq6510_mon.py +0 -0
  479. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/tests/script_plot_readings.py +0 -0
  480. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/tests/test_adev.py +0 -0
  481. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/tests/test_dev.py +0 -0
  482. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/README.md +0 -0
  483. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.py +0 -0
  484. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.yaml +0 -0
  485. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_cs.py +0 -0
  486. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_devif.py +0 -0
  487. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_protocol.py +0 -0
  488. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/__init__.py +0 -0
  489. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_explore.py +0 -0
  490. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_services.py +0 -0
  491. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/settings.yaml +0 -0
  492. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/tests/test_lakeshore336_simulator.py +0 -0
  493. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/README.md +0 -0
  494. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/__init__.py +0 -0
  495. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/__init__.py +0 -0
  496. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/alpha.py +0 -0
  497. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/dynalpha.py +0 -0
  498. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod.py +0 -0
  499. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod_ui.py +0 -0
  500. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.py +0 -0
  501. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.yaml +0 -0
  502. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_cs.py +0 -0
  503. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_protocol.py +0 -0
  504. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_ui.py +0 -0
  505. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac.py +0 -0
  506. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac_regex.py +0 -0
  507. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.py +0 -0
  508. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.yaml +0 -0
  509. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_cs.py +0 -0
  510. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_protocol.py +0 -0
  511. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_sim.py +0 -0
  512. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_ui.py +0 -0
  513. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/punaplus.py +0 -0
  514. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.py +0 -0
  515. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.yaml +0 -0
  516. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_cs.py +0 -0
  517. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_devif.py +0 -0
  518. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_protocol.py +0 -0
  519. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_ui.py +0 -0
  520. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/__init__.py +0 -0
  521. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_explore.py +0 -0
  522. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_services.py +0 -0
  523. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/settings.yaml +0 -0
  524. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/tests/test_puna.py +0 -0
  525. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/tests/test_puna_cs.py +0 -0
  526. {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/tests/test_puna_simulator.py +0 -0
  527. {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-fits/README.md +0 -0
  528. {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-fits/src/egse/plugins/storage/fits.py +0 -0
  529. {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-hdf5/README.md +0 -0
  530. {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-hdf5/src/egse/plugins/storage/hdf5.py +0 -0
  531. {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-spw/README.md +0 -0
  532. {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-spw/src/egse/spw.py +0 -0
  533. {cgse-0.16.9 → cgse-0.16.10}/ruff.toml +0 -0
  534. {cgse-0.16.9 → cgse-0.16.10}/scratch/advanced-process-monitoring.py +0 -0
  535. {cgse-0.16.9 → cgse-0.16.10}/scratch/live-process-monitoring.py +0 -0
  536. {cgse-0.16.9 → cgse-0.16.10}/scratch/match-case.py +0 -0
  537. {cgse-0.16.9 → cgse-0.16.10}/scratch/processes.json +0 -0
  538. {cgse-0.16.9 → cgse-0.16.10}/scratch/simple-process-monitoring.py +0 -0
  539. {cgse-0.16.9 → cgse-0.16.10}/temperature_readings.log +0 -0
  540. {cgse-0.16.9 → cgse-0.16.10}/test_service_registry.db +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cgse
3
- Version: 0.16.9
3
+ Version: 0.16.10
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>
@@ -39,8 +39,8 @@ Settings
39
39
  │ ├── METRICS_PORT: 7003
40
40
  │ ├── MAX_NR_LOG_FILES: 20
41
41
  │ ├── MAX_SIZE_LOG_FILES: 20
42
- │ ├── TEXTUALOG_IP_ADDRESS: 127.0.0.1
43
- │ └── TEXTUALOG_LISTENING_PORT: 19996
42
+ │ ├── EXTERN_LOG_HOST: 127.0.0.1
43
+ │ └── EXTERN_LOG_PORT: 19996
44
44
  ├── Configuration Manager Control Server
45
45
  │ ├── PROTOCOL: tcp
46
46
  │ ├── HOSTNAME: localhost
@@ -146,8 +146,8 @@ Logging Control Server: # LOG_CS
146
146
  METRICS_PORT: 7003 # The HTTP port where Prometheus will connect to for retrieving metrics
147
147
  MAX_NR_LOG_FILES: 20 # The maximum number of log files that will be maintained in a roll-over
148
148
  MAX_SIZE_LOG_FILES: 20 # The maximum size one log file can become
149
- TEXTUALOG_IP_ADDRESS: 127.0.0.1 # The IP address of the textualog listening server
150
- TEXTUALOG_LISTENING_PORT: 19996 # The port number on which the textualog server is listening
149
+ EXTERN_LOG_HOST: 127.0.0.1 # The IP address of the external logger
150
+ EXTERN_LOG_PORT: 19996 # The port number on which the external logger is listening
151
151
 
152
152
  Configuration Manager Control Server: # CM_CS
153
153
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cgse-common"
3
- version = "0.16.9"
3
+ version = "0.16.10"
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.9"
3
+ version = "0.16.10"
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.9"
3
+ version = "0.16.10"
4
4
  description = "Core services for the CGSE framework"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
@@ -18,8 +18,8 @@ Logging Control Server: # LOG_CS
18
18
  MAX_SIZE_LOG_FILES: 20 # The maximum size one log file can become
19
19
  RECEIVER_PORT: 6105
20
20
  COMMANDER_PORT: 6106
21
- TEXTUALOG_IP_ADDRESS: 127.0.0.1 # The IP address of the textualog listening server
22
- TEXTUALOG_LISTENING_PORT: 19996 # The port number on which the textualog server is listening
21
+ EXTERN_LOG_HOST: 127.0.0.1 # The IP address of the external logger
22
+ EXTERN_LOG_PORT: 19996 # The port number on which the external logger is listening
23
23
 
24
24
  Configuration Manager Control Server: # CM_CS
25
25
 
@@ -35,6 +35,7 @@ import zmq
35
35
  from egse.log import LOG_FORMAT_FULL
36
36
  from egse.log import PackageFilter
37
37
  from egse.log import egse_logger
38
+ from egse.log import get_log_level_from_env
38
39
  from egse.log import logger
39
40
  from egse.log import root_logger
40
41
  from egse.registry.client import RegistryClient
@@ -201,7 +202,7 @@ def setup_logging():
201
202
 
202
203
  logging.disable(logging.NOTSET)
203
204
  for handler in root_logger.handlers:
204
- handler.setLevel(logging.INFO)
205
+ handler.setLevel(get_log_level_from_env())
205
206
 
206
207
  egse_logger.setLevel(logging.DEBUG)
207
208
 
@@ -144,9 +144,9 @@ def start():
144
144
  stream_handler.setFormatter(stream_formatter)
145
145
  stream_handler.addFilter(PackageFilter())
146
146
 
147
- # Log records are also sent to the textualog listening server
147
+ # Log records are also sent to the external logger
148
148
 
149
- socket_handler = SocketHandler(CTRL_SETTINGS.TEXTUALOG_IP_ADDRESS, CTRL_SETTINGS.TEXTUALOG_LISTENING_PORT)
149
+ socket_handler = SocketHandler(CTRL_SETTINGS.EXTERN_LOG_HOST, CTRL_SETTINGS.EXTERN_LOG_PORT)
150
150
  socket_handler.addFilter(PackageFilter())
151
151
  socket_handler.setFormatter(file_formatter)
152
152
 
@@ -114,8 +114,9 @@ class RegistryClient:
114
114
  self.poller.register(self.sub_socket, zmq.POLLIN)
115
115
 
116
116
  def _connect_hb_socket(self):
117
- self.hb_socket = self.context.socket(zmq.REQ)
117
+ self.hb_socket = self.context.socket(zmq.DEALER)
118
118
  self.hb_socket.setsockopt(zmq.LINGER, 0) # Don't wait for unsent messages on close()
119
+ self.hb_socket.setsockopt(zmq.IDENTITY, self._client_id)
119
120
  self.hb_socket.connect(self.registry_hb_endpoint)
120
121
 
121
122
  def disconnect(self):
@@ -214,9 +215,6 @@ class RegistryClient:
214
215
  return response
215
216
  else:
216
217
  self.logger.error(f"Request timed out after {HEART_BEAT_TIMEOUT:.2f}s")
217
- self._disconnect_hb_socket()
218
- time.sleep(HEART_BEAT_RECONNECT)
219
- self._connect_hb_socket()
220
218
  return {"success": False, "error": "Request timed out"}
221
219
 
222
220
  except zmq.ZMQError as exc:
@@ -473,14 +471,14 @@ class RegistryClient:
473
471
 
474
472
  # Do a health check
475
473
  if not self.health_check():
476
- self.logger.warning("ServiceRegistry not responding.")
474
+ self.logger.warning("Heartbeat failed: ServiceRegistry not responding.")
477
475
  return
478
476
  else:
479
- self.logger.info("Health check succeeded, reregistering...")
477
+ self.logger.info("Heartbeat failed, but health check succeeded, reregistering...")
480
478
  self.reregister()
481
479
 
482
480
  else:
483
- self.logger.debug(response.get("message"))
481
+ self.logger.debug(f"Heartbeat succeeded: {response.get('message')}")
484
482
 
485
483
  except Exception as exc:
486
484
  self.logger.error(f"Error sending heartbeat: {exc}")
@@ -603,8 +601,9 @@ class AsyncRegistryClient:
603
601
  self.sub_socket.setsockopt_string(zmq.SUBSCRIBE, "")
604
602
 
605
603
  def _connect_hb_socket(self):
606
- self.hb_socket = self.context.socket(zmq.REQ)
604
+ self.hb_socket = self.context.socket(zmq.DEALER)
607
605
  self.hb_socket.setsockopt(zmq.LINGER, 0) # Don't wait for unsent messages on close()
606
+ self.hb_socket.setsockopt(zmq.IDENTITY, self._client_id)
608
607
  self.hb_socket.connect(self.registry_hb_endpoint)
609
608
 
610
609
  def disconnect(self):
@@ -698,11 +697,8 @@ class AsyncRegistryClient:
698
697
  return response
699
698
  except asyncio.TimeoutError:
700
699
  self.logger.error(f"Heartbeat request timed out after {HEART_BEAT_TIMEOUT:.2f}s")
701
- # Reset the socket to avoid invalid state
702
- self._disconnect_hb_socket()
703
- await asyncio.sleep(HEART_BEAT_RECONNECT)
704
- self._connect_hb_socket()
705
700
  return {"success": False, "error": "Heartbeat request timed out"}
701
+
706
702
  except zmq.ZMQError as exc:
707
703
  self.logger.error(f"ZMQ error: {exc}", exc_info=True)
708
704
  return {"success": False, "error": str(exc)}
@@ -858,14 +854,14 @@ class AsyncRegistryClient:
858
854
 
859
855
  # Do a health check
860
856
  if not await self.health_check():
861
- self.logger.warning("ServiceRegistry not responding.")
857
+ self.logger.warning("Heartbeat failed: ServiceRegistry not responding.")
862
858
  continue
863
859
  else:
864
- self.logger.info("Health check succeeded, reregistering...")
860
+ self.logger.info("Heartbeat failed, but health check succeeded, reregistering...")
865
861
  await self.reregister()
866
862
 
867
863
  else:
868
- self.logger.debug(response.get("message"))
864
+ self.logger.debug(f"Heartbeat succeeded: {response.get('message')}")
869
865
  except Exception as exc:
870
866
  self.logger.error(f"Error in heartbeat loop: {exc}", exc_info=True)
871
867
 
@@ -101,19 +101,19 @@ class AsyncRegistryServer:
101
101
  req_rep_endpoint = f"tcp://*:{self.req_port}"
102
102
  self.req_socket = self.context.socket(zmq.ROUTER)
103
103
  self.req_socket.bind(req_rep_endpoint)
104
- self.logger.info(f"Binding request socket to {req_rep_endpoint}")
104
+ self.logger.debug(f"Binding request ROUTER socket to {req_rep_endpoint}")
105
105
 
106
106
  # Socket to publish service events
107
107
  pub_endpoint = f"tcp://*:{self.pub_port}"
108
108
  self.pub_socket = self.context.socket(zmq.PUB)
109
109
  self.pub_socket.bind(pub_endpoint)
110
- self.logger.info(f"Binding publish socket to {pub_endpoint}")
110
+ self.logger.debug(f"Binding publish PUB socket to {pub_endpoint}")
111
111
 
112
112
  # Socket to handle heartbeats
113
113
  hb_endpoint = f"tcp://*:{self.hb_port}"
114
- self.hb_socket = self.context.socket(zmq.REP)
114
+ self.hb_socket = self.context.socket(zmq.ROUTER)
115
115
  self.hb_socket.bind(hb_endpoint)
116
- self.logger.info(f"Binding heartbeat socket to {hb_endpoint}")
116
+ self.logger.debug(f"Binding heartbeat ROUTER socket to {hb_endpoint}")
117
117
 
118
118
  async def initialize_backend(self):
119
119
  """Initialize the storage backend."""
@@ -137,8 +137,8 @@ class AsyncRegistryServer:
137
137
 
138
138
  self._running = True
139
139
  self.logger.info(
140
- f"Async registry server started on ports {self.req_port} (ROUTER-DEALER), {self.pub_port} (PUB), "
141
- f"and {self.hb_port} (Heartbeat)"
140
+ f"Async registry server started on ports {self.req_port} (Requests ROUTER-DEALER), "
141
+ f"{self.pub_port} (Publish PUB), and {self.hb_port} (Heartbeat ROUTER)"
142
142
  )
143
143
 
144
144
  # Start the cleanup task
@@ -400,22 +400,35 @@ class AsyncRegistryServer:
400
400
  self.logger.info("Started heartbeats handler task")
401
401
 
402
402
  try:
403
+ message_parts = None
403
404
  while self._running:
404
405
  try:
405
406
  # Receive heartbeat (non-blocking with timeout)
406
- message_json = await asyncio.wait_for(self.hb_socket.recv_string(), timeout=1.0)
407
+ message_parts = await asyncio.wait_for(self.hb_socket.recv_multipart(), timeout=1.0)
408
+
409
+ self.logger.debug(f"{message_parts=}")
410
+
411
+ if len(message_parts) == 2:
412
+ client_id = message_parts[0]
413
+ request = message_parts[1]
414
+
415
+ # Parse the request
416
+ request = json.loads(request)
417
+ self.logger.info(f"Received heartbeat request: {request}")
407
418
 
408
- # Parse the request
409
- request = json.loads(message_json)
410
- self.logger.info(f"Received heartbeat request: {request}")
419
+ response = await self._handle_renew(request)
420
+ if VERBOSE_DEBUG:
421
+ self.logger.debug(f"{response=}")
411
422
 
412
- response = await self._handle_renew(request)
423
+ # Send the response
424
+ await self.hb_socket.send_multipart([client_id, json.dumps(response).encode()])
413
425
 
414
- # Send the response
415
- await self.hb_socket.send_string(json.dumps(response))
426
+ else:
427
+ self.logger.warning("Heartbeat request: message corrupted, check debug messages.")
416
428
 
417
429
  except asyncio.TimeoutError:
418
- # self.logger.debug("waiting for heartbeat...")
430
+ if VERBOSE_DEBUG:
431
+ self.logger.debug("waiting for heartbeat...")
419
432
  continue
420
433
 
421
434
  except Exception as exc:
@@ -526,12 +539,6 @@ async def start(
526
539
  ):
527
540
  """Run the registry server with signal handling."""
528
541
 
529
- logging.basicConfig(
530
- level=get_logging_level(log_level),
531
- format="[%(asctime)s] %(threadName)-12s %(levelname)-8s %(name)-12s %(lineno)5d:%(module)-20s %(message)s",
532
- )
533
- logging.getLogger("aiosqlite").setLevel(logging.INFO)
534
-
535
542
  with remote_logging():
536
543
  server = AsyncRegistryServer(
537
544
  req_port=req_port,
@@ -30,7 +30,6 @@ Notes:
30
30
  """
31
31
 
32
32
  import asyncio
33
- import logging
34
33
  import sys
35
34
  import time
36
35
 
@@ -88,7 +87,7 @@ def test_proper_termination_of_tasks_sync(
88
87
  assert response["name"] == "sync-context-test-service"
89
88
  assert response["metadata"]["msg"] == "Hello, World!"
90
89
 
91
- print("Sleeping for 10s to let some heartbeats come through...")
90
+ print("Sleeping for 50s to let some heartbeats come through...")
92
91
  time.sleep(50.0)
93
92
 
94
93
  client.stop_heartbeat()
@@ -134,8 +133,8 @@ async def test_proper_termination_of_tasks_async(
134
133
  assert response["name"] == "async-context-test-service"
135
134
  assert response["metadata"]["msg"] == "Hello, World!"
136
135
 
137
- print("Sleeping for 10s to let some heartbeats come through...")
138
- await asyncio.sleep(10.0)
136
+ print("Sleeping for 50s to let some heartbeats come through...")
137
+ await asyncio.sleep(50.0)
139
138
 
140
139
  await client.stop_heartbeat()
141
140
  await client.deregister(service_id)
@@ -166,9 +165,4 @@ def main(
166
165
 
167
166
 
168
167
  if __name__ == "__main__":
169
- logging.basicConfig(
170
- level=logging.DEBUG,
171
- format="[%(asctime)s] %(threadName)-12s %(levelname)-8s %(name)-12s %(lineno)5d:%(module)-20s %(message)s",
172
- )
173
-
174
168
  sys.exit(app())
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cgse-gui"
3
- version = "0.16.9"
3
+ version = "0.16.10"
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.9"
3
+ version = "0.16.10"
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.9"
3
+ version = "0.16.10"
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.9"
3
+ version = "0.16.10"
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.9"
3
+ version = "0.16.10"
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.9"
3
+ version = "0.16.10"
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.9"
3
+ version = "0.16.10"
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.9"
3
+ version = "0.16.10"
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.9"
3
+ version = "0.16.10"
4
4
  description = "Generic Common-EGSE: Commanding and monitoring lab equipment"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
index 6227ca3..2f00e49 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