cgse 0.16.11__tar.gz → 0.16.13__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (542) hide show
  1. {cgse-0.16.11 → cgse-0.16.13}/PKG-INFO +1 -1
  2. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/pyproject.toml +1 -1
  3. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/pyproject.toml +1 -1
  4. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/pyproject.toml +1 -1
  5. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/async_control.py +14 -18
  6. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/confman/confman_acs.py +0 -1
  7. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/mixin.py +1 -1
  8. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_mixin.py +67 -2
  9. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/pyproject.toml +1 -1
  10. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/pyproject.toml +1 -1
  11. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/pyproject.toml +1 -1
  12. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/pyproject.toml +1 -1
  13. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/pyproject.toml +1 -1
  14. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/__init__.py +0 -1
  15. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_ui.py +3 -1
  16. {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-fits/pyproject.toml +1 -1
  17. {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-hdf5/pyproject.toml +1 -1
  18. {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-spw/pyproject.toml +1 -1
  19. {cgse-0.16.11 → cgse-0.16.13}/pyproject.toml +1 -1
  20. {cgse-0.16.11 → cgse-0.16.13}/service_registry.db +0 -0
  21. {cgse-0.16.11 → cgse-0.16.13}/service_registry.db-shm +0 -0
  22. {cgse-0.16.11 → cgse-0.16.13}/service_registry.db-wal +0 -0
  23. {cgse-0.16.11 → cgse-0.16.13}/.github/workflows/ruff-format-check.yaml +0 -0
  24. {cgse-0.16.11 → cgse-0.16.13}/.gitignore +0 -0
  25. {cgse-0.16.11 → cgse-0.16.13}/README.md +0 -0
  26. {cgse-0.16.11 → cgse-0.16.13}/buffer_vat.log +0 -0
  27. {cgse-0.16.11 → cgse-0.16.13}/buffer_vat.png +0 -0
  28. {cgse-0.16.11 → cgse-0.16.13}/bump.py +0 -0
  29. {cgse-0.16.11 → cgse-0.16.13}/conftest.py +0 -0
  30. {cgse-0.16.11 → cgse-0.16.13}/docs/api/bits.md +0 -0
  31. {cgse-0.16.11 → cgse-0.16.13}/docs/api/calibration.md +0 -0
  32. {cgse-0.16.11 → cgse-0.16.13}/docs/api/command.md +0 -0
  33. {cgse-0.16.11 → cgse-0.16.13}/docs/api/config.md +0 -0
  34. {cgse-0.16.11 → cgse-0.16.13}/docs/api/control.md +0 -0
  35. {cgse-0.16.11 → cgse-0.16.13}/docs/api/counter.md +0 -0
  36. {cgse-0.16.11 → cgse-0.16.13}/docs/api/decorators.md +0 -0
  37. {cgse-0.16.11 → cgse-0.16.13}/docs/api/device.md +0 -0
  38. {cgse-0.16.11 → cgse-0.16.13}/docs/api/dicts.md +0 -0
  39. {cgse-0.16.11 → cgse-0.16.13}/docs/api/dummy.md +0 -0
  40. {cgse-0.16.11 → cgse-0.16.13}/docs/api/env.md +0 -0
  41. {cgse-0.16.11 → cgse-0.16.13}/docs/api/exceptions.md +0 -0
  42. {cgse-0.16.11 → cgse-0.16.13}/docs/api/heartbeat.md +0 -0
  43. {cgse-0.16.11 → cgse-0.16.13}/docs/api/hk.md +0 -0
  44. {cgse-0.16.11 → cgse-0.16.13}/docs/api/index.md +0 -0
  45. {cgse-0.16.11 → cgse-0.16.13}/docs/api/listener.md +0 -0
  46. {cgse-0.16.11 → cgse-0.16.13}/docs/api/metrics.md +0 -0
  47. {cgse-0.16.11 → cgse-0.16.13}/docs/api/mixin.md +0 -0
  48. {cgse-0.16.11 → cgse-0.16.13}/docs/api/monitoring.md +0 -0
  49. {cgse-0.16.11 → cgse-0.16.13}/docs/api/observer.md +0 -0
  50. {cgse-0.16.11 → cgse-0.16.13}/docs/api/obsid.md +0 -0
  51. {cgse-0.16.11 → cgse-0.16.13}/docs/api/persistence.md +0 -0
  52. {cgse-0.16.11 → cgse-0.16.13}/docs/api/plugin.md +0 -0
  53. {cgse-0.16.11 → cgse-0.16.13}/docs/api/process.md +0 -0
  54. {cgse-0.16.11 → cgse-0.16.13}/docs/api/reload.md +0 -0
  55. {cgse-0.16.11 → cgse-0.16.13}/docs/api/settings.md +0 -0
  56. {cgse-0.16.11 → cgse-0.16.13}/docs/api/setup.md +0 -0
  57. {cgse-0.16.11 → cgse-0.16.13}/docs/api/system.md +0 -0
  58. {cgse-0.16.11 → cgse-0.16.13}/docs/custom_theme/main.html +0 -0
  59. {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/coding_style.md +0 -0
  60. {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/docs.md +0 -0
  61. {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/index.md +0 -0
  62. {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/installation.md +0 -0
  63. {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/monitoring.md +0 -0
  64. {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/monorepo.md +0 -0
  65. {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/nox.md +0 -0
  66. {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/plugins.md +0 -0
  67. {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/project-configuration.md +0 -0
  68. {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/unit_testing.md +0 -0
  69. {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/uv.md +0 -0
  70. {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/versioning.md +0 -0
  71. {cgse-0.16.11 → cgse-0.16.13}/docs/getting_started.md +0 -0
  72. {cgse-0.16.11 → cgse-0.16.13}/docs/help.md +0 -0
  73. {cgse-0.16.11 → cgse-0.16.13}/docs/images/cli-cgse.png +0 -0
  74. {cgse-0.16.11 → cgse-0.16.13}/docs/images/github-fork-clone-dark.png +0 -0
  75. {cgse-0.16.11 → cgse-0.16.13}/docs/images/github-fork-clone.png +0 -0
  76. {cgse-0.16.11 → cgse-0.16.13}/docs/images/grafana-queries.png +0 -0
  77. {cgse-0.16.11 → cgse-0.16.13}/docs/images/icons/cgse-logo-blue.svg +0 -0
  78. {cgse-0.16.11 → cgse-0.16.13}/docs/images/icons/cgse-logo.svg +0 -0
  79. {cgse-0.16.11 → cgse-0.16.13}/docs/index.md +0 -0
  80. {cgse-0.16.11 → cgse-0.16.13}/docs/initialize.md +0 -0
  81. {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-common/images/load_methods.png +0 -0
  82. {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-common/index.md +0 -0
  83. {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-common/settings.md +0 -0
  84. {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-common/setup.md +0 -0
  85. {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-coordinates/index.md +0 -0
  86. {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-core/index.md +0 -0
  87. {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-core/notifyhub.md +0 -0
  88. {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-core/registry.md +0 -0
  89. {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-gui/index.md +0 -0
  90. {cgse-0.16.11 → cgse-0.16.13}/docs/libs/index.md +0 -0
  91. {cgse-0.16.11 → cgse-0.16.13}/docs/package_list.md +0 -0
  92. {cgse-0.16.11 → cgse-0.16.13}/docs/projects/cgse-tools.md +0 -0
  93. {cgse-0.16.11 → cgse-0.16.13}/docs/projects/index.md +0 -0
  94. {cgse-0.16.11 → cgse-0.16.13}/docs/projects/symetrie-hexapod.md +0 -0
  95. {cgse-0.16.11 → cgse-0.16.13}/docs/roadmap.md +0 -0
  96. {cgse-0.16.11 → cgse-0.16.13}/docs/stylesheets/custom.css +0 -0
  97. {cgse-0.16.11 → cgse-0.16.13}/docs/stylesheets/extra.css +0 -0
  98. {cgse-0.16.11 → cgse-0.16.13}/docs/tutorial.md +0 -0
  99. {cgse-0.16.11 → cgse-0.16.13}/docs/user_guide/cli.md +0 -0
  100. {cgse-0.16.11 → cgse-0.16.13}/docs/user_guide/index.md +0 -0
  101. {cgse-0.16.11 → cgse-0.16.13}/duckdb_metrics.db +0 -0
  102. {cgse-0.16.11 → cgse-0.16.13}/duckdb_metrics.db.wal +0 -0
  103. {cgse-0.16.11 → cgse-0.16.13}/identifier.sqlite +0 -0
  104. {cgse-0.16.11 → cgse-0.16.13}/justfile +0 -0
  105. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/README.md +0 -0
  106. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/justfile +0 -0
  107. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/noxfile.py +0 -0
  108. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/service_registry.db +0 -0
  109. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/cgse_common/__init__.py +0 -0
  110. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/cgse_common/cgse.py +0 -0
  111. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/cgse_common/settings.yaml +0 -0
  112. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/bits.py +0 -0
  113. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/calibration.py +0 -0
  114. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/config.py +0 -0
  115. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/counter.py +0 -0
  116. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/decorators.py +0 -0
  117. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/device.py +0 -0
  118. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/dicts.py +0 -0
  119. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/env.py +0 -0
  120. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/exceptions.py +0 -0
  121. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/heartbeat.py +0 -0
  122. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/hk.py +0 -0
  123. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/log.py +0 -0
  124. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/metrics.py +0 -0
  125. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/observer.py +0 -0
  126. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/obsid.py +0 -0
  127. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/persistence.py +0 -0
  128. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/plugin.py +0 -0
  129. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/plugins/metrics/duckdb.py +0 -0
  130. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/plugins/metrics/influxdb.py +0 -0
  131. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/plugins/metrics/timescaledb.py +0 -0
  132. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/process.py +0 -0
  133. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/py.typed +0 -0
  134. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/randomwalk.py +0 -0
  135. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/ratelimit.py +0 -0
  136. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/reload.py +0 -0
  137. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/resource.py +0 -0
  138. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/response.py +0 -0
  139. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/scpi.py +0 -0
  140. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/settings.py +0 -0
  141. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/settings.yaml +0 -0
  142. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/setup.py +0 -0
  143. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/signal.py +0 -0
  144. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/socketdevice.py +0 -0
  145. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/state.py +0 -0
  146. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/system.py +0 -0
  147. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/task.py +0 -0
  148. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/version.py +0 -0
  149. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/zmq_ser.py +0 -0
  150. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/conftest.py +0 -0
  151. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/COPYING +0 -0
  152. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00028_201028_155259.yaml +0 -0
  153. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00029_201028_155331.yaml +0 -0
  154. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00030_210311_134043.yaml +0 -0
  155. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00080_210917_105245.yaml +0 -0
  156. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00081_210922_142259.yaml +0 -0
  157. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00082_210923_094458.yaml +0 -0
  158. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL1/README.md +0 -0
  159. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL2/README.md +0 -0
  160. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/IAS/README.md +0 -0
  161. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/INTA/README.md +0 -0
  162. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/LAB23/README.md +0 -0
  163. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00027_211119_140441.yaml +0 -0
  164. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00028_211119_160406.yaml +0 -0
  165. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00029_211119_172918.yaml +0 -0
  166. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00030_211122_103604.yaml +0 -0
  167. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00031_211123_124900.yaml +0 -0
  168. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/common/telemetry/tm-dictionary-default.csv +0 -0
  169. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/conf/SETUP_20250114_1519.yaml +0 -0
  170. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/conf/config-file.toml +0 -0
  171. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/cal_coeff_1234.csv +0 -0
  172. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/calibration.csv +0 -0
  173. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/calibration.yaml +0 -0
  174. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/command.yaml +0 -0
  175. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/corrupt.yaml +0 -0
  176. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/data-file.txt +0 -0
  177. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/empty_data_file.txt +0 -0
  178. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/empty_yaml_file.yaml +0 -0
  179. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/local_settings.yaml +0 -0
  180. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/new_local_settings.yaml +0 -0
  181. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/test_setup.yaml +0 -0
  182. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/icons/hourglass.svg +0 -0
  183. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/icons/keyboard.png +0 -0
  184. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/icons/soap_sponge.svg +0 -0
  185. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/lib/dev1/shared-lib.so +0 -0
  186. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/lib/dev2/shared-lib.so +0 -0
  187. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/fixtures/default_env.py +0 -0
  188. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/fixtures/helpers.py +0 -0
  189. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/scripts/empty_process.py +0 -0
  190. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/scripts/handle_sigterm.py +0 -0
  191. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/scripts/process_with_children.py +0 -0
  192. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/scripts/raise_value_error.py +0 -0
  193. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/scripts/void-0.py +0 -0
  194. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/scripts/void-1.py +0 -0
  195. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_bits.py +0 -0
  196. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_config.py +0 -0
  197. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_decorators.py +0 -0
  198. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_device.py +0 -0
  199. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_env.py +0 -0
  200. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_fixtures.py +0 -0
  201. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_hk.py +0 -0
  202. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_influxdb_plugin.py +0 -0
  203. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_log.py +0 -0
  204. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_metrics.py +0 -0
  205. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_plugin.py +0 -0
  206. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_process.py +0 -0
  207. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_ratelimit.py +0 -0
  208. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_resource.py +0 -0
  209. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_response.py +0 -0
  210. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_settings.py +0 -0
  211. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_setup.py +0 -0
  212. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_signal.py +0 -0
  213. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_state.py +0 -0
  214. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_system.py +0 -0
  215. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_task.py +0 -0
  216. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_zmq_ser.py +0 -0
  217. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/README.md +0 -0
  218. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/cgse_coordinates/__init__.py +0 -0
  219. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/cgse_coordinates/settings.yaml +0 -0
  220. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/__init__.py +0 -0
  221. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/avoidance.py +0 -0
  222. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/cslmodel.py +0 -0
  223. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/laser_tracker_to_dict.py +0 -0
  224. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/point.py +0 -0
  225. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/pyplot.py +0 -0
  226. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/referenceFrame.py +0 -0
  227. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/refmodel.py +0 -0
  228. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/rotationMatrix.py +0 -0
  229. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/transform3d_addon.py +0 -0
  230. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_avoidance.py +0 -0
  231. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_coordinates_plot.py +0 -0
  232. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_coordinates_serialize.py +0 -0
  233. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_point.py +0 -0
  234. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_ref_model.py +0 -0
  235. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_reference_frames.py +0 -0
  236. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_refmodel.py +0 -0
  237. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/.envrc.disabled +0 -0
  238. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/README.md +0 -0
  239. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/service_registry.db +0 -0
  240. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/__init__.py +0 -0
  241. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/_start.py +0 -0
  242. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/_status.py +0 -0
  243. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/_stop.py +0 -0
  244. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/cgse_explore.py +0 -0
  245. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/services.py +0 -0
  246. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/settings.yaml +0 -0
  247. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/_setup_core.py +0 -0
  248. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/async_control_claude.py +0 -0
  249. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/command.py +0 -0
  250. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/confman/__init__.py +0 -0
  251. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/confman/__main__.py +0 -0
  252. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/confman/confman.yaml +0 -0
  253. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/confman/confman_cs.py +0 -0
  254. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/connect-todo.py +0 -0
  255. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/connect.py +0 -0
  256. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/control.py +0 -0
  257. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/dummy.py +0 -0
  258. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/busy.svg +0 -0
  259. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/operational-mode.svg +0 -0
  260. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/pm_ui.svg +0 -0
  261. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/simulator-mode.svg +0 -0
  262. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/start-process-button.svg +0 -0
  263. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/stop-process-button.svg +0 -0
  264. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/user-interface.svg +0 -0
  265. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/listener.py +0 -0
  266. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/logger/__init__.py +0 -0
  267. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/logger/__main__.py +0 -0
  268. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/logger/log_cs.py +0 -0
  269. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/metricshub/__init__.py +0 -0
  270. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/metricshub/server.py +0 -0
  271. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/monitoring.py +0 -0
  272. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/notifyhub/__init__.py +0 -0
  273. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/notifyhub/client.py +0 -0
  274. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/notifyhub/event.py +0 -0
  275. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/notifyhub/server.py +0 -0
  276. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/notifyhub/services.py +0 -0
  277. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/notifyhub/test.py +0 -0
  278. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/procman/__init__.py +0 -0
  279. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/procman/procman.yaml +0 -0
  280. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/procman/procman_cs.py +0 -0
  281. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/procman/procman_protocol.py +0 -0
  282. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/procman/procman_ui.py +0 -0
  283. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/protocol.py +0 -0
  284. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/proxy.py +0 -0
  285. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/registry/__init__.py +0 -0
  286. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/registry/backend.py +0 -0
  287. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/registry/client.py +0 -0
  288. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/registry/server.py +0 -0
  289. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/registry/service.py +0 -0
  290. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/services.py +0 -0
  291. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/services.yaml +0 -0
  292. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/storage/__init__.py +0 -0
  293. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/storage/__main__.py +0 -0
  294. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/storage/persistence.py +0 -0
  295. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/storage/storage.yaml +0 -0
  296. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/storage/storage_cs.py +0 -0
  297. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/conftest.py +0 -0
  298. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/data/local_settings.yaml +0 -0
  299. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/fixtures/default_env.py +0 -0
  300. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/fixtures/helpers.py +0 -0
  301. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/fixtures/services.py +0 -0
  302. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/marimo/intro.py +0 -0
  303. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/script_subscribe_to_notifyhub.py +0 -0
  304. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/script_test_async_registry_client.py +0 -0
  305. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/script_test_registry_client_server.py +0 -0
  306. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/script_test_service_registry_server.py +0 -0
  307. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/script_test_sync_registry_client.py +0 -0
  308. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/services.py +0 -0
  309. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/stress_test_registry_server.py +0 -0
  310. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_async_control.py +0 -0
  311. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_client_server_interaction.py +0 -0
  312. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_cm_cs.py +0 -0
  313. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_command.py +0 -0
  314. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_confman_setups.py +0 -0
  315. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_connect.py +0 -0
  316. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_control.py +0 -0
  317. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_dummy.py +0 -0
  318. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_event_notification.py +0 -0
  319. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_extensions.py +0 -0
  320. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_listener.py +0 -0
  321. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_logger.py +0 -0
  322. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_notify_hub.py +0 -0
  323. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_protocol.py +0 -0
  324. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_registry_backend.py +0 -0
  325. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_registry_service.py +0 -0
  326. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_server_running.py +0 -0
  327. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_server_running_with_fixture.py +0 -0
  328. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_settings_core.py +0 -0
  329. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_zmq_microservice.py +0 -0
  330. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/README.md +0 -0
  331. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/__init__.py +0 -0
  332. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/buttons.py +0 -0
  333. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-start.svg +0 -0
  334. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-stop.svg +0 -0
  335. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/aeu-cs.svg +0 -0
  336. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-started.svg +0 -0
  337. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-stopped.svg +0 -0
  338. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/aeu_cs.svg +0 -0
  339. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/alert.svg +0 -0
  340. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/arrow-double-left.png +0 -0
  341. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/arrow-double-right.png +0 -0
  342. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/arrow-up.svg +0 -0
  343. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/backward.svg +0 -0
  344. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/busy.svg +0 -0
  345. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/cleaning.svg +0 -0
  346. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/color-scheme.svg +0 -0
  347. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/cs-connected-alert.svg +0 -0
  348. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/cs-connected-disabled.svg +0 -0
  349. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/cs-connected.svg +0 -0
  350. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/cs-not-connected.svg +0 -0
  351. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/double-left-arrow.svg +0 -0
  352. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/double-right-arrow.svg +0 -0
  353. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/erase-disabled.svg +0 -0
  354. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/erase.svg +0 -0
  355. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/fitsgen-start.svg +0 -0
  356. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/fitsgen-stop.svg +0 -0
  357. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/fitsgen.svg +0 -0
  358. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/forward.svg +0 -0
  359. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/fov-hk-start.svg +0 -0
  360. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/fov-hk-stop.svg +0 -0
  361. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/fov-hk.svg +0 -0
  362. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/front-desk.svg +0 -0
  363. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/home-actioned.svg +0 -0
  364. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/home-disabled.svg +0 -0
  365. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/home.svg +0 -0
  366. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/info.svg +0 -0
  367. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/invalid.png +0 -0
  368. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-green.svg +0 -0
  369. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-grey.svg +0 -0
  370. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-orange.svg +0 -0
  371. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-red.svg +0 -0
  372. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-square-green.svg +0 -0
  373. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-square-grey.svg +0 -0
  374. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-square-orange.svg +0 -0
  375. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-square-red.svg +0 -0
  376. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-green.svg +0 -0
  377. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-red.svg +0 -0
  378. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el+.svg +0 -0
  379. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el-.svg +0 -0
  380. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/location-marker.svg +0 -0
  381. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-dpu.svg +0 -0
  382. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-gimbal.svg +0 -0
  383. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-huber.svg +0 -0
  384. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-ogse.svg +0 -0
  385. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-puna.svg +0 -0
  386. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-tcs.svg +0 -0
  387. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-zonda.svg +0 -0
  388. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/maximize.svg +0 -0
  389. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/meter.svg +0 -0
  390. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/more.svg +0 -0
  391. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-start.svg +0 -0
  392. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-stop.svg +0 -0
  393. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk.svg +0 -0
  394. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/observing-off.svg +0 -0
  395. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/observing-on.svg +0 -0
  396. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.png +0 -0
  397. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.svg +0 -0
  398. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/ops-mode.svg +0 -0
  399. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/play-green.svg +0 -0
  400. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/plugged-disabled.svg +0 -0
  401. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/plugged.svg +0 -0
  402. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/pm_ui.svg +0 -0
  403. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/power-button-green.svg +0 -0
  404. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/power-button-red.svg +0 -0
  405. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/power-button.svg +0 -0
  406. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/radar.svg +0 -0
  407. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/radioactive.svg +0 -0
  408. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/reload.svg +0 -0
  409. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/remote-control-off.svg +0 -0
  410. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/remote-control-on.svg +0 -0
  411. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/repeat-blue.svg +0 -0
  412. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/repeat.svg +0 -0
  413. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/settings.svg +0 -0
  414. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/shrink.svg +0 -0
  415. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/shutter.svg +0 -0
  416. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/sign-off.svg +0 -0
  417. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/sign-on.svg +0 -0
  418. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/sim-mode.svg +0 -0
  419. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/small-buttons-go.svg +0 -0
  420. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/small-buttons-minus.svg +0 -0
  421. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/small-buttons-plus.svg +0 -0
  422. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/sponge.svg +0 -0
  423. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/start-button-disabled.svg +0 -0
  424. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/start-button.svg +0 -0
  425. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/stop-button-disabled.svg +0 -0
  426. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/stop-button.svg +0 -0
  427. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/stop-red.svg +0 -0
  428. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/stop.svg +0 -0
  429. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/switch-disabled-square.svg +0 -0
  430. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/switch-disabled.svg +0 -0
  431. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/switch-off-square.svg +0 -0
  432. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/switch-off.svg +0 -0
  433. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/switch-on-square.svg +0 -0
  434. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/switch-on.svg +0 -0
  435. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/temperature-control.svg +0 -0
  436. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/th_ui_logo.svg +0 -0
  437. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/unplugged.svg +0 -0
  438. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/unvalid.png +0 -0
  439. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/user-interface.svg +0 -0
  440. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/vacuum.svg +0 -0
  441. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/valid.png +0 -0
  442. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-dark.svg +0 -0
  443. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-white.svg +0 -0
  444. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/led.py +0 -0
  445. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/limitswitch.py +0 -0
  446. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/states.py +0 -0
  447. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/styles/dark.qss +0 -0
  448. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/styles/default.qss +0 -0
  449. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/styles.qss +0 -0
  450. {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/switch.py +0 -0
  451. {cgse-0.16.11 → cgse-0.16.13}/mkdocs.yml +0 -0
  452. {cgse-0.16.11 → cgse-0.16.13}/noxfile.py +0 -0
  453. {cgse-0.16.11 → cgse-0.16.13}/overrides/.icons/custom/dbend-dark.svg +0 -0
  454. {cgse-0.16.11 → cgse-0.16.13}/overrides/.icons/custom/dbend-light.svg +0 -0
  455. {cgse-0.16.11 → cgse-0.16.13}/overrides/.icons/custom/gear.svg +0 -0
  456. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/README.md +0 -0
  457. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/src/cgse_tools/__init__.py +0 -0
  458. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/src/cgse_tools/cgse_clock.py +0 -0
  459. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/src/cgse_tools/cgse_commands.py +0 -0
  460. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/src/cgse_tools/cgse_services.py +0 -0
  461. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/src/egse/tools/status.py +0 -0
  462. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/README.md +0 -0
  463. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/justfile +0 -0
  464. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/noxfile.py +0 -0
  465. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/service_registry.db +0 -0
  466. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/__init__.py +0 -0
  467. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.py +0 -0
  468. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.yaml +0 -0
  469. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_acs.py +0 -0
  470. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_adev.py +0 -0
  471. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_cs.py +0 -0
  472. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_dev.py +0 -0
  473. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_mon.py +0 -0
  474. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_protocol.py +0 -0
  475. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_sim.py +0 -0
  476. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/__init__.py +0 -0
  477. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_explore.py +0 -0
  478. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_services.py +0 -0
  479. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/settings.yaml +0 -0
  480. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/temperature_readings.log +0 -0
  481. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/tests/script_daq6510_central_heating.py +0 -0
  482. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/tests/script_daq6510_mon.py +0 -0
  483. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/tests/script_plot_readings.py +0 -0
  484. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/tests/test_adev.py +0 -0
  485. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/tests/test_dev.py +0 -0
  486. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/README.md +0 -0
  487. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.py +0 -0
  488. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.yaml +0 -0
  489. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_cs.py +0 -0
  490. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_devif.py +0 -0
  491. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_protocol.py +0 -0
  492. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/__init__.py +0 -0
  493. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_explore.py +0 -0
  494. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_services.py +0 -0
  495. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/settings.yaml +0 -0
  496. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/tests/test_lakeshore336_simulator.py +0 -0
  497. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/README.md +0 -0
  498. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/__init__.py +0 -0
  499. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/alpha.py +0 -0
  500. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/dynalpha.py +0 -0
  501. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod.py +0 -0
  502. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod_ui.py +0 -0
  503. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.py +0 -0
  504. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.yaml +0 -0
  505. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_cs.py +0 -0
  506. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_protocol.py +0 -0
  507. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_ui.py +0 -0
  508. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac.py +0 -0
  509. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac_regex.py +0 -0
  510. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.py +0 -0
  511. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.yaml +0 -0
  512. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_cs.py +0 -0
  513. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_protocol.py +0 -0
  514. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_sim.py +0 -0
  515. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/punaplus.py +0 -0
  516. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.py +0 -0
  517. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.yaml +0 -0
  518. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_cs.py +0 -0
  519. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_devif.py +0 -0
  520. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_protocol.py +0 -0
  521. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_ui.py +0 -0
  522. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/__init__.py +0 -0
  523. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_explore.py +0 -0
  524. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_services.py +0 -0
  525. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/settings.yaml +0 -0
  526. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/tests/test_puna.py +0 -0
  527. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/tests/test_puna_cs.py +0 -0
  528. {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/tests/test_puna_simulator.py +0 -0
  529. {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-fits/README.md +0 -0
  530. {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-fits/src/egse/plugins/storage/fits.py +0 -0
  531. {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-hdf5/README.md +0 -0
  532. {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-hdf5/src/egse/plugins/storage/hdf5.py +0 -0
  533. {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-spw/README.md +0 -0
  534. {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-spw/src/egse/spw.py +0 -0
  535. {cgse-0.16.11 → cgse-0.16.13}/ruff.toml +0 -0
  536. {cgse-0.16.11 → cgse-0.16.13}/scratch/advanced-process-monitoring.py +0 -0
  537. {cgse-0.16.11 → cgse-0.16.13}/scratch/live-process-monitoring.py +0 -0
  538. {cgse-0.16.11 → cgse-0.16.13}/scratch/match-case.py +0 -0
  539. {cgse-0.16.11 → cgse-0.16.13}/scratch/processes.json +0 -0
  540. {cgse-0.16.11 → cgse-0.16.13}/scratch/simple-process-monitoring.py +0 -0
  541. {cgse-0.16.11 → cgse-0.16.13}/temperature_readings.log +0 -0
  542. {cgse-0.16.11 → cgse-0.16.13}/test_service_registry.db +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cgse
3
- Version: 0.16.11
3
+ Version: 0.16.13
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.11"
3
+ version = "0.16.13"
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.11"
3
+ version = "0.16.13"
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.11"
3
+ version = "0.16.13"
4
4
  description = "Core services for the CGSE framework"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
@@ -18,7 +18,6 @@ from rich.traceback import Traceback
18
18
  from egse.env import bool_env
19
19
  from egse.exceptions import InitialisationError
20
20
  from egse.log import logging
21
- from egse.process import ProcessStatus
22
21
  from egse.registry.client import AsyncRegistryClient
23
22
  from egse.system import Periodic
24
23
  from egse.system import get_current_location
@@ -48,6 +47,7 @@ RECREATE_SOCKET = False
48
47
  """Recreate ZeroMQ socket after a timeout. Set to True when experiencing problems
49
48
  with corrupted socket states. This is mainly used for REQ-REP protocols."""
50
49
 
50
+
51
51
  class SocketType(Enum):
52
52
  """The socket type defines which socket to use for the intended communication."""
53
53
 
@@ -498,8 +498,7 @@ class AsyncControlServer:
498
498
  self._sequential_queue.put_nowait(coroutine_func)
499
499
 
500
500
 
501
- class DummyAsyncControlServer(AsyncControlServer):
502
- ...
501
+ class DummyAsyncControlServer(AsyncControlServer): ...
503
502
 
504
503
 
505
504
  DEFAULT_CLIENT_REQUEST_TIMEOUT = 5.0 # seconds
@@ -510,12 +509,12 @@ DEFAULT_LINGER = 100 # milliseconds
510
509
 
511
510
  class AsyncControlClient:
512
511
  def __init__(
513
- self,
514
- endpoint: str | None = None,
515
- service_type: str | None = None,
516
- client_id: str = CONTROL_CLIENT_ID,
517
- timeout: float = DEFAULT_CLIENT_REQUEST_TIMEOUT,
518
- linger: int = DEFAULT_LINGER,
512
+ self,
513
+ endpoint: str | None = None,
514
+ service_type: str | None = None,
515
+ client_id: str = CONTROL_CLIENT_ID,
516
+ timeout: float = DEFAULT_CLIENT_REQUEST_TIMEOUT,
517
+ linger: int = DEFAULT_LINGER,
519
518
  ):
520
519
  self.logger = logging.getLogger("egse.async_control.client")
521
520
 
@@ -672,10 +671,7 @@ class AsyncControlClient:
672
671
  return response
673
672
 
674
673
  async def block(self, sleep: int, timeout: int | None = None) -> str | None:
675
- cmd = {
676
- 'command': 'block',
677
- 'sleep': sleep
678
- }
674
+ cmd = {"command": "block", "sleep": sleep}
679
675
  response = await self._send_request(SocketType.SERVICE, cmd, timeout=timeout)
680
676
  if response["success"]:
681
677
  return response["message"]
@@ -708,10 +704,10 @@ class AsyncControlClient:
708
704
  return None
709
705
 
710
706
  async def _send_request(
711
- self,
712
- socket_type: SocketType,
713
- request: dict[str, Any] | str,
714
- timeout: float | None = None,
707
+ self,
708
+ socket_type: SocketType,
709
+ request: dict[str, Any] | str,
710
+ timeout: float | None = None,
715
711
  ) -> dict[str, Any]:
716
712
  """
717
713
  Send a request to the control server and get the response.
@@ -832,7 +828,6 @@ class AsyncControlClient:
832
828
  return self.service_command_socket
833
829
 
834
830
  def recreate_socket(self, socket_type: SocketType):
835
-
836
831
  if RECREATE_SOCKET:
837
832
  self.logger.warning(f"Recreating {socket_type.name} socket ...")
838
833
  match socket_type:
@@ -845,6 +840,7 @@ class AsyncControlClient:
845
840
  else:
846
841
  self.logger.debug("Socket recreation after timeout has been disabled.")
847
842
 
843
+
848
844
  async def cs_test_device_command_timeouts():
849
845
  """
850
846
  This test is about timeouts on the client and blocking commands on the server
@@ -14,7 +14,6 @@ PROCESS_NAME = "cm_acs"
14
14
 
15
15
  class AsyncConfigurationManager(AsyncControlServer):
16
16
  def __init__(self):
17
-
18
17
  multiprocessing.current_process().name = PROCESS_NAME
19
18
 
20
19
  super().__init__()
@@ -104,7 +104,7 @@ def add_cr_lf(cmd_string: str) -> str:
104
104
  return cmd_string
105
105
 
106
106
 
107
- def expand_kwargs(kwargs: Dict):
107
+ def expand_kwargs(kwargs: Dict) -> str:
108
108
  """Expand keyword arguments and their values as 'key=value' separated by spaces."""
109
109
  return " ".join(f"{k}={v}" for k, v in kwargs.items())
110
110
 
@@ -201,10 +201,26 @@ def pre_command(transport: DeviceTransport = None, **kwargs):
201
201
  LOGGER.info(f"Inside pre_command({transport.__class__.__name__}, {kwargs})")
202
202
 
203
203
 
204
- def post_command(transport: DeviceTransport = None, response: bytes = None):
204
+ def post_command(transport: DeviceTransport = None, response: bytes = None) -> bytes:
205
205
  LOGGER.info(f"Inside post_command(transport={transport.__class__.__name__}, {response=})")
206
206
  return response
207
207
 
208
+ def rewrite_kwargs(kwargs: dict) -> str:
209
+ """Rewrite some of the keyword arguments according to device specs."""
210
+
211
+ def calc_crc(data) -> int:
212
+ return len(data)
213
+
214
+ # assume we need to build our own fancy device command string...
215
+ address = kwargs.get("address")
216
+ identifier = kwargs.get("identifier")
217
+ cargo1 = kwargs.get("cargo1", 1)
218
+ cargo2 = kwargs.get("cargo2", 2)
219
+
220
+ cmd = f"{address:06X} 0x{identifier:06x} DEV_07463 CARGO1={cargo1:04d} CARGO2={cargo2}"
221
+
222
+ return f"{cmd} {calc_crc(cmd)}"
223
+
208
224
 
209
225
  class NewStyleCommandInterface:
210
226
  """Interface definition for new style dynamic commands."""
@@ -251,10 +267,25 @@ class NewStyleCommandInterface:
251
267
  def test_cmd_enum_with_format(self, enumeration: MyEnum):
252
268
  """Returns the command string"""
253
269
 
270
+ @dynamic_command(
271
+ cmd_type="transaction",
272
+ cmd_string="ARG_EXPANSION::{mode}::{crc:06x}",
273
+ use_format=True
274
+ )
275
+ def test_cmd_with_arg_expansion(self, *, mode, crc):
276
+ """Return the command string, after processing the arguments in the overriding function."""
277
+
254
278
  @dynamic_command(cmd_type="transaction", cmd_string="msg = ${msg}", pre_cmd=pre_command, post_cmd=post_command)
255
- def test_cmd_pre_post(self, msg: str):
279
+ def test_cmd_pre_post(self, msg: str) -> bytes:
256
280
  """Return the command string, executes pre- and post-commands."""
257
281
 
282
+ @dynamic_command(cmd_type="transaction", cmd_string="TRANS ${a} ${kwargs}")
283
+ def test_cmd_process_kwargs(self, *, a, **kwargs):
284
+ """Returns the command string."""
285
+
286
+ @dynamic_command(cmd_type="transaction", cmd_string="TRANS ${kwargs}", process_kwargs=rewrite_kwargs)
287
+ def test_cmd_rewrite_kwargs(self, **kwargs):
288
+ """Returns the command string with rewritten kwargs."""
258
289
 
259
290
  class NewStyleCommand(DynamicCommandMixin, NewStyleCommandInterface):
260
291
  """Simple new style commanding interface."""
@@ -263,6 +294,30 @@ class NewStyleCommand(DynamicCommandMixin, NewStyleCommandInterface):
263
294
  self.transport = NewStyleTransport()
264
295
  super().__init__()
265
296
 
297
+ def test_cmd_with_arg_expansion(self, *, mode, **kwargs):
298
+ # This function overrides the function from the NewStyleCommandInterface. The reason for doing that is
299
+ # because we need to reformat and/or process the arguments before passing them to the decorated function.
300
+
301
+ # rewrite 'mode'
302
+ mode = f"{mode:04x}"
303
+
304
+ if "crc" in kwargs:
305
+ crc = kwargs['crc']
306
+ else:
307
+ # 'calculate' the checksum
308
+ crc = 0x1234
309
+
310
+ # pass the method as defined in the NewStyleCommandInterface, to the handle_dynamic_command method of
311
+ # the mixin class. Provide the expected parameters as if the decorated function would have been called.
312
+ return DynamicCommandMixin.handle_dynamic_command(
313
+ self,
314
+ super().test_cmd_with_arg_expansion
315
+ )(
316
+ mode=mode, crc=crc
317
+ )
318
+
319
+ # Note that the following doesn't work, I didn't really figure out why yet...
320
+ # return super().test_cmd_with_mode_expansion(mode, crc)
266
321
 
267
322
  def test_new_style(caplog):
268
323
  caplog.set_level(logging.INFO)
@@ -319,6 +374,16 @@ def test_new_style(caplog):
319
374
  in caplog.text
320
375
  )
321
376
 
377
+ assert ns.test_cmd_with_arg_expansion(mode=23) == b"ARG_EXPANSION::0017::001234"
378
+ assert ns.test_cmd_with_arg_expansion(mode=0x10, crc=5678) == b"ARG_EXPANSION::0010::00162e"
379
+
380
+ # This tests the expansion of kwargs in the function's signature, by the default `expand_kwargs`
381
+ assert ns.test_cmd_process_kwargs(a=5, b=2, c=3) == b"TRANS 5 b=2 c=3"
382
+
383
+ tcu_mode=42 # == 0x2A
384
+ assert ns.test_cmd_rewrite_kwargs(address=5, identifier=2, cargo2=f"{hex(int(tcu_mode))[2:].zfill(4)}") == (
385
+ b"TRANS 000005 0x000002 DEV_07463 CARGO1=0001 CARGO2=002a 49"
386
+ )
322
387
 
323
388
  def test_interface_definition():
324
389
  with pytest.raises(TypeError):
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cgse-gui"
3
- version = "0.16.11"
3
+ version = "0.16.13"
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.11"
3
+ version = "0.16.13"
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.11"
3
+ version = "0.16.13"
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.11"
3
+ version = "0.16.13"
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.11"
3
+ version = "0.16.13"
4
4
  description = "Symetrie Hexapod implementation for CGSE"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
@@ -102,7 +102,6 @@ class ProxyFactory(DeviceFactoryInterface):
102
102
  """
103
103
 
104
104
  def create(self, device_type: str, *, device_id: str = None, **_ignored):
105
-
106
105
  logger.debug(f"{device_type=}, {device_id=}")
107
106
 
108
107
  with RegistryClient() as reg:
@@ -54,6 +54,7 @@ MODULE_LOGGER = logging.getLogger(__name__)
54
54
 
55
55
  load_dotenv(override=True)
56
56
 
57
+
57
58
  class DeviceControllerType(IntEnum):
58
59
  ALPHA = 0
59
60
  ALPHA_PLUS = 1
@@ -347,6 +348,7 @@ def parse_arguments():
347
348
 
348
349
  app = typer.Typer()
349
350
 
351
+
350
352
  @app.command()
351
353
  def main(device_id: str, device_type: str = "proxy", profile: bool = False):
352
354
  multiprocessing.current_process().name = "puna_ui"
@@ -370,7 +372,7 @@ def main(device_id: str, device_type: str = "proxy", profile: bool = False):
370
372
  Settings.set_profiling(True)
371
373
 
372
374
  if device_type == "proxy":
373
- *_, device_id, device_name, _ = get_hexapod_controller_pars(device_id)
375
+ _, _, device_id, device_name, *_ = get_hexapod_controller_pars(device_id)
374
376
  factory = ProxyFactory()
375
377
  proxy = factory.create(device_name, device_id=device_id)
376
378
  if not proxy.ping():
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "plato-fits"
3
- version = "0.16.11"
3
+ version = "0.16.13"
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.11"
3
+ version = "0.16.13"
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.11"
3
+ version = "0.16.13"
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.11"
3
+ version = "0.16.13"
4
4
  description = "Generic Common-EGSE: Commanding and monitoring lab equipment"
5
5
  authors = [
6
6
  {name = "IvS KU Leuven"}
index d9ce3de..563ad6b 100644
Binary file
index f937ad2..0f4029d 100644
Binary file
index 8567c72..4b17179 100644
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