cgse 2025.0.3__tar.gz → 2025.0.5__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 (323) hide show
  1. {cgse-2025.0.3 → cgse-2025.0.5}/NOTES.md +0 -23
  2. {cgse-2025.0.3 → cgse-2025.0.5}/PKG-INFO +1 -1
  3. cgse-2025.0.5/conftest.py +30 -0
  4. cgse-2025.0.5/docs/custom_theme/main.html +32 -0
  5. cgse-2025.0.5/docs/dev_guide/index.md +6 -0
  6. {cgse-2025.0.3 → cgse-2025.0.5}/docs/dev_guide/uv.md +30 -9
  7. cgse-2025.0.5/docs/libs/cgse-common/index.md +18 -0
  8. cgse-2025.0.5/docs/libs/cgse-coordinates/index.md +2 -0
  9. cgse-2025.0.5/docs/libs/cgse-core/index.md +1 -0
  10. cgse-2025.0.5/docs/libs/cgse-gui/index.md +1 -0
  11. cgse-2025.0.5/docs/libs/index.md +11 -0
  12. cgse-2025.0.5/docs/projects/cgse-tools.md +2 -0
  13. cgse-2025.0.5/docs/projects/index.md +16 -0
  14. cgse-2025.0.5/docs/projects/symetrie-hexapod.md +2 -0
  15. {cgse-2025.0.3 → cgse-2025.0.5}/docs/stylesheets/custom.css +9 -33
  16. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/pyproject.toml +2 -1
  17. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/command.py +1 -1
  18. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/control.py +0 -1
  19. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/env.py +212 -28
  20. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/hk.py +11 -13
  21. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/protocol.py +1 -1
  22. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/response.py +2 -1
  23. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/services.py +4 -1
  24. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/settings.py +182 -129
  25. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/setup.py +38 -23
  26. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/system.py +23 -17
  27. cgse-2025.0.5/libs/cgse-common/tests/conftest.py +4 -0
  28. cgse-2025.0.5/libs/cgse-common/tests/data/LAB23/README.md +4 -0
  29. cgse-2025.0.5/libs/cgse-common/tests/data/common/telemetry/tm-dictionary-default.csv +3 -0
  30. cgse-2025.0.5/libs/cgse-common/tests/data/data/command.yaml +5 -0
  31. cgse-2025.0.5/libs/cgse-common/tests/fixtures/default_env.py +38 -0
  32. cgse-2025.0.5/libs/cgse-common/tests/fixtures/helpers.py +237 -0
  33. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_env.py +67 -31
  34. cgse-2025.0.5/libs/cgse-common/tests/test_fixtures.py +12 -0
  35. cgse-2025.0.5/libs/cgse-common/tests/test_hk.py +133 -0
  36. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_resource.py +2 -2
  37. cgse-2025.0.5/libs/cgse-common/tests/test_settings.py +14 -0
  38. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_setup.py +279 -77
  39. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_system.py +2 -2
  40. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/pyproject.toml +1 -1
  41. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/pyproject.toml +17 -4
  42. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/confman/__init__.py +47 -26
  43. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/confman/confman_cs.py +7 -10
  44. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/logger/log_cs.py +2 -2
  45. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/procman/__init__.py +7 -2
  46. cgse-2025.0.5/libs/cgse-core/src/egse/settings.yaml +32 -0
  47. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/storage/__init__.py +12 -11
  48. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/storage/storage_cs.py +4 -4
  49. cgse-2025.0.5/libs/cgse-core/tests/conftest.py +5 -0
  50. cgse-2025.0.5/libs/cgse-core/tests/data/local_settings.yaml +8 -0
  51. cgse-2025.0.5/libs/cgse-core/tests/fixtures/default_env.py +38 -0
  52. cgse-2025.0.5/libs/cgse-core/tests/fixtures/helpers.py +237 -0
  53. cgse-2025.0.3/libs/cgse-core/tests/conftest.py → cgse-2025.0.5/libs/cgse-core/tests/fixtures/services.py +3 -6
  54. cgse-2025.0.5/libs/cgse-core/tests/test_confman_setups.py +35 -0
  55. cgse-2025.0.5/libs/cgse-core/tests/test_settings_core.py +122 -0
  56. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/pyproject.toml +1 -1
  57. {cgse-2025.0.3 → cgse-2025.0.5}/mkdocs.yml +39 -9
  58. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/cgse-tools/pyproject.toml +1 -1
  59. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/pyproject.toml +1 -1
  60. {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-fits/pyproject.toml +1 -1
  61. {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-hdf5/pyproject.toml +1 -1
  62. {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-spw/pyproject.toml +1 -1
  63. {cgse-2025.0.3 → cgse-2025.0.5}/pyproject.toml +18 -1
  64. cgse-2025.0.3/docs/custom_theme/main.html +0 -54
  65. cgse-2025.0.3/docs/dev_guide/index.md +0 -3
  66. cgse-2025.0.3/docs.zip +0 -0
  67. cgse-2025.0.3/libs/cgse-common/tests/helpers.py +0 -108
  68. cgse-2025.0.3/libs/cgse-common/tests/test_hk.py +0 -54
  69. cgse-2025.0.3/libs/cgse-core/tests/test_confman_setups.py +0 -25
  70. {cgse-2025.0.3 → cgse-2025.0.5}/.gitignore +0 -0
  71. {cgse-2025.0.3 → cgse-2025.0.5}/README.md +0 -0
  72. {cgse-2025.0.3 → cgse-2025.0.5}/TODO.md +0 -0
  73. {cgse-2025.0.3 → cgse-2025.0.5}/bump.py +0 -0
  74. {cgse-2025.0.3 → cgse-2025.0.5}/docs/dev_guide/coding_style.md +0 -0
  75. {cgse-2025.0.3 → cgse-2025.0.5}/docs/dev_guide/docs.md +0 -0
  76. {cgse-2025.0.3 → cgse-2025.0.5}/docs/dev_guide/installation.md +0 -0
  77. {cgse-2025.0.3 → cgse-2025.0.5}/docs/getting_started.md +0 -0
  78. {cgse-2025.0.3 → cgse-2025.0.5}/docs/help.md +0 -0
  79. {cgse-2025.0.3 → cgse-2025.0.5}/docs/images/icons/cgse-logo-blue.svg +0 -0
  80. {cgse-2025.0.3 → cgse-2025.0.5}/docs/images/icons/cgse-logo.svg +0 -0
  81. {cgse-2025.0.3 → cgse-2025.0.5}/docs/index.md +0 -0
  82. {cgse-2025.0.3 → cgse-2025.0.5}/docs/tutorial.md +0 -0
  83. {cgse-2025.0.3 → cgse-2025.0.5}/docs/user_guide/index.md +0 -0
  84. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/README.md +0 -0
  85. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/bits.py +0 -0
  86. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/calibration.py +0 -0
  87. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/config.py +0 -0
  88. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/decorators.py +0 -0
  89. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/device.py +0 -0
  90. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/exceptions.py +0 -0
  91. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/metrics.py +0 -0
  92. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/mixin.py +0 -0
  93. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/monitoring.py +0 -0
  94. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/observer.py +0 -0
  95. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/obsid.py +0 -0
  96. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/persistence.py +0 -0
  97. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/plugin.py +0 -0
  98. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/process.py +0 -0
  99. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/proxy.py +0 -0
  100. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/reload.py +0 -0
  101. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/resource.py +0 -0
  102. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/services.yaml +0 -0
  103. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/settings.yaml +0 -0
  104. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/state.py +0 -0
  105. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/version.py +0 -0
  106. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/zmq_ser.py +0 -0
  107. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00028_201028_155259.yaml +0 -0
  108. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00029_201028_155331.yaml +0 -0
  109. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00030_210311_134043.yaml +0 -0
  110. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00080_210917_105245.yaml +0 -0
  111. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00081_210922_142259.yaml +0 -0
  112. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00082_210923_094458.yaml +0 -0
  113. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL1/README.md +0 -0
  114. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL2/README.md +0 -0
  115. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/IAS/README.md +0 -0
  116. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/INTA/README.md +0 -0
  117. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00027_211119_140441.yaml +0 -0
  118. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00028_211119_160406.yaml +0 -0
  119. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00029_211119_172918.yaml +0 -0
  120. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00030_211122_103604.yaml +0 -0
  121. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00031_211123_124900.yaml +0 -0
  122. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/conf/SETUP_20250114_1519.yaml +0 -0
  123. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/conf/config-file.toml +0 -0
  124. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/cal_coeff_1234.csv +0 -0
  125. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/calibration.csv +0 -0
  126. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/calibration.yaml +0 -0
  127. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/corrupt.yaml +0 -0
  128. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/data-file.txt +0 -0
  129. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/empty_data_file.txt +0 -0
  130. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/test_setup.yaml +0 -0
  131. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/icons/keyboard.png +0 -0
  132. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/lib/dev1/shared-lib.so +0 -0
  133. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/lib/dev2/shared-lib.so +0 -0
  134. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/dummy.py +0 -0
  135. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_bits.py +0 -0
  136. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_command.py +0 -0
  137. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_config.py +0 -0
  138. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_control.py +0 -0
  139. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_decorators.py +0 -0
  140. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_device.py +0 -0
  141. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_response.py +0 -0
  142. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/README.md +0 -0
  143. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/__init__.py +0 -0
  144. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/avoidance.py +0 -0
  145. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/cslmodel.py +0 -0
  146. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/laser_tracker_to_dict.py +0 -0
  147. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/point.py +0 -0
  148. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/pyplot.py +0 -0
  149. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/referenceFrame.py +0 -0
  150. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/refmodel.py +0 -0
  151. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/rotationMatrix.py +0 -0
  152. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/transform3d_addon.py +0 -0
  153. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/.envrc.disabled +0 -0
  154. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/README.md +0 -0
  155. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/confman/__main__.py +0 -0
  156. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/confman/confman.yaml +0 -0
  157. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/logger/__init__.py +0 -0
  158. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/logger/__main__.py +0 -0
  159. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/procman/procman.yaml +0 -0
  160. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/procman/procman_cs.py +0 -0
  161. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/storage/__main__.py +0 -0
  162. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/storage/persistence.py +0 -0
  163. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/storage/storage.yaml +0 -0
  164. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/scripts/cgse.py +0 -0
  165. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/tests/test_logger.py +0 -0
  166. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/README.md +0 -0
  167. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/__init__.py +0 -0
  168. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/buttons.py +0 -0
  169. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-start.svg +0 -0
  170. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-stop.svg +0 -0
  171. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/aeu-cs.svg +0 -0
  172. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-started.svg +0 -0
  173. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-stopped.svg +0 -0
  174. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/aeu_cs.svg +0 -0
  175. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/alert.svg +0 -0
  176. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/arrow-double-left.png +0 -0
  177. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/arrow-double-right.png +0 -0
  178. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/arrow-up.svg +0 -0
  179. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/backward.svg +0 -0
  180. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/busy.svg +0 -0
  181. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/cleaning.svg +0 -0
  182. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/color-scheme.svg +0 -0
  183. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/cs-connected-alert.svg +0 -0
  184. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/cs-connected-disabled.svg +0 -0
  185. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/cs-connected.svg +0 -0
  186. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/cs-not-connected.svg +0 -0
  187. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/double-left-arrow.svg +0 -0
  188. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/double-right-arrow.svg +0 -0
  189. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/erase-disabled.svg +0 -0
  190. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/erase.svg +0 -0
  191. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/fitsgen-start.svg +0 -0
  192. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/fitsgen-stop.svg +0 -0
  193. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/fitsgen.svg +0 -0
  194. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/forward.svg +0 -0
  195. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/fov-hk-start.svg +0 -0
  196. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/fov-hk-stop.svg +0 -0
  197. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/fov-hk.svg +0 -0
  198. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/front-desk.svg +0 -0
  199. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/home-actioned.svg +0 -0
  200. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/home-disabled.svg +0 -0
  201. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/home.svg +0 -0
  202. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/info.svg +0 -0
  203. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/invalid.png +0 -0
  204. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-green.svg +0 -0
  205. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-grey.svg +0 -0
  206. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-orange.svg +0 -0
  207. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-red.svg +0 -0
  208. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-square-green.svg +0 -0
  209. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-square-grey.svg +0 -0
  210. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-square-orange.svg +0 -0
  211. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-square-red.svg +0 -0
  212. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-green.svg +0 -0
  213. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-red.svg +0 -0
  214. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el+.svg +0 -0
  215. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el-.svg +0 -0
  216. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/location-marker.svg +0 -0
  217. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-dpu.svg +0 -0
  218. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-gimbal.svg +0 -0
  219. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-huber.svg +0 -0
  220. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-ogse.svg +0 -0
  221. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-puna.svg +0 -0
  222. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-tcs.svg +0 -0
  223. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-zonda.svg +0 -0
  224. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/maximize.svg +0 -0
  225. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/meter.svg +0 -0
  226. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/more.svg +0 -0
  227. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-start.svg +0 -0
  228. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-stop.svg +0 -0
  229. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk.svg +0 -0
  230. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/observing-off.svg +0 -0
  231. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/observing-on.svg +0 -0
  232. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.png +0 -0
  233. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.svg +0 -0
  234. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/ops-mode.svg +0 -0
  235. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/play-green.svg +0 -0
  236. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/plugged-disabled.svg +0 -0
  237. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/plugged.svg +0 -0
  238. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/pm_ui.svg +0 -0
  239. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/power-button-green.svg +0 -0
  240. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/power-button-red.svg +0 -0
  241. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/power-button.svg +0 -0
  242. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/radar.svg +0 -0
  243. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/radioactive.svg +0 -0
  244. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/reload.svg +0 -0
  245. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/remote-control-off.svg +0 -0
  246. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/remote-control-on.svg +0 -0
  247. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/repeat-blue.svg +0 -0
  248. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/repeat.svg +0 -0
  249. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/settings.svg +0 -0
  250. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/shrink.svg +0 -0
  251. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/shutter.svg +0 -0
  252. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/sign-off.svg +0 -0
  253. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/sign-on.svg +0 -0
  254. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/sim-mode.svg +0 -0
  255. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/small-buttons-go.svg +0 -0
  256. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/small-buttons-minus.svg +0 -0
  257. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/small-buttons-plus.svg +0 -0
  258. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/sponge.svg +0 -0
  259. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/start-button-disabled.svg +0 -0
  260. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/start-button.svg +0 -0
  261. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/stop-button-disabled.svg +0 -0
  262. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/stop-button.svg +0 -0
  263. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/stop-red.svg +0 -0
  264. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/stop.svg +0 -0
  265. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/switch-disabled-square.svg +0 -0
  266. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/switch-disabled.svg +0 -0
  267. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/switch-off-square.svg +0 -0
  268. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/switch-off.svg +0 -0
  269. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/switch-on-square.svg +0 -0
  270. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/switch-on.svg +0 -0
  271. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/temperature-control.svg +0 -0
  272. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/th_ui_logo.svg +0 -0
  273. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/unplugged.svg +0 -0
  274. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/unvalid.png +0 -0
  275. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/user-interface.svg +0 -0
  276. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/vacuum.svg +0 -0
  277. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/valid.png +0 -0
  278. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-dark.svg +0 -0
  279. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-white.svg +0 -0
  280. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/led.py +0 -0
  281. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/limitswitch.py +0 -0
  282. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/states.py +0 -0
  283. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/styles/dark.qss +0 -0
  284. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/styles/default.qss +0 -0
  285. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/styles.qss +0 -0
  286. {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/switch.py +0 -0
  287. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/cgse-tools/README.md +0 -0
  288. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/cgse-tools/src/egse/tools/status.py +0 -0
  289. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/cgse-tools/src/scripts/cgse_plugins.py +0 -0
  290. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/cgse-tools/src/scripts/cgse_service_plugins.py +0 -0
  291. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/README.md +0 -0
  292. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/__init__.py +0 -0
  293. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/__init__.py +0 -0
  294. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/alpha.py +0 -0
  295. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/dynalpha.py +0 -0
  296. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod_ui.py +0 -0
  297. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.py +0 -0
  298. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.yaml +0 -0
  299. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_cs.py +0 -0
  300. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_protocol.py +0 -0
  301. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_ui.py +0 -0
  302. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac.py +0 -0
  303. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac_regex.py +0 -0
  304. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.py +0 -0
  305. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.yaml +0 -0
  306. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_cs.py +0 -0
  307. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_protocol.py +0 -0
  308. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_ui.py +0 -0
  309. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/punaplus.py +0 -0
  310. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.py +0 -0
  311. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.yaml +0 -0
  312. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_cs.py +0 -0
  313. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_devif.py +0 -0
  314. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_protocol.py +0 -0
  315. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_ui.py +0 -0
  316. {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/scripts/cgse_service_plugins.py +0 -0
  317. {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-fits/README.md +0 -0
  318. {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-fits/src/egse/plugins/storage/fits.py +0 -0
  319. {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-hdf5/README.md +0 -0
  320. {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-hdf5/src/egse/plugins/storage/hdf5.py +0 -0
  321. {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-spw/README.md +0 -0
  322. {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-spw/src/egse/spw.py +0 -0
  323. {cgse-2025.0.3 → cgse-2025.0.5}/ruff.toml +0 -0
@@ -55,29 +55,6 @@ Note that each library or project is a standalone Poetry package with its own `p
55
55
 
56
56
  All packages in the monorepo will have the same version. This can be maintained with the `bump.py` script. This script will read the version from the `pyproject.toml` file at the root of the monorepo and propagate the version to all libs and projects in the monorepo. Note that you –for now– will have to update the version number in the `pyproject.toml` file located at the monorepo root folder manually.
57
57
 
58
- # Use of Poetry (DEPRECATED: see below)
59
-
60
- I have now Poetry configurations for all `libs` in this monorepo. So, how do we use Poetry in this project?
61
-
62
- First thing to understand, Poetry is a development and dependency management tool. So, if you are installing the different packages in this repo from PyPI there is no need to use Poetry. The package will be installed in your current virtual environment.
63
-
64
- You can choose how you want to manage your virtual environments for each of the packages in the monorepo. I personally use `pyenv` to manage my virtual environments and I disable the virtual environment that would normally be used by Poetry.
65
-
66
- > Explain how to use `pyenv` for your virtual environments
67
-
68
- The following command starts a new sub-shell and activates the virtual environment:
69
- ```
70
- $ poetry shell
71
- ```
72
-
73
- If you do not want to start a new shell, but just want to execute a command in the virtual environment, use the `poetry run` command, e.g.
74
- ```
75
- $ poetry run pytest tests/test_bits.py
76
- ```
77
- Or
78
- ```
79
- $ poetry run python -m egse.monitoring localhost 6001
80
- ```
81
58
 
82
59
  # Build and Publish
83
60
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cgse
3
- Version: 2025.0.3
3
+ Version: 2025.0.5
4
4
  Summary: Generic Common-EGSE: Commanding and monitoring lab equipment
5
5
  Author-email: Rik Huygen <rik.huygen@kuleuven.be>, Sara Regibo <sara.regibo@kuleuven.be>
6
6
  License: MIT
@@ -0,0 +1,30 @@
1
+ from glob import glob
2
+
3
+ import rich
4
+
5
+ # Quick hack to load plugins from different places.
6
+ # This doesn't work, I get an import error.
7
+
8
+ # def refactor(string: str) -> str:
9
+ # entry = string.replace("/", ".").replace("\\", ".").replace(".py", "")
10
+ # rich.print(f"[green]{entry = }[/]")
11
+ # return entry
12
+ #
13
+ # pytest_plugins = [
14
+ # refactor(conftest)
15
+ # for conftest in glob("**/tests/fixtures/*.py", recursive=True)
16
+ # if "__" not in conftest
17
+ # ]
18
+
19
+ # Doesn't work, with the following error:
20
+ #
21
+ # File "/Users/rik/github/cgse/libs/cgse-common/tests/fixtures/default_env.py", line 7, in <module>
22
+ # from fixtures.helpers import setup_data_storage_layout, teardown_data_storage_layout
23
+ # ImportError: Error importing plugin "libs.cgse-common.tests.fixtures.default_env": No module named 'fixtures'
24
+ #
25
+
26
+ # pytest_plugins = [
27
+ # "libs.cgse-common.tests.fixtures.helpers",
28
+ # "libs.cgse-common.tests.fixtures.default_env",
29
+ # "libs.cgse-core.tests.fixtures.services",
30
+ # ]
@@ -0,0 +1,32 @@
1
+ {% extends "base.html" %}
2
+
3
+ {% block extrahead %}
4
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/fira_code.min.css" integrity="sha512-MbysAYimH1hH2xYzkkMHB6MqxBqfP0megxsCLknbYqHVwXTCg9IqHbk+ZP/vnhO8UEW6PaXAkKe2vQ+SWACxxA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
5
+ <!-- Fathom - beautiful, simple website analytics -->
6
+ <script src="https://cdn.usefathom.com/script.js" data-site="TAUKXRLQ" defer></script>
7
+ <!-- / Fathom -->
8
+
9
+
10
+ <meta property="og:title" content="CGSE - {{ page.title }}">
11
+ <meta property="og:type" content="article">
12
+ <meta property="og:url" content="{{ page.canonical_url | url }}">
13
+ <meta property="og:site_name" content="CGSE Documentation">
14
+ <meta property="og:description" content="CGSE is an instrument test framework for Python.">
15
+ <meta property="og:image" content="https://raw.githubusercontent.com/IvS-KULeuven/cgse/refs/heads/main/docs/images/icons/cgse-logo.svg">
16
+
17
+ <style>
18
+
19
+ @font-face {
20
+ font-family: "Virgil";
21
+ src: url("https://unpkg.com/@excalidraw/excalidraw@0.12.0/dist/excalidraw-assets/Virgil.woff2");
22
+ }
23
+ @font-face {
24
+ font-family: "Cascadia";
25
+ src: url("https://unpkg.com/@excalidraw/excalidraw@0.12.0/dist/excalidraw-assets/Cascadia.woff2");
26
+ }
27
+
28
+
29
+
30
+ </style>
31
+
32
+ {% endblock %}
@@ -0,0 +1,6 @@
1
+ # Developer Guide
2
+
3
+ Welcome to the CGSE developer guide! An in-depth reference on how to contribute to the CGSE.
4
+
5
+ First thing to know is that this repository is actually a monorepo, meaning it contains a bunch of related but
6
+ self-standing packages with a minimum of interdependencies. These packages are
@@ -40,15 +40,23 @@ $ uv python install 3.9.20
40
40
 
41
41
  You can check which Python versions are installed already on your system:
42
42
 
43
- ```shell
44
- $ uv python list --only-installed
45
- cpython-3.12.8-macos-aarch64-none /Users/rik/Library/Application Support/uv/python/cpython-3.12.8-macos-aarch64-none/bin/python3.12
46
- cpython-3.10.16-macos-aarch64-none /Users/rik/Library/Application Support/uv/python/cpython-3.10.16-macos-aarch64-none/bin/python3.10
47
- cpython-3.9.21-macos-aarch64-none /Users/rik/Library/Application Support/uv/python/cpython-3.9.21-macos-aarch64-none/bin/python3.9
48
- cpython-3.9.20-macos-aarch64-none /Users/rik/Library/Application Support/uv/python/cpython-3.9.20-macos-aarch64-none/bin/python3.9
49
- cpython-3.9.6-macos-aarch64-none /Library/Developer/CommandLineTools/usr/bin/python3 -> ../../Library/Frameworks/Python3.framework/Versions/3.9/bin/python3
50
- cpython-3.8.17-macos-aarch64-none /Users/rik/Library/Application Support/uv/python/cpython-3.8.17-macos-aarch64-none/bin/python3.8
51
- ```
43
+ === "Command"
44
+
45
+ ```bash
46
+ $ uv python list --only-installed
47
+ ```
48
+
49
+ === "Output"
50
+
51
+ ```
52
+ cpython-3.12.8-macos-aarch64-none /Users/rik/Library/Application Support/uv/python/cpython-3.12.8-macos-aarch64-none/bin/python3.12
53
+ cpython-3.10.16-macos-aarch64-none /Users/rik/Library/Application Support/uv/python/cpython-3.10.16-macos-aarch64-none/bin/python3.10
54
+ cpython-3.9.21-macos-aarch64-none /Users/rik/Library/Application Support/uv/python/cpython-3.9.21-macos-aarch64-none/bin/python3.9
55
+ cpython-3.9.20-macos-aarch64-none /Users/rik/Library/Application Support/uv/python/cpython-3.9.20-macos-aarch64-none/bin/python3.9
56
+ cpython-3.9.6-macos-aarch64-none /Library/Developer/CommandLineTools/usr/bin/python3 -> ../../Library/Frameworks/Python3.framework/Versions/3.9/bin/python3
57
+ cpython-3.8.17-macos-aarch64-none /Users/rik/Library/Application Support/uv/python/cpython-3.8.17-macos-aarch64-none/bin/python3.8
58
+ ```
59
+
52
60
 
53
61
  ## Create a virtual environment
54
62
 
@@ -94,6 +102,19 @@ $ uv pip install -e .
94
102
  $ source .venv/bin/activate
95
103
  ```
96
104
 
105
+ !!! info
106
+
107
+ In a workspace, maintaining a virtual environment per package might be a hassle and most of the time that is not
108
+ needed. A good approach is to always use the virtual environment at the workspace root. This `venv` which will be
109
+ automatically created if you run a command or if you use `uv sync` in the package folder. With `uv sync` you can
110
+ make sure the virtual environment is up-to-date and contains only those dependencies that are required for the
111
+ package you are in. So, each time you switch to another package and want to run a comand or a test for that
112
+ package, use
113
+
114
+ ```
115
+ $ uv sync
116
+ ```
117
+
97
118
  ## Building and publishing all packages
98
119
 
99
120
  We have chosen for one and the same version number for all packages in the `cgse` monorepo. That means that whenever
@@ -0,0 +1,18 @@
1
+ # Common Code
2
+
3
+
4
+ This package `cgse-common` contain modules that are used by all other packages.
5
+
6
+ ## Binary: `egse.bits`
7
+
8
+ TBW
9
+
10
+ ## Environment: `egse.env`
11
+
12
+ TBW
13
+
14
+ ## System: `egse.system`
15
+
16
+ TBW
17
+
18
+ ##
@@ -0,0 +1,2 @@
1
+
2
+ # Reference Coordinates
@@ -0,0 +1 @@
1
+ # Core Services
@@ -0,0 +1 @@
1
+ # GUI Components
@@ -0,0 +1,11 @@
1
+
2
+ # Libraries
3
+
4
+ The libraries are those packages that make up the CGSE framework.
5
+
6
+ The libraries are located under the `libs` folder, and we currently find the following packages there:
7
+
8
+ - `cgse-common`
9
+ - `cgse-core`
10
+ - `cgse-coordinates`
11
+ - `cgse-gui`
@@ -0,0 +1,2 @@
1
+
2
+ # Tools for the CGSE framework
@@ -0,0 +1,16 @@
1
+ # Projects
2
+
3
+ The projects are those packages that add functionality to the CGSE framework.
4
+
5
+ The projects live under the folder `projects`, and they are organised in _generic_ and _specific_ projects. Generic
6
+ projects do not have an implementation that is specific for one particular project, while, obviously, specific
7
+ projects have. We currently have the following generic packages:
8
+
9
+ - `cgse-tools`
10
+ - `symetrie-hexapod`
11
+
12
+ and then there are the project specific packages:
13
+
14
+ - `plato-fits`
15
+ - `plato-hdf5`
16
+ - `plato-spw`
@@ -0,0 +1,2 @@
1
+
2
+ # The Symétrie Hexapods
@@ -78,44 +78,20 @@ td code {
78
78
 
79
79
  }
80
80
 
81
- .textual-web-demo iframe {
82
- border: none;
83
- width: 100%;
84
- aspect-ratio: 16 / 9;
85
- padding: 0;
86
- margin: 0;
87
- }
88
-
89
-
90
- .textual-web-demo {
91
- display: flex;
92
- width: 100%;
93
- aspect-ratio: 16 / 9;
94
- padding: 0;
95
- margin: 0;
96
- opacity: 0;
97
- transition: 0.3s opacity;
98
- }
99
-
100
- .textual-web-demo.-loaded {
101
- opacity: 1.0;
102
- transition: 0.3s opacity;
103
- }
104
-
105
81
  :root {
106
- --md-admonition-icon--textualize: url('/images/icons/logo light transparent.svg')
82
+ --md-admonition-icon--cgse: url('/images/icons/cgse-logo.svg')
107
83
  }
108
- .md-typeset .admonition.textualize,
109
- .md-typeset details.textualize {
84
+ .md-typeset .admonition.cgse,
85
+ .md-typeset details.cgse {
110
86
  border-color: rgb(43, 155, 70);
111
87
  }
112
- .md-typeset .textualize > .admonition-title,
113
- .md-typeset .textualize > summary {
88
+ .md-typeset .cgse > .admonition-title,
89
+ .md-typeset .cgse > summary {
114
90
  background-color: rgba(43, 155, 70, 0.1);
115
91
  }
116
- .md-typeset .textualize > .admonition-title::before,
117
- .md-typeset .textualize > summary::before {
92
+ .md-typeset .cgse > .admonition-title::before,
93
+ .md-typeset .cgse > summary::before {
118
94
  background-color: rgb(43, 155, 70);
119
- -webkit-mask-image: var(--md-admonition-icon--textualize);
120
- mask-image: var(--md-admonition-icon--textualize);
95
+ -webkit-mask-image: var(--md-admonition-icon--cgse);
96
+ mask-image: var(--md-admonition-icon--cgse);
121
97
  }
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cgse-common"
3
- version = "2025.0.3"
3
+ version = "2025.0.5"
4
4
  description = "Software framework to support hardware testing"
5
5
  authors = [
6
6
  {name = "IVS KU Leuven"}
@@ -47,6 +47,7 @@ filterwarnings = [
47
47
  [tool.coverage.run]
48
48
  omit = [
49
49
  "tests/*",
50
+ "conftest.py",
50
51
  ]
51
52
 
52
53
  [tool.hatch.build.targets.sdist]
@@ -95,7 +95,7 @@ import re
95
95
  from collections import namedtuple
96
96
  from typing import Callable
97
97
 
98
- from egse.control import Success
98
+ from egse.response import Success
99
99
  from egse.exceptions import Error
100
100
 
101
101
  logger = logging.getLogger(__name__)
@@ -5,7 +5,6 @@ import abc
5
5
  import logging
6
6
  import pickle
7
7
  import threading
8
- from typing import Any
9
8
 
10
9
  import zmq
11
10