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.
- {cgse-2025.0.3 → cgse-2025.0.5}/NOTES.md +0 -23
- {cgse-2025.0.3 → cgse-2025.0.5}/PKG-INFO +1 -1
- cgse-2025.0.5/conftest.py +30 -0
- cgse-2025.0.5/docs/custom_theme/main.html +32 -0
- cgse-2025.0.5/docs/dev_guide/index.md +6 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/docs/dev_guide/uv.md +30 -9
- cgse-2025.0.5/docs/libs/cgse-common/index.md +18 -0
- cgse-2025.0.5/docs/libs/cgse-coordinates/index.md +2 -0
- cgse-2025.0.5/docs/libs/cgse-core/index.md +1 -0
- cgse-2025.0.5/docs/libs/cgse-gui/index.md +1 -0
- cgse-2025.0.5/docs/libs/index.md +11 -0
- cgse-2025.0.5/docs/projects/cgse-tools.md +2 -0
- cgse-2025.0.5/docs/projects/index.md +16 -0
- cgse-2025.0.5/docs/projects/symetrie-hexapod.md +2 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/docs/stylesheets/custom.css +9 -33
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/pyproject.toml +2 -1
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/command.py +1 -1
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/control.py +0 -1
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/env.py +212 -28
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/hk.py +11 -13
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/protocol.py +1 -1
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/response.py +2 -1
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/services.py +4 -1
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/settings.py +182 -129
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/setup.py +38 -23
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/system.py +23 -17
- cgse-2025.0.5/libs/cgse-common/tests/conftest.py +4 -0
- cgse-2025.0.5/libs/cgse-common/tests/data/LAB23/README.md +4 -0
- cgse-2025.0.5/libs/cgse-common/tests/data/common/telemetry/tm-dictionary-default.csv +3 -0
- cgse-2025.0.5/libs/cgse-common/tests/data/data/command.yaml +5 -0
- cgse-2025.0.5/libs/cgse-common/tests/fixtures/default_env.py +38 -0
- cgse-2025.0.5/libs/cgse-common/tests/fixtures/helpers.py +237 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_env.py +67 -31
- cgse-2025.0.5/libs/cgse-common/tests/test_fixtures.py +12 -0
- cgse-2025.0.5/libs/cgse-common/tests/test_hk.py +133 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_resource.py +2 -2
- cgse-2025.0.5/libs/cgse-common/tests/test_settings.py +14 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_setup.py +279 -77
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_system.py +2 -2
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/pyproject.toml +1 -1
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/pyproject.toml +17 -4
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/confman/__init__.py +47 -26
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/confman/confman_cs.py +7 -10
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/logger/log_cs.py +2 -2
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/procman/__init__.py +7 -2
- cgse-2025.0.5/libs/cgse-core/src/egse/settings.yaml +32 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/storage/__init__.py +12 -11
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/storage/storage_cs.py +4 -4
- cgse-2025.0.5/libs/cgse-core/tests/conftest.py +5 -0
- cgse-2025.0.5/libs/cgse-core/tests/data/local_settings.yaml +8 -0
- cgse-2025.0.5/libs/cgse-core/tests/fixtures/default_env.py +38 -0
- cgse-2025.0.5/libs/cgse-core/tests/fixtures/helpers.py +237 -0
- cgse-2025.0.3/libs/cgse-core/tests/conftest.py → cgse-2025.0.5/libs/cgse-core/tests/fixtures/services.py +3 -6
- cgse-2025.0.5/libs/cgse-core/tests/test_confman_setups.py +35 -0
- cgse-2025.0.5/libs/cgse-core/tests/test_settings_core.py +122 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/pyproject.toml +1 -1
- {cgse-2025.0.3 → cgse-2025.0.5}/mkdocs.yml +39 -9
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/cgse-tools/pyproject.toml +1 -1
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/pyproject.toml +1 -1
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-fits/pyproject.toml +1 -1
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-hdf5/pyproject.toml +1 -1
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-spw/pyproject.toml +1 -1
- {cgse-2025.0.3 → cgse-2025.0.5}/pyproject.toml +18 -1
- cgse-2025.0.3/docs/custom_theme/main.html +0 -54
- cgse-2025.0.3/docs/dev_guide/index.md +0 -3
- cgse-2025.0.3/docs.zip +0 -0
- cgse-2025.0.3/libs/cgse-common/tests/helpers.py +0 -108
- cgse-2025.0.3/libs/cgse-common/tests/test_hk.py +0 -54
- cgse-2025.0.3/libs/cgse-core/tests/test_confman_setups.py +0 -25
- {cgse-2025.0.3 → cgse-2025.0.5}/.gitignore +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/TODO.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/bump.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/docs/dev_guide/coding_style.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/docs/dev_guide/docs.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/docs/dev_guide/installation.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/docs/getting_started.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/docs/help.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/docs/images/icons/cgse-logo-blue.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/docs/images/icons/cgse-logo.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/docs/index.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/docs/tutorial.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/docs/user_guide/index.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/bits.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/calibration.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/config.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/decorators.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/device.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/exceptions.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/metrics.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/mixin.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/monitoring.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/observer.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/obsid.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/persistence.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/plugin.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/process.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/proxy.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/reload.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/resource.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/services.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/settings.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/state.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/version.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/src/egse/zmq_ser.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00028_201028_155259.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00029_201028_155331.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00030_210311_134043.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00080_210917_105245.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00081_210922_142259.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00082_210923_094458.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL1/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/CSL2/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/IAS/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/INTA/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00027_211119_140441.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00028_211119_160406.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00029_211119_172918.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00030_211122_103604.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00031_211123_124900.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/conf/SETUP_20250114_1519.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/conf/config-file.toml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/cal_coeff_1234.csv +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/calibration.csv +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/calibration.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/corrupt.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/data-file.txt +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/empty_data_file.txt +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/data/test_setup.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/icons/keyboard.png +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/lib/dev1/shared-lib.so +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/data/lib/dev2/shared-lib.so +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/dummy.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_bits.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_command.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_config.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_control.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_decorators.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_device.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-common/tests/test_response.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/__init__.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/avoidance.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/cslmodel.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/laser_tracker_to_dict.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/point.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/pyplot.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/referenceFrame.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/refmodel.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/rotationMatrix.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-coordinates/src/egse/coordinates/transform3d_addon.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/.envrc.disabled +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/confman/__main__.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/confman/confman.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/logger/__init__.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/logger/__main__.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/procman/procman.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/procman/procman_cs.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/storage/__main__.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/storage/persistence.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/egse/storage/storage.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/src/scripts/cgse.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-core/tests/test_logger.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/__init__.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/buttons.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-start.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-stop.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/aeu-cs.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-started.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-stopped.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/aeu_cs.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/alert.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/arrow-double-left.png +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/arrow-double-right.png +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/arrow-up.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/backward.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/busy.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/cleaning.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/color-scheme.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/cs-connected-alert.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/cs-connected-disabled.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/cs-connected.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/cs-not-connected.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/double-left-arrow.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/double-right-arrow.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/erase-disabled.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/erase.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/fitsgen-start.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/fitsgen-stop.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/fitsgen.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/forward.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/fov-hk-start.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/fov-hk-stop.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/fov-hk.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/front-desk.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/home-actioned.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/home-disabled.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/home.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/info.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/invalid.png +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-green.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-grey.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-orange.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-red.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-square-green.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-square-grey.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-square-orange.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/led-square-red.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-green.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-red.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el+.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el-.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/location-marker.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-dpu.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-gimbal.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-huber.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-ogse.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-puna.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-tcs.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/logo-zonda.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/maximize.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/meter.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/more.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-start.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-stop.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/observing-off.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/observing-on.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.png +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/ops-mode.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/play-green.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/plugged-disabled.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/plugged.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/pm_ui.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/power-button-green.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/power-button-red.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/power-button.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/radar.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/radioactive.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/reload.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/remote-control-off.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/remote-control-on.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/repeat-blue.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/repeat.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/settings.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/shrink.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/shutter.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/sign-off.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/sign-on.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/sim-mode.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/small-buttons-go.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/small-buttons-minus.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/small-buttons-plus.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/sponge.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/start-button-disabled.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/start-button.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/stop-button-disabled.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/stop-button.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/stop-red.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/stop.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/switch-disabled-square.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/switch-disabled.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/switch-off-square.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/switch-off.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/switch-on-square.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/switch-on.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/temperature-control.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/th_ui_logo.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/unplugged.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/unvalid.png +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/user-interface.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/vacuum.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/valid.png +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-dark.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-white.svg +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/led.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/limitswitch.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/states.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/styles/dark.qss +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/styles/default.qss +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/styles.qss +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/libs/cgse-gui/src/egse/gui/switch.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/cgse-tools/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/cgse-tools/src/egse/tools/status.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/cgse-tools/src/scripts/cgse_plugins.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/cgse-tools/src/scripts/cgse_service_plugins.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/__init__.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/__init__.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/alpha.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/dynalpha.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod_ui.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_cs.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_protocol.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_ui.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac_regex.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_cs.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_protocol.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_ui.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/punaplus.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.yaml +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_cs.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_devif.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_protocol.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_ui.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/generic/symetrie-hexapod/src/scripts/cgse_service_plugins.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-fits/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-fits/src/egse/plugins/storage/fits.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-hdf5/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-hdf5/src/egse/plugins/storage/hdf5.py +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-spw/README.md +0 -0
- {cgse-2025.0.3 → cgse-2025.0.5}/projects/plato/plato-spw/src/egse/spw.py +0 -0
- {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
|
|
|
@@ -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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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 @@
|
|
|
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,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`
|
|
@@ -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--
|
|
82
|
+
--md-admonition-icon--cgse: url('/images/icons/cgse-logo.svg')
|
|
107
83
|
}
|
|
108
|
-
.md-typeset .admonition.
|
|
109
|
-
.md-typeset details.
|
|
84
|
+
.md-typeset .admonition.cgse,
|
|
85
|
+
.md-typeset details.cgse {
|
|
110
86
|
border-color: rgb(43, 155, 70);
|
|
111
87
|
}
|
|
112
|
-
.md-typeset .
|
|
113
|
-
.md-typeset .
|
|
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 .
|
|
117
|
-
.md-typeset .
|
|
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--
|
|
120
|
-
mask-image: var(--md-admonition-icon--
|
|
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
|
+
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]
|