cgse 2024.7.0__tar.gz → 2025.0.2__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.2/.gitignore +35 -0
- cgse-2025.0.2/NOTES.md +124 -0
- cgse-2025.0.2/PKG-INFO +38 -0
- cgse-2025.0.2/README.md +27 -0
- cgse-2025.0.2/TODO.md +3 -0
- cgse-2025.0.2/bump.py +85 -0
- cgse-2025.0.2/libs/cgse-common/README.md +39 -0
- cgse-2025.0.2/libs/cgse-common/pyproject.toml +80 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/bits.py +266 -41
- cgse-2025.0.2/libs/cgse-common/src/egse/calibration.py +250 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/command.py +11 -30
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/config.py +19 -14
- cgse-2025.0.2/libs/cgse-common/src/egse/control.py +349 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/decorators.py +18 -113
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/device.py +5 -3
- cgse-2025.0.2/libs/cgse-common/src/egse/env.py +618 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/exceptions.py +1 -1
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/hk.py +22 -19
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/metrics.py +24 -20
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/mixin.py +4 -4
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/monitoring.py +2 -1
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/obsid.py +0 -2
- cgse-2025.0.2/libs/cgse-common/src/egse/persistence.py +58 -0
- cgse-2025.0.2/libs/cgse-common/src/egse/plugin.py +97 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/process.py +14 -5
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/protocol.py +4 -2
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/proxy.py +8 -17
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/reload.py +3 -3
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/resource.py +186 -81
- cgse-2025.0.2/libs/cgse-common/src/egse/response.py +101 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/services.py +0 -35
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/services.yaml +0 -17
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/settings.py +33 -31
- cgse-2025.0.2/libs/cgse-common/src/egse/settings.yaml +7 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/setup.py +118 -84
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/system.py +67 -160
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/version.py +12 -6
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/zmq_ser.py +28 -0
- cgse-2025.0.2/libs/cgse-common/tests/data/CSL1/README.md +4 -0
- cgse-2025.0.2/libs/cgse-common/tests/data/CSL2/README.md +4 -0
- cgse-2025.0.2/libs/cgse-common/tests/data/IAS/README.md +4 -0
- cgse-2025.0.2/libs/cgse-common/tests/data/INTA/README.md +4 -0
- cgse-2025.0.2/libs/cgse-common/tests/data/conf/SETUP_20250114_1519.yaml +24 -0
- cgse-2025.0.2/libs/cgse-common/tests/data/data/cal_coeff_1234.csv +4 -0
- cgse-2025.0.2/libs/cgse-common/tests/data/data/calibration.csv +4 -0
- cgse-2025.0.2/libs/cgse-common/tests/data/data/data-file.txt +44 -0
- {cgse-2024.7.0/src/tests → cgse-2025.0.2/libs/cgse-common/tests/data}/data/test_setup.yaml +1 -1
- cgse-2025.0.2/libs/cgse-common/tests/data/icons/keyboard.png +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-common/tests}/dummy.py +11 -109
- cgse-2025.0.2/libs/cgse-common/tests/helpers.py +108 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/test_bits.py +18 -0
- cgse-2025.0.2/libs/cgse-common/tests/test_config.py +177 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/test_decorators.py +158 -74
- cgse-2025.0.2/libs/cgse-common/tests/test_env.py +196 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/test_hk.py +12 -0
- cgse-2025.0.2/libs/cgse-common/tests/test_resource.py +220 -0
- cgse-2025.0.2/libs/cgse-common/tests/test_response.py +109 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/test_setup.py +81 -78
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/test_system.py +35 -116
- cgse-2025.0.2/libs/cgse-coordinates/README.md +1 -0
- cgse-2025.0.2/libs/cgse-coordinates/pyproject.toml +53 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-coordinates}/src/egse/coordinates/__init__.py +3 -6
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-coordinates}/src/egse/coordinates/avoidance.py +18 -15
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-coordinates}/src/egse/coordinates/cslmodel.py +1 -1
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-coordinates}/src/egse/coordinates/laser_tracker_to_dict.py +26 -28
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-coordinates}/src/egse/coordinates/pyplot.py +4 -3
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-coordinates}/src/egse/coordinates/referenceFrame.py +45 -45
- cgse-2025.0.2/libs/cgse-core/README.md +1 -0
- cgse-2025.0.2/libs/cgse-core/pyproject.toml +66 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-core}/src/egse/confman/__init__.py +72 -70
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-core}/src/egse/confman/confman.yaml +0 -3
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-core}/src/egse/confman/confman_cs.py +44 -44
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-core}/src/egse/logger/__init__.py +39 -21
- cgse-2025.0.2/libs/cgse-core/src/egse/logger/__main__.py +12 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-core}/src/egse/logger/log_cs.py +39 -50
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-core}/src/egse/procman/__init__.py +4 -27
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-core}/src/egse/storage/__init__.py +95 -73
- cgse-2025.0.2/libs/cgse-core/src/egse/storage/__main__.py +3 -0
- cgse-2025.0.2/libs/cgse-core/src/egse/storage/persistence.py +537 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-core}/src/egse/storage/storage.yaml +0 -7
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-core}/src/egse/storage/storage_cs.py +18 -48
- cgse-2025.0.2/libs/cgse-core/src/scripts/cgse.py +179 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-core}/tests/conftest.py +20 -35
- cgse-2025.0.2/libs/cgse-core/tests/test_confman_setups.py +25 -0
- cgse-2025.0.2/libs/cgse-core/tests/test_logger.py +83 -0
- cgse-2025.0.2/libs/cgse-gui/README.md +1 -0
- cgse-2025.0.2/libs/cgse-gui/pyproject.toml +37 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-gui}/src/egse/gui/__init__.py +9 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-gui}/src/egse/gui/states.py +3 -3
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-gui}/src/egse/gui/switch.py +2 -6
- cgse-2025.0.2/projects/generic/cgse-tools/README.md +1 -0
- cgse-2025.0.2/projects/generic/cgse-tools/pyproject.toml +69 -0
- cgse-2025.0.2/projects/generic/cgse-tools/src/egse/tools/status.py +86 -0
- cgse-2025.0.2/projects/generic/cgse-tools/src/scripts/cgse_plugins.py +9 -0
- cgse-2025.0.2/projects/generic/cgse-tools/src/scripts/cgse_service_plugins.py +10 -0
- cgse-2025.0.2/projects/generic/symetrie-hexapod/README.md +1 -0
- cgse-2025.0.2/projects/generic/symetrie-hexapod/pyproject.toml +64 -0
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/__init__.py +42 -12
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/alpha.py +35 -50
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/dynalpha.py +2 -6
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/hexapod_ui.py +17 -22
- cgse-2025.0.2/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.py +266 -0
- cgse-2024.7.0/src/egse/stages/huber/smc9300.yaml → cgse-2025.0.2/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.yaml +15 -16
- cgse-2024.7.0/src/egse/gimbal/symetrie/gimbal_cs.py → cgse-2025.0.2/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_cs.py +41 -40
- cgse-2025.0.2/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_protocol.py +128 -0
- cgse-2025.0.2/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_ui.py +449 -0
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/puna.yaml +5 -5
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/puna_cs.py +4 -2
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/puna_protocol.py +3 -6
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/puna_ui.py +5 -6
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/punaplus.py +1 -1
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/zonda.py +3 -3
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/zonda.yaml +21 -21
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/zonda_cs.py +1 -0
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/zonda_devif.py +3 -2
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/zonda_protocol.py +2 -6
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/zonda_ui.py +5 -6
- cgse-2025.0.2/projects/generic/symetrie-hexapod/src/scripts/cgse_service_plugins.py +27 -0
- cgse-2025.0.2/projects/plato/plato-fits/README.md +1 -0
- cgse-2025.0.2/projects/plato/plato-fits/pyproject.toml +55 -0
- cgse-2024.7.0/src/egse/storage/persistence.py → cgse-2025.0.2/projects/plato/plato-fits/src/egse/plugins/storage/fits.py +8 -1082
- cgse-2025.0.2/projects/plato/plato-hdf5/pyproject.toml +55 -0
- cgse-2025.0.2/projects/plato/plato-hdf5/src/egse/plugins/storage/hdf5.py +154 -0
- cgse-2025.0.2/projects/plato/plato-spw/README.md +0 -0
- cgse-2025.0.2/projects/plato/plato-spw/pyproject.toml +50 -0
- {cgse-2024.7.0 → cgse-2025.0.2/projects/plato/plato-spw}/src/egse/spw.py +445 -366
- cgse-2025.0.2/pyproject.toml +42 -0
- cgse-2025.0.2/ruff.toml +25 -0
- cgse-2024.7.0/COPYING +0 -674
- cgse-2024.7.0/COPYING.LESSER +0 -165
- cgse-2024.7.0/PKG-INFO +0 -144
- cgse-2024.7.0/README.md +0 -71
- cgse-2024.7.0/pyproject.toml +0 -182
- cgse-2024.7.0/setup.cfg +0 -4
- cgse-2024.7.0/src/cgse.egg-info/PKG-INFO +0 -144
- cgse-2024.7.0/src/cgse.egg-info/SOURCES.txt +0 -787
- cgse-2024.7.0/src/cgse.egg-info/dependency_links.txt +0 -1
- cgse-2024.7.0/src/cgse.egg-info/entry_points.txt +0 -75
- cgse-2024.7.0/src/cgse.egg-info/requires.txt +0 -59
- cgse-2024.7.0/src/cgse.egg-info/top_level.txt +0 -2
- cgse-2024.7.0/src/cov_html/keybd_closed.png +0 -0
- cgse-2024.7.0/src/cov_html/keybd_open.png +0 -0
- cgse-2024.7.0/src/demos/hexapod_demo.py +0 -28
- cgse-2024.7.0/src/demos/stages_demo.py +0 -38
- cgse-2024.7.0/src/egse/__init__.py +0 -12
- cgse-2024.7.0/src/egse/__main__.py +0 -32
- cgse-2024.7.0/src/egse/aeu/aeu.py +0 -5238
- cgse-2024.7.0/src/egse/aeu/aeu_awg.yaml +0 -265
- cgse-2024.7.0/src/egse/aeu/aeu_crio.yaml +0 -273
- cgse-2024.7.0/src/egse/aeu/aeu_cs.py +0 -627
- cgse-2024.7.0/src/egse/aeu/aeu_devif.py +0 -321
- cgse-2024.7.0/src/egse/aeu/aeu_main_ui.py +0 -903
- cgse-2024.7.0/src/egse/aeu/aeu_metrics.py +0 -131
- cgse-2024.7.0/src/egse/aeu/aeu_protocol.py +0 -463
- cgse-2024.7.0/src/egse/aeu/aeu_psu.yaml +0 -204
- cgse-2024.7.0/src/egse/aeu/aeu_ui.py +0 -873
- cgse-2024.7.0/src/egse/aeu/arbdata/FccdRead.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/FccdRead_min_points.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/HeaterSync_FccdRead.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/HeaterSync_ccdRead25.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/HeaterSync_ccdRead31_25.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/HeaterSync_ccdRead37_50.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/HeaterSync_ccdRead43_75.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/HeaterSync_ccdRead50.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/Heater_FccdRead_min_points.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/ccdRead25.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/ccdRead25_150ms.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/ccdRead31_25.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/ccdRead31_25_150ms.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/ccdRead37_50.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/ccdRead37_50_150ms.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/ccdRead43_75.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/ccdRead43_75_150ms.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/ccdRead50.arb +0 -2
- cgse-2024.7.0/src/egse/aeu/arbdata/ccdRead50_150ms.arb +0 -2
- cgse-2024.7.0/src/egse/alert/__init__.py +0 -1049
- cgse-2024.7.0/src/egse/alert/alertman.yaml +0 -37
- cgse-2024.7.0/src/egse/alert/alertman_cs.py +0 -233
- cgse-2024.7.0/src/egse/alert/alertman_ui.py +0 -600
- cgse-2024.7.0/src/egse/alert/gsm/beaglebone.py +0 -138
- cgse-2024.7.0/src/egse/alert/gsm/beaglebone.yaml +0 -51
- cgse-2024.7.0/src/egse/alert/gsm/beaglebone_cs.py +0 -108
- cgse-2024.7.0/src/egse/alert/gsm/beaglebone_devif.py +0 -122
- cgse-2024.7.0/src/egse/alert/gsm/beaglebone_protocol.py +0 -46
- cgse-2024.7.0/src/egse/camera.py +0 -44
- cgse-2024.7.0/src/egse/collimator/fcul/ogse.py +0 -1077
- cgse-2024.7.0/src/egse/collimator/fcul/ogse.yaml +0 -14
- cgse-2024.7.0/src/egse/collimator/fcul/ogse_cs.py +0 -154
- cgse-2024.7.0/src/egse/collimator/fcul/ogse_devif.py +0 -358
- cgse-2024.7.0/src/egse/collimator/fcul/ogse_protocol.py +0 -132
- cgse-2024.7.0/src/egse/collimator/fcul/ogse_sim.py +0 -431
- cgse-2024.7.0/src/egse/collimator/fcul/ogse_ui.py +0 -1108
- cgse-2024.7.0/src/egse/confman/confman_ui.py +0 -381
- cgse-2024.7.0/src/egse/confman/setup_ui.py +0 -565
- cgse-2024.7.0/src/egse/control.py +0 -632
- cgse-2024.7.0/src/egse/csl/__init__.py +0 -50
- cgse-2024.7.0/src/egse/csl/commanding.py +0 -78
- cgse-2024.7.0/src/egse/csl/icons/hexapod-connected-selected.svg +0 -30
- cgse-2024.7.0/src/egse/csl/icons/hexapod-connected.svg +0 -30
- cgse-2024.7.0/src/egse/csl/icons/hexapod-homing-selected.svg +0 -68
- cgse-2024.7.0/src/egse/csl/icons/hexapod-homing.svg +0 -68
- cgse-2024.7.0/src/egse/csl/icons/hexapod-retract-selected.svg +0 -56
- cgse-2024.7.0/src/egse/csl/icons/hexapod-retract.svg +0 -51
- cgse-2024.7.0/src/egse/csl/icons/hexapod-zero-selected.svg +0 -56
- cgse-2024.7.0/src/egse/csl/icons/hexapod-zero.svg +0 -56
- cgse-2024.7.0/src/egse/csl/icons/stop.svg +0 -1
- cgse-2024.7.0/src/egse/csl/initialisation.py +0 -102
- cgse-2024.7.0/src/egse/csl/mech_pos_settings.yaml +0 -18
- cgse-2024.7.0/src/egse/das.py +0 -1240
- cgse-2024.7.0/src/egse/das.yaml +0 -7
- cgse-2024.7.0/src/egse/data/conf/SETUP_CSL_00000_170620_150000.yaml +0 -5
- cgse-2024.7.0/src/egse/data/conf/SETUP_CSL_00001_170620_151010.yaml +0 -69
- cgse-2024.7.0/src/egse/data/conf/SETUP_CSL_00002_170620_151020.yaml +0 -69
- cgse-2024.7.0/src/egse/data/conf/SETUP_CSL_00003_170620_151030.yaml +0 -69
- cgse-2024.7.0/src/egse/data/conf/SETUP_CSL_00004_170620_151040.yaml +0 -69
- cgse-2024.7.0/src/egse/data/conf/SETUP_CSL_00005_170620_151050.yaml +0 -69
- cgse-2024.7.0/src/egse/data/conf/SETUP_CSL_00006_170620_151060.yaml +0 -69
- cgse-2024.7.0/src/egse/data/conf/SETUP_CSL_00007_170620_151070.yaml +0 -69
- cgse-2024.7.0/src/egse/data/conf/SETUP_CSL_00008_170620_151080.yaml +0 -75
- cgse-2024.7.0/src/egse/data/conf/SETUP_CSL_00010_210308_083016.yaml +0 -138
- cgse-2024.7.0/src/egse/data/conf/SETUP_INTA_00000_170620_150000.yaml +0 -4
- cgse-2024.7.0/src/egse/data/conf/SETUP_SRON_00000_170620_150000.yaml +0 -4
- cgse-2024.7.0/src/egse/dpu/__init__.py +0 -2698
- cgse-2024.7.0/src/egse/dpu/ccd_ui.py +0 -514
- cgse-2024.7.0/src/egse/dpu/dpu.py +0 -783
- cgse-2024.7.0/src/egse/dpu/dpu.yaml +0 -153
- cgse-2024.7.0/src/egse/dpu/dpu_cs.py +0 -272
- cgse-2024.7.0/src/egse/dpu/dpu_ui.py +0 -671
- cgse-2024.7.0/src/egse/dpu/fitsgen.py +0 -2096
- cgse-2024.7.0/src/egse/dpu/fitsgen_ui.py +0 -399
- cgse-2024.7.0/src/egse/dpu/hdf5_model.py +0 -332
- cgse-2024.7.0/src/egse/dpu/hdf5_ui.py +0 -277
- cgse-2024.7.0/src/egse/dpu/hdf5_viewer.py +0 -506
- cgse-2024.7.0/src/egse/dpu/hk_ui.py +0 -468
- cgse-2024.7.0/src/egse/dpu_commands.py +0 -81
- cgse-2024.7.0/src/egse/dsi/__init__.py +0 -33
- cgse-2024.7.0/src/egse/dsi/_libesl.py +0 -232
- cgse-2024.7.0/src/egse/dsi/constants.py +0 -296
- cgse-2024.7.0/src/egse/dsi/esl.py +0 -630
- cgse-2024.7.0/src/egse/dsi/rmap.py +0 -444
- cgse-2024.7.0/src/egse/dsi/rmapci.py +0 -39
- cgse-2024.7.0/src/egse/dsi/spw.py +0 -335
- cgse-2024.7.0/src/egse/dsi/spw_state.py +0 -29
- cgse-2024.7.0/src/egse/dyndummy.py +0 -179
- cgse-2024.7.0/src/egse/env.py +0 -278
- cgse-2024.7.0/src/egse/fdir/__init__.py +0 -26
- cgse-2024.7.0/src/egse/fdir/fdir_manager.py +0 -85
- cgse-2024.7.0/src/egse/fdir/fdir_manager.yaml +0 -37
- cgse-2024.7.0/src/egse/fdir/fdir_manager_controller.py +0 -136
- cgse-2024.7.0/src/egse/fdir/fdir_manager_cs.py +0 -164
- cgse-2024.7.0/src/egse/fdir/fdir_manager_interface.py +0 -15
- cgse-2024.7.0/src/egse/fdir/fdir_remote.py +0 -73
- cgse-2024.7.0/src/egse/fdir/fdir_remote.yaml +0 -30
- cgse-2024.7.0/src/egse/fdir/fdir_remote_controller.py +0 -30
- cgse-2024.7.0/src/egse/fdir/fdir_remote_cs.py +0 -94
- cgse-2024.7.0/src/egse/fdir/fdir_remote_interface.py +0 -9
- cgse-2024.7.0/src/egse/fdir/fdir_remote_popup.py +0 -26
- cgse-2024.7.0/src/egse/fee/__init__.py +0 -106
- cgse-2024.7.0/src/egse/fee/f_fee_register.yaml +0 -43
- cgse-2024.7.0/src/egse/fee/feesim.py +0 -914
- cgse-2024.7.0/src/egse/fee/n_fee_hk.py +0 -768
- cgse-2024.7.0/src/egse/fee/nfee.py +0 -188
- cgse-2024.7.0/src/egse/filterwheel/__init__.py +0 -4
- cgse-2024.7.0/src/egse/filterwheel/eksma/__init__.py +0 -49
- cgse-2024.7.0/src/egse/filterwheel/eksma/fw8smc4.py +0 -657
- cgse-2024.7.0/src/egse/filterwheel/eksma/fw8smc4.yaml +0 -121
- cgse-2024.7.0/src/egse/filterwheel/eksma/fw8smc4_cs.py +0 -144
- cgse-2024.7.0/src/egse/filterwheel/eksma/fw8smc4_devif.py +0 -473
- cgse-2024.7.0/src/egse/filterwheel/eksma/fw8smc4_protocol.py +0 -82
- cgse-2024.7.0/src/egse/filterwheel/eksma/fw8smc4_ui.py +0 -940
- cgse-2024.7.0/src/egse/filterwheel/eksma/fw8smc5.py +0 -115
- cgse-2024.7.0/src/egse/filterwheel/eksma/fw8smc5.yaml +0 -105
- cgse-2024.7.0/src/egse/filterwheel/eksma/fw8smc5_controller.py +0 -307
- cgse-2024.7.0/src/egse/filterwheel/eksma/fw8smc5_cs.py +0 -141
- cgse-2024.7.0/src/egse/filterwheel/eksma/fw8smc5_interface.py +0 -65
- cgse-2024.7.0/src/egse/filterwheel/eksma/fw8smc5_simulator.py +0 -29
- cgse-2024.7.0/src/egse/filterwheel/eksma/fw8smc5_ui.py +0 -1065
- cgse-2024.7.0/src/egse/filterwheel/eksma/testpythonfw.py +0 -215
- cgse-2024.7.0/src/egse/fov/__init__.py +0 -65
- cgse-2024.7.0/src/egse/fov/fov_hk.py +0 -710
- cgse-2024.7.0/src/egse/fov/fov_ui.py +0 -859
- cgse-2024.7.0/src/egse/fov/fov_ui_controller.py +0 -140
- cgse-2024.7.0/src/egse/fov/fov_ui_model.py +0 -200
- cgse-2024.7.0/src/egse/fov/fov_ui_view.py +0 -345
- cgse-2024.7.0/src/egse/gimbal/__init__.py +0 -32
- cgse-2024.7.0/src/egse/gimbal/symetrie/__init__.py +0 -26
- cgse-2024.7.0/src/egse/gimbal/symetrie/alpha.py +0 -586
- cgse-2024.7.0/src/egse/gimbal/symetrie/generic_gimbal_ui.py +0 -1521
- cgse-2024.7.0/src/egse/gimbal/symetrie/gimbal.py +0 -877
- cgse-2024.7.0/src/egse/gimbal/symetrie/gimbal.yaml +0 -168
- cgse-2024.7.0/src/egse/gimbal/symetrie/gimbal_protocol.py +0 -138
- cgse-2024.7.0/src/egse/gimbal/symetrie/gimbal_ui.py +0 -361
- cgse-2024.7.0/src/egse/gimbal/symetrie/pmac.py +0 -1006
- cgse-2024.7.0/src/egse/graph.py +0 -132
- cgse-2024.7.0/src/egse/gui/focalplane.py +0 -1285
- cgse-2024.7.0/src/egse/gui/formatter.py +0 -10
- cgse-2024.7.0/src/egse/gui/mechanisms.py +0 -587
- cgse-2024.7.0/src/egse/gui/stripchart.py +0 -729
- cgse-2024.7.0/src/egse/h5.py +0 -274
- cgse-2024.7.0/src/egse/help/help_ui.py +0 -126
- cgse-2024.7.0/src/egse/hexapod/symetrie/pmac_regex.py +0 -83
- cgse-2024.7.0/src/egse/icons/logo-puna.svg +0 -92
- cgse-2024.7.0/src/egse/images/big-rotation-stage.png +0 -0
- cgse-2024.7.0/src/egse/images/connected-100.png +0 -0
- cgse-2024.7.0/src/egse/images/cross.svg +0 -6
- cgse-2024.7.0/src/egse/images/disconnected-100.png +0 -0
- cgse-2024.7.0/src/egse/images/gui-icon.png +0 -0
- cgse-2024.7.0/src/egse/images/home.svg +0 -6
- cgse-2024.7.0/src/egse/images/info-icon.png +0 -0
- cgse-2024.7.0/src/egse/images/led-black.svg +0 -89
- cgse-2024.7.0/src/egse/images/led-green.svg +0 -85
- cgse-2024.7.0/src/egse/images/led-orange.svg +0 -85
- cgse-2024.7.0/src/egse/images/led-red.svg +0 -85
- cgse-2024.7.0/src/egse/images/load-icon.png +0 -0
- cgse-2024.7.0/src/egse/images/load-setup.png +0 -0
- cgse-2024.7.0/src/egse/images/load.png +0 -0
- cgse-2024.7.0/src/egse/images/pause.png +0 -0
- cgse-2024.7.0/src/egse/images/play-button.svg +0 -8
- cgse-2024.7.0/src/egse/images/play.png +0 -0
- cgse-2024.7.0/src/egse/images/process-status.png +0 -0
- cgse-2024.7.0/src/egse/images/restart.png +0 -0
- cgse-2024.7.0/src/egse/images/search.png +0 -0
- cgse-2024.7.0/src/egse/images/sma.png +0 -0
- cgse-2024.7.0/src/egse/images/start.png +0 -0
- cgse-2024.7.0/src/egse/images/stop-button.svg +0 -8
- cgse-2024.7.0/src/egse/images/stop.png +0 -0
- cgse-2024.7.0/src/egse/images/switch-off.svg +0 -48
- cgse-2024.7.0/src/egse/images/switch-on.svg +0 -48
- cgse-2024.7.0/src/egse/images/undo.png +0 -0
- cgse-2024.7.0/src/egse/images/update-button.svg +0 -11
- cgse-2024.7.0/src/egse/imageviewer/exposureselection.py +0 -475
- cgse-2024.7.0/src/egse/imageviewer/imageviewer.py +0 -198
- cgse-2024.7.0/src/egse/imageviewer/matchfocalplane.py +0 -179
- cgse-2024.7.0/src/egse/imageviewer/subfieldposition.py +0 -133
- cgse-2024.7.0/src/egse/lampcontrol/__init__.py +0 -4
- cgse-2024.7.0/src/egse/lampcontrol/beaglebone/beaglebone.py +0 -178
- cgse-2024.7.0/src/egse/lampcontrol/beaglebone/beaglebone.yaml +0 -62
- cgse-2024.7.0/src/egse/lampcontrol/beaglebone/beaglebone_cs.py +0 -106
- cgse-2024.7.0/src/egse/lampcontrol/beaglebone/beaglebone_devif.py +0 -150
- cgse-2024.7.0/src/egse/lampcontrol/beaglebone/beaglebone_protocol.py +0 -73
- cgse-2024.7.0/src/egse/lampcontrol/energetiq/__init__.py +0 -22
- cgse-2024.7.0/src/egse/lampcontrol/energetiq/eq99.yaml +0 -98
- cgse-2024.7.0/src/egse/lampcontrol/energetiq/lampEQ99.py +0 -283
- cgse-2024.7.0/src/egse/lampcontrol/energetiq/lampEQ99_cs.py +0 -128
- cgse-2024.7.0/src/egse/lampcontrol/energetiq/lampEQ99_devif.py +0 -158
- cgse-2024.7.0/src/egse/lampcontrol/energetiq/lampEQ99_encode_decode_errors.py +0 -73
- cgse-2024.7.0/src/egse/lampcontrol/energetiq/lampEQ99_protocol.py +0 -71
- cgse-2024.7.0/src/egse/lampcontrol/energetiq/lampEQ99_ui.py +0 -465
- cgse-2024.7.0/src/egse/lib/CentOS-7/EtherSpaceLink_v34_86.dylib +0 -0
- cgse-2024.7.0/src/egse/lib/CentOS-8/ESL-RMAP_v34_86.dylib +0 -0
- cgse-2024.7.0/src/egse/lib/CentOS-8/EtherSpaceLink_v34_86.dylib +0 -0
- cgse-2024.7.0/src/egse/lib/Debian/ESL-RMAP_v34_86.dylib +0 -0
- cgse-2024.7.0/src/egse/lib/Debian/EtherSpaceLink_v34_86.dylib +0 -0
- cgse-2024.7.0/src/egse/lib/Debian/libetherspacelink_v35_21.dylib +0 -0
- cgse-2024.7.0/src/egse/lib/Linux/ESL-RMAP_v34_86.dylib +0 -0
- cgse-2024.7.0/src/egse/lib/Linux/EtherSpaceLink_v34_86.dylib +0 -0
- cgse-2024.7.0/src/egse/lib/Ubuntu-20/ESL-RMAP_v34_86.dylib +0 -0
- cgse-2024.7.0/src/egse/lib/Ubuntu-20/EtherSpaceLink_v34_86.dylib +0 -0
- cgse-2024.7.0/src/egse/lib/gssw/python3-gssw_2.2.3+31f63c9f-1_all.deb +0 -0
- cgse-2024.7.0/src/egse/lib/ximc/__pycache__/pyximc.cpython-38 2.pyc +0 -0
- cgse-2024.7.0/src/egse/lib/ximc/__pycache__/pyximc.cpython-38.pyc +0 -0
- cgse-2024.7.0/src/egse/lib/ximc/libximc.framework/Frameworks/libbindy.dylib +0 -0
- cgse-2024.7.0/src/egse/lib/ximc/libximc.framework/Frameworks/libxiwrapper.dylib +0 -0
- cgse-2024.7.0/src/egse/lib/ximc/libximc.framework/Headers/ximc.h +0 -5510
- cgse-2024.7.0/src/egse/lib/ximc/libximc.framework/Resources/Info.plist +0 -42
- cgse-2024.7.0/src/egse/lib/ximc/libximc.framework/Resources/keyfile.sqlite +0 -0
- cgse-2024.7.0/src/egse/lib/ximc/libximc.framework/libbindy.so +0 -0
- cgse-2024.7.0/src/egse/lib/ximc/libximc.framework/libximc +0 -0
- cgse-2024.7.0/src/egse/lib/ximc/libximc.framework/libximc.so +0 -0
- cgse-2024.7.0/src/egse/lib/ximc/libximc.framework/libximc.so.7.0.0 +0 -0
- cgse-2024.7.0/src/egse/lib/ximc/libximc.framework/libxiwrapper.so +0 -0
- cgse-2024.7.0/src/egse/lib/ximc/pyximc.py +0 -922
- cgse-2024.7.0/src/egse/listener.py +0 -179
- cgse-2024.7.0/src/egse/ni/alarms/__init__.py +0 -26
- cgse-2024.7.0/src/egse/ni/alarms/cdaq9375.py +0 -300
- cgse-2024.7.0/src/egse/ni/alarms/cdaq9375.yaml +0 -89
- cgse-2024.7.0/src/egse/ni/alarms/cdaq9375_cs.py +0 -130
- cgse-2024.7.0/src/egse/ni/alarms/cdaq9375_devif.py +0 -183
- cgse-2024.7.0/src/egse/ni/alarms/cdaq9375_protocol.py +0 -48
- cgse-2024.7.0/src/egse/obs_inspection.py +0 -165
- cgse-2024.7.0/src/egse/powermeter/ni/__init__.py +0 -38
- cgse-2024.7.0/src/egse/powermeter/ni/cdaq9184.py +0 -224
- cgse-2024.7.0/src/egse/powermeter/ni/cdaq9184.yaml +0 -73
- cgse-2024.7.0/src/egse/powermeter/ni/cdaq9184_cs.py +0 -130
- cgse-2024.7.0/src/egse/powermeter/ni/cdaq9184_devif.py +0 -201
- cgse-2024.7.0/src/egse/powermeter/ni/cdaq9184_protocol.py +0 -48
- cgse-2024.7.0/src/egse/powermeter/ni/cdaq9184_ui.py +0 -544
- cgse-2024.7.0/src/egse/powermeter/thorlabs/__init__.py +0 -25
- cgse-2024.7.0/src/egse/powermeter/thorlabs/pm100a.py +0 -380
- cgse-2024.7.0/src/egse/powermeter/thorlabs/pm100a.yaml +0 -132
- cgse-2024.7.0/src/egse/powermeter/thorlabs/pm100a_cs.py +0 -136
- cgse-2024.7.0/src/egse/powermeter/thorlabs/pm100a_devif.py +0 -127
- cgse-2024.7.0/src/egse/powermeter/thorlabs/pm100a_protocol.py +0 -80
- cgse-2024.7.0/src/egse/powermeter/thorlabs/pm100a_ui.py +0 -725
- cgse-2024.7.0/src/egse/procman/cannot_start_process_popup.py +0 -43
- cgse-2024.7.0/src/egse/procman/procman_ui.py +0 -2081
- cgse-2024.7.0/src/egse/randomwalk.py +0 -140
- cgse-2024.7.0/src/egse/reg.py +0 -585
- cgse-2024.7.0/src/egse/reprocess.py +0 -693
- cgse-2024.7.0/src/egse/rmap.py +0 -406
- cgse-2024.7.0/src/egse/rst.py +0 -135
- cgse-2024.7.0/src/egse/search.py +0 -182
- cgse-2024.7.0/src/egse/serialdevice.py +0 -190
- cgse-2024.7.0/src/egse/settings.yaml +0 -980
- cgse-2024.7.0/src/egse/shutter/thorlabs/__init__.py +0 -19
- cgse-2024.7.0/src/egse/shutter/thorlabs/ksc101.py +0 -205
- cgse-2024.7.0/src/egse/shutter/thorlabs/ksc101.yaml +0 -105
- cgse-2024.7.0/src/egse/shutter/thorlabs/ksc101_cs.py +0 -136
- cgse-2024.7.0/src/egse/shutter/thorlabs/ksc101_devif.py +0 -201
- cgse-2024.7.0/src/egse/shutter/thorlabs/ksc101_protocol.py +0 -71
- cgse-2024.7.0/src/egse/shutter/thorlabs/ksc101_ui.py +0 -548
- cgse-2024.7.0/src/egse/shutter/thorlabs/sc10.py +0 -82
- cgse-2024.7.0/src/egse/shutter/thorlabs/sc10.yaml +0 -52
- cgse-2024.7.0/src/egse/shutter/thorlabs/sc10_controller.py +0 -81
- cgse-2024.7.0/src/egse/shutter/thorlabs/sc10_cs.py +0 -108
- cgse-2024.7.0/src/egse/shutter/thorlabs/sc10_interface.py +0 -25
- cgse-2024.7.0/src/egse/shutter/thorlabs/sc10_simulator.py +0 -30
- cgse-2024.7.0/src/egse/simulator.py +0 -41
- cgse-2024.7.0/src/egse/slack.py +0 -61
- cgse-2024.7.0/src/egse/socketdevice.py +0 -218
- cgse-2024.7.0/src/egse/sockets.py +0 -218
- cgse-2024.7.0/src/egse/stages/__init__.py +0 -12
- cgse-2024.7.0/src/egse/stages/aerotech/ensemble.py +0 -245
- cgse-2024.7.0/src/egse/stages/aerotech/ensemble.yaml +0 -205
- cgse-2024.7.0/src/egse/stages/aerotech/ensemble_controller.py +0 -275
- cgse-2024.7.0/src/egse/stages/aerotech/ensemble_cs.py +0 -110
- cgse-2024.7.0/src/egse/stages/aerotech/ensemble_interface.py +0 -132
- cgse-2024.7.0/src/egse/stages/aerotech/ensemble_parameters.py +0 -433
- cgse-2024.7.0/src/egse/stages/aerotech/ensemble_simulator.py +0 -27
- cgse-2024.7.0/src/egse/stages/aerotech/mgse_sim.py +0 -188
- cgse-2024.7.0/src/egse/stages/arun/smd3.py +0 -110
- cgse-2024.7.0/src/egse/stages/arun/smd3.yaml +0 -68
- cgse-2024.7.0/src/egse/stages/arun/smd3_controller.py +0 -470
- cgse-2024.7.0/src/egse/stages/arun/smd3_cs.py +0 -112
- cgse-2024.7.0/src/egse/stages/arun/smd3_interface.py +0 -53
- cgse-2024.7.0/src/egse/stages/arun/smd3_simulator.py +0 -27
- cgse-2024.7.0/src/egse/stages/arun/smd3_stop.py +0 -16
- cgse-2024.7.0/src/egse/stages/huber/__init__.py +0 -49
- cgse-2024.7.0/src/egse/stages/huber/smc9300.py +0 -920
- cgse-2024.7.0/src/egse/stages/huber/smc9300_cs.py +0 -178
- cgse-2024.7.0/src/egse/stages/huber/smc9300_devif.py +0 -345
- cgse-2024.7.0/src/egse/stages/huber/smc9300_protocol.py +0 -113
- cgse-2024.7.0/src/egse/stages/huber/smc9300_sim.py +0 -547
- cgse-2024.7.0/src/egse/stages/huber/smc9300_ui.py +0 -973
- cgse-2024.7.0/src/egse/statemachine.py +0 -274
- cgse-2024.7.0/src/egse/synoptics/__init__.py +0 -417
- cgse-2024.7.0/src/egse/synoptics/syn.yaml +0 -9
- cgse-2024.7.0/src/egse/synoptics/syn_cs.py +0 -195
- cgse-2024.7.0/src/egse/tcs/__init__.py +0 -14
- cgse-2024.7.0/src/egse/tcs/tcs.py +0 -879
- cgse-2024.7.0/src/egse/tcs/tcs.yaml +0 -14
- cgse-2024.7.0/src/egse/tcs/tcs_cs.py +0 -202
- cgse-2024.7.0/src/egse/tcs/tcs_devif.py +0 -292
- cgse-2024.7.0/src/egse/tcs/tcs_protocol.py +0 -180
- cgse-2024.7.0/src/egse/tcs/tcs_sim.py +0 -177
- cgse-2024.7.0/src/egse/tcs/tcs_ui.py +0 -543
- cgse-2024.7.0/src/egse/tdms.py +0 -171
- cgse-2024.7.0/src/egse/tempcontrol/__init__.py +0 -23
- cgse-2024.7.0/src/egse/tempcontrol/agilent/agilent34970.py +0 -109
- cgse-2024.7.0/src/egse/tempcontrol/agilent/agilent34970.yaml +0 -44
- cgse-2024.7.0/src/egse/tempcontrol/agilent/agilent34970_cs.py +0 -114
- cgse-2024.7.0/src/egse/tempcontrol/agilent/agilent34970_devif.py +0 -182
- cgse-2024.7.0/src/egse/tempcontrol/agilent/agilent34970_protocol.py +0 -96
- cgse-2024.7.0/src/egse/tempcontrol/agilent/agilent34972.py +0 -111
- cgse-2024.7.0/src/egse/tempcontrol/agilent/agilent34972.yaml +0 -44
- cgse-2024.7.0/src/egse/tempcontrol/agilent/agilent34972_cs.py +0 -115
- cgse-2024.7.0/src/egse/tempcontrol/agilent/agilent34972_devif.py +0 -189
- cgse-2024.7.0/src/egse/tempcontrol/agilent/agilent34972_protocol.py +0 -98
- cgse-2024.7.0/src/egse/tempcontrol/beaglebone/beaglebone.py +0 -341
- cgse-2024.7.0/src/egse/tempcontrol/beaglebone/beaglebone.yaml +0 -110
- cgse-2024.7.0/src/egse/tempcontrol/beaglebone/beaglebone_cs.py +0 -117
- cgse-2024.7.0/src/egse/tempcontrol/beaglebone/beaglebone_protocol.py +0 -134
- cgse-2024.7.0/src/egse/tempcontrol/beaglebone/beaglebone_ui.py +0 -674
- cgse-2024.7.0/src/egse/tempcontrol/digalox/digalox.py +0 -115
- cgse-2024.7.0/src/egse/tempcontrol/digalox/digalox.yaml +0 -36
- cgse-2024.7.0/src/egse/tempcontrol/digalox/digalox_cs.py +0 -108
- cgse-2024.7.0/src/egse/tempcontrol/digalox/digalox_protocol.py +0 -56
- cgse-2024.7.0/src/egse/tempcontrol/keithley/__init__.py +0 -33
- cgse-2024.7.0/src/egse/tempcontrol/keithley/daq6510.py +0 -662
- cgse-2024.7.0/src/egse/tempcontrol/keithley/daq6510.yaml +0 -105
- cgse-2024.7.0/src/egse/tempcontrol/keithley/daq6510_cs.py +0 -163
- cgse-2024.7.0/src/egse/tempcontrol/keithley/daq6510_devif.py +0 -343
- cgse-2024.7.0/src/egse/tempcontrol/keithley/daq6510_protocol.py +0 -79
- cgse-2024.7.0/src/egse/tempcontrol/keithley/daq6510_sim.py +0 -186
- cgse-2024.7.0/src/egse/tempcontrol/lakeshore/__init__.py +0 -33
- cgse-2024.7.0/src/egse/tempcontrol/lakeshore/lsci.py +0 -361
- cgse-2024.7.0/src/egse/tempcontrol/lakeshore/lsci.yaml +0 -162
- cgse-2024.7.0/src/egse/tempcontrol/lakeshore/lsci_cs.py +0 -174
- cgse-2024.7.0/src/egse/tempcontrol/lakeshore/lsci_devif.py +0 -292
- cgse-2024.7.0/src/egse/tempcontrol/lakeshore/lsci_protocol.py +0 -76
- cgse-2024.7.0/src/egse/tempcontrol/lakeshore/lsci_ui.py +0 -387
- cgse-2024.7.0/src/egse/tempcontrol/spid/spid.py +0 -109
- cgse-2024.7.0/src/egse/tempcontrol/spid/spid.yaml +0 -81
- cgse-2024.7.0/src/egse/tempcontrol/spid/spid_controller.py +0 -279
- cgse-2024.7.0/src/egse/tempcontrol/spid/spid_cs.py +0 -136
- cgse-2024.7.0/src/egse/tempcontrol/spid/spid_protocol.py +0 -107
- cgse-2024.7.0/src/egse/tempcontrol/spid/spid_ui.py +0 -723
- cgse-2024.7.0/src/egse/tempcontrol/srs/__init__.py +0 -22
- cgse-2024.7.0/src/egse/tempcontrol/srs/ptc10.py +0 -867
- cgse-2024.7.0/src/egse/tempcontrol/srs/ptc10.yaml +0 -227
- cgse-2024.7.0/src/egse/tempcontrol/srs/ptc10_cs.py +0 -128
- cgse-2024.7.0/src/egse/tempcontrol/srs/ptc10_devif.py +0 -116
- cgse-2024.7.0/src/egse/tempcontrol/srs/ptc10_protocol.py +0 -39
- cgse-2024.7.0/src/egse/tempcontrol/srs/ptc10_ui.py +0 -906
- cgse-2024.7.0/src/egse/ups/apc/apc.py +0 -236
- cgse-2024.7.0/src/egse/ups/apc/apc.yaml +0 -45
- cgse-2024.7.0/src/egse/ups/apc/apc_cs.py +0 -101
- cgse-2024.7.0/src/egse/ups/apc/apc_protocol.py +0 -125
- cgse-2024.7.0/src/egse/user.yaml +0 -7
- cgse-2024.7.0/src/egse/vacuum/beaglebone/beaglebone.py +0 -149
- cgse-2024.7.0/src/egse/vacuum/beaglebone/beaglebone.yaml +0 -44
- cgse-2024.7.0/src/egse/vacuum/beaglebone/beaglebone_cs.py +0 -108
- cgse-2024.7.0/src/egse/vacuum/beaglebone/beaglebone_devif.py +0 -159
- cgse-2024.7.0/src/egse/vacuum/beaglebone/beaglebone_protocol.py +0 -192
- cgse-2024.7.0/src/egse/vacuum/beaglebone/beaglebone_ui.py +0 -638
- cgse-2024.7.0/src/egse/vacuum/instrutech/igm402.py +0 -91
- cgse-2024.7.0/src/egse/vacuum/instrutech/igm402.yaml +0 -90
- cgse-2024.7.0/src/egse/vacuum/instrutech/igm402_controller.py +0 -124
- cgse-2024.7.0/src/egse/vacuum/instrutech/igm402_cs.py +0 -108
- cgse-2024.7.0/src/egse/vacuum/instrutech/igm402_interface.py +0 -49
- cgse-2024.7.0/src/egse/vacuum/instrutech/igm402_simulator.py +0 -36
- cgse-2024.7.0/src/egse/vacuum/keller/kellerBus.py +0 -256
- cgse-2024.7.0/src/egse/vacuum/keller/leo3.py +0 -100
- cgse-2024.7.0/src/egse/vacuum/keller/leo3.yaml +0 -38
- cgse-2024.7.0/src/egse/vacuum/keller/leo3_controller.py +0 -81
- cgse-2024.7.0/src/egse/vacuum/keller/leo3_cs.py +0 -101
- cgse-2024.7.0/src/egse/vacuum/keller/leo3_interface.py +0 -33
- cgse-2024.7.0/src/egse/vacuum/mks/evision.py +0 -86
- cgse-2024.7.0/src/egse/vacuum/mks/evision.yaml +0 -75
- cgse-2024.7.0/src/egse/vacuum/mks/evision_cs.py +0 -101
- cgse-2024.7.0/src/egse/vacuum/mks/evision_devif.py +0 -313
- cgse-2024.7.0/src/egse/vacuum/mks/evision_interface.py +0 -60
- cgse-2024.7.0/src/egse/vacuum/mks/evision_simulator.py +0 -24
- cgse-2024.7.0/src/egse/vacuum/mks/evision_ui.py +0 -701
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/acp40.py +0 -87
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/acp40.yaml +0 -60
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/acp40_controller.py +0 -117
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/acp40_cs.py +0 -109
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/acp40_interface.py +0 -40
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/acp40_simulator.py +0 -37
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/tc400.py +0 -87
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/tc400.yaml +0 -83
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/tc400_controller.py +0 -136
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/tc400_cs.py +0 -109
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/tc400_interface.py +0 -70
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/tc400_simulator.py +0 -35
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/tpg261.py +0 -80
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/tpg261.yaml +0 -66
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/tpg261_controller.py +0 -150
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/tpg261_cs.py +0 -109
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/tpg261_interface.py +0 -59
- cgse-2024.7.0/src/egse/vacuum/pfeiffer/tpg261_simulator.py +0 -23
- cgse-2024.7.0/src/egse/visitedpositions.py +0 -398
- cgse-2024.7.0/src/egse/windowing.py +0 -213
- cgse-2024.7.0/src/egse/zmq/__init__.py +0 -28
- cgse-2024.7.0/src/egse/zmq/spw.py +0 -160
- cgse-2024.7.0/src/scripts/alerts/cold.yaml +0 -278
- cgse-2024.7.0/src/scripts/alerts/example_alerts.yaml +0 -54
- cgse-2024.7.0/src/scripts/alerts/transition.yaml +0 -14
- cgse-2024.7.0/src/scripts/alerts/warm.yaml +0 -49
- cgse-2024.7.0/src/scripts/analyse_n_fee_hk_data.py +0 -52
- cgse-2024.7.0/src/scripts/check_hdf5_files.py +0 -192
- cgse-2024.7.0/src/scripts/check_register_sync.py +0 -47
- cgse-2024.7.0/src/scripts/check_tcs_calib_coef.py +0 -90
- cgse-2024.7.0/src/scripts/correct_ccd_cold_temperature_cal.py +0 -157
- cgse-2024.7.0/src/scripts/create_hdf5_report.py +0 -293
- cgse-2024.7.0/src/scripts/csl_model.py +0 -420
- cgse-2024.7.0/src/scripts/csl_restore_setup.py +0 -229
- cgse-2024.7.0/src/scripts/export-grafana-dashboards.py +0 -49
- cgse-2024.7.0/src/scripts/fdir/cs_recovery/fdir_cs_recovery.py +0 -54
- cgse-2024.7.0/src/scripts/fdir/fdir_table.yaml +0 -70
- cgse-2024.7.0/src/scripts/fdir/fdir_test_recovery.py +0 -10
- cgse-2024.7.0/src/scripts/fdir/hw_recovery/fdir_agilent_hw_recovery.py +0 -73
- cgse-2024.7.0/src/scripts/fdir/limit_recovery/fdir_agilent_limit.py +0 -61
- cgse-2024.7.0/src/scripts/fdir/limit_recovery/fdir_bb_heater_limit.py +0 -59
- cgse-2024.7.0/src/scripts/fdir/limit_recovery/fdir_ensemble_limit.py +0 -33
- cgse-2024.7.0/src/scripts/fdir/limit_recovery/fdir_pressure_limit_recovery.py +0 -71
- cgse-2024.7.0/src/scripts/fix_csv.py +0 -80
- cgse-2024.7.0/src/scripts/ias/correct_ccd_temp_cal_elfique.py +0 -43
- cgse-2024.7.0/src/scripts/ias/correct_ccd_temp_cal_floreffe.py +0 -43
- cgse-2024.7.0/src/scripts/ias/correct_trp_swap_achel.py +0 -199
- cgse-2024.7.0/src/scripts/inta/correct_ccd_temp_cal_duvel.py +0 -43
- cgse-2024.7.0/src/scripts/inta/correct_ccd_temp_cal_gueuze.py +0 -43
- cgse-2024.7.0/src/scripts/n_fee_supply_voltage_calculation.py +0 -92
- cgse-2024.7.0/src/scripts/playground.py +0 -30
- cgse-2024.7.0/src/scripts/print_hdf5_hk_data.py +0 -68
- cgse-2024.7.0/src/scripts/print_register_map.py +0 -43
- cgse-2024.7.0/src/scripts/remove_lines_between_matches.py +0 -188
- cgse-2024.7.0/src/scripts/sron/commanding/control_heaters.py +0 -44
- cgse-2024.7.0/src/scripts/sron/commanding/pumpdown.py +0 -46
- cgse-2024.7.0/src/scripts/sron/commanding/set_pid_setpoint.py +0 -19
- cgse-2024.7.0/src/scripts/sron/commanding/shutdown_bbb_heaters.py +0 -10
- cgse-2024.7.0/src/scripts/sron/commanding/shutdown_pumps.py +0 -33
- cgse-2024.7.0/src/scripts/sron/correct_mgse_coordinates_brigand_chimay.py +0 -272
- cgse-2024.7.0/src/scripts/sron/correct_trp_swap_brigand.py +0 -204
- cgse-2024.7.0/src/scripts/sron/gimbal_conversions.py +0 -75
- cgse-2024.7.0/src/scripts/sron/tm_gen/tm_gen_agilent.py +0 -37
- cgse-2024.7.0/src/scripts/sron/tm_gen/tm_gen_heaters.py +0 -4
- cgse-2024.7.0/src/scripts/sron/tm_gen/tm_gen_spid.py +0 -13
- cgse-2024.7.0/src/scripts/update_operational_cgse.py +0 -268
- cgse-2024.7.0/src/scripts/update_operational_cgse_old.py +0 -273
- cgse-2024.7.0/src/tests/data/conf/SETUP_CSL_00000_170620_150000.yaml +0 -5
- cgse-2024.7.0/src/tests/data/conf/SETUP_CSL_00001_170620_151010.yaml +0 -68
- cgse-2024.7.0/src/tests/data/conf/SETUP_CSL_00010_210308_083016.yaml +0 -138
- cgse-2024.7.0/src/tests/data/confman_settings.yaml +0 -2
- cgse-2024.7.0/src/tests/data/empty.yaml +0 -1
- cgse-2024.7.0/src/tests/data/settings.yaml +0 -26
- cgse-2024.7.0/src/tests/helper.py +0 -50
- cgse-2024.7.0/src/tests/itest_dpu_ui.py +0 -74
- cgse-2024.7.0/src/tests/scripts/dummy_cs.py +0 -17
- cgse-2024.7.0/src/tests/scripts/empty_process.py +0 -56
- cgse-2024.7.0/src/tests/scripts/void-0.py +0 -6
- cgse-2024.7.0/src/tests/scripts/void-1.py +0 -6
- cgse-2024.7.0/src/tests/test_aeu.py +0 -1185
- cgse-2024.7.0/src/tests/test_aeu_simulator.py +0 -2913
- cgse-2024.7.0/src/tests/test_automatic_dump_mode.py +0 -93
- cgse-2024.7.0/src/tests/test_avoidance.py +0 -45
- cgse-2024.7.0/src/tests/test_cm_cs.py +0 -49
- cgse-2024.7.0/src/tests/test_config.py +0 -172
- cgse-2024.7.0/src/tests/test_confman.py +0 -10
- cgse-2024.7.0/src/tests/test_confman_controller.py +0 -24
- cgse-2024.7.0/src/tests/test_confman_functions.py +0 -91
- cgse-2024.7.0/src/tests/test_coordinates_plot.py +0 -29
- cgse-2024.7.0/src/tests/test_coordinates_serialize.py +0 -61
- cgse-2024.7.0/src/tests/test_daq6510.py +0 -104
- cgse-2024.7.0/src/tests/test_dpu_functions.py +0 -264
- cgse-2024.7.0/src/tests/test_dpu_internals.py +0 -34
- cgse-2024.7.0/src/tests/test_dpu_monitoring.py +0 -103
- cgse-2024.7.0/src/tests/test_dpu_nfee_state.py +0 -56
- cgse-2024.7.0/src/tests/test_dpu_send_commands.py +0 -39
- cgse-2024.7.0/src/tests/test_env.py +0 -93
- cgse-2024.7.0/src/tests/test_fee.py +0 -92
- cgse-2024.7.0/src/tests/test_feesim.py +0 -165
- cgse-2024.7.0/src/tests/test_filterwheel_eksma.py +0 -46
- cgse-2024.7.0/src/tests/test_fixture_with_lru_cache.py +0 -59
- cgse-2024.7.0/src/tests/test_fov_hk__ias.py +0 -25
- cgse-2024.7.0/src/tests/test_gimbal.py +0 -199
- cgse-2024.7.0/src/tests/test_graph.py +0 -272
- cgse-2024.7.0/src/tests/test_hexapod.py +0 -188
- cgse-2024.7.0/src/tests/test_hexapod_simulator.py +0 -223
- cgse-2024.7.0/src/tests/test_hexapod_zonda.py +0 -659
- cgse-2024.7.0/src/tests/test_huber.py +0 -338
- cgse-2024.7.0/src/tests/test_huber_dev.py +0 -281
- cgse-2024.7.0/src/tests/test_imports.py +0 -44
- cgse-2024.7.0/src/tests/test_lakeshore.py +0 -91
- cgse-2024.7.0/src/tests/test_lakeshore_simulator.py +0 -38
- cgse-2024.7.0/src/tests/test_lampEQ99_encode_decode_errors.py +0 -33
- cgse-2024.7.0/src/tests/test_lampcontrol_energetiq.py +0 -109
- cgse-2024.7.0/src/tests/test_logger.py +0 -40
- cgse-2024.7.0/src/tests/test_metrics.py +0 -47
- cgse-2024.7.0/src/tests/test_mixin.py +0 -356
- cgse-2024.7.0/src/tests/test_n_fee.py +0 -284
- cgse-2024.7.0/src/tests/test_n_fee_hk.py +0 -205
- cgse-2024.7.0/src/tests/test_n_fee_side.py +0 -138
- cgse-2024.7.0/src/tests/test_obs.py +0 -11
- cgse-2024.7.0/src/tests/test_obsid.py +0 -124
- cgse-2024.7.0/src/tests/test_ogse_functions.py +0 -166
- cgse-2024.7.0/src/tests/test_ogse_sim.py +0 -309
- cgse-2024.7.0/src/tests/test_persistence.py +0 -264
- cgse-2024.7.0/src/tests/test_persistence_hdf5.py +0 -38
- cgse-2024.7.0/src/tests/test_persistence_sqlite.py +0 -69
- cgse-2024.7.0/src/tests/test_pmac.py +0 -139
- cgse-2024.7.0/src/tests/test_pmac_regex.py +0 -137
- cgse-2024.7.0/src/tests/test_point.py +0 -90
- cgse-2024.7.0/src/tests/test_process.py +0 -206
- cgse-2024.7.0/src/tests/test_process_status.py +0 -43
- cgse-2024.7.0/src/tests/test_proxy.py +0 -200
- cgse-2024.7.0/src/tests/test_proxy_state.py +0 -57
- cgse-2024.7.0/src/tests/test_puna.py +0 -199
- cgse-2024.7.0/src/tests/test_puna_plus.py +0 -218
- cgse-2024.7.0/src/tests/test_ref_model.py +0 -68
- cgse-2024.7.0/src/tests/test_reference_frames.py +0 -480
- cgse-2024.7.0/src/tests/test_refmodel.py +0 -118
- cgse-2024.7.0/src/tests/test_reg.py +0 -454
- cgse-2024.7.0/src/tests/test_reload.py +0 -94
- cgse-2024.7.0/src/tests/test_resource.py +0 -145
- cgse-2024.7.0/src/tests/test_response.py +0 -43
- cgse-2024.7.0/src/tests/test_rmap.py +0 -252
- cgse-2024.7.0/src/tests/test_search.py +0 -40
- cgse-2024.7.0/src/tests/test_services.py +0 -176
- cgse-2024.7.0/src/tests/test_settings.py +0 -152
- cgse-2024.7.0/src/tests/test_slack.py +0 -17
- cgse-2024.7.0/src/tests/test_spw.py +0 -495
- cgse-2024.7.0/src/tests/test_stages.py +0 -198
- cgse-2024.7.0/src/tests/test_state.py +0 -39
- cgse-2024.7.0/src/tests/test_storage.py +0 -157
- cgse-2024.7.0/src/tests/test_storage_controller.py +0 -24
- cgse-2024.7.0/src/tests/test_storage_counter.py +0 -98
- cgse-2024.7.0/src/tests/test_storage_filename.py +0 -36
- cgse-2024.7.0/src/tests/test_syn_cs.py +0 -25
- cgse-2024.7.0/src/tests/test_tcs.py +0 -201
- cgse-2024.7.0/src/tests/test_tdms.py +0 -53
- cgse-2024.7.0/src/tests/test_thorlabs_controller.py +0 -41
- cgse-2024.7.0/src/tests/test_thorlabs_proxy.py +0 -32
- cgse-2024.7.0/src/tests/test_thorlabs_simulator.py +0 -32
- cgse-2024.7.0/src/tests/test_twos_complement.py +0 -12
- cgse-2024.7.0/src/tests/test_version.py +0 -24
- cgse-2024.7.0/src/tests/test_windowing.py +0 -213
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/observer.py +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-common}/src/egse/state.py +0 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/data/CSL/conf/SETUP_CSL_00028_201028_155259.yaml +0 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/data/CSL/conf/SETUP_CSL_00029_201028_155331.yaml +0 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/data/CSL/conf/SETUP_CSL_00030_210311_134043.yaml +0 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/data/CSL/conf/SETUP_CSL_00080_210917_105245.yaml +0 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/data/CSL/conf/SETUP_CSL_00081_210922_142259.yaml +0 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/data/CSL/conf/SETUP_CSL_00082_210923_094458.yaml +0 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/data/SRON/conf/SETUP_SRON_00027_211119_140441.yaml +0 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/data/SRON/conf/SETUP_SRON_00028_211119_160406.yaml +0 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/data/SRON/conf/SETUP_SRON_00029_211119_172918.yaml +0 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/data/SRON/conf/SETUP_SRON_00030_211122_103604.yaml +0 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/data/SRON/conf/SETUP_SRON_00031_211123_124900.yaml +0 -0
- /cgse-2024.7.0/src/egse/collimator/__init__.py → /cgse-2025.0.2/libs/cgse-common/tests/data/conf/config-file.toml +0 -0
- {cgse-2024.7.0/src/tests → cgse-2025.0.2/libs/cgse-common/tests/data}/data/calibration.yaml +0 -0
- {cgse-2024.7.0/src/tests → cgse-2025.0.2/libs/cgse-common/tests/data}/data/corrupt.yaml +0 -0
- /cgse-2024.7.0/src/egse/collimator/fcul/__init__.py → /cgse-2025.0.2/libs/cgse-common/tests/data/data/empty_data_file.txt +0 -0
- /cgse-2024.7.0/src/egse/help/__init__.py → /cgse-2025.0.2/libs/cgse-common/tests/data/lib/dev1/shared-lib.so +0 -0
- /cgse-2024.7.0/src/egse/powermeter/__init__.py → /cgse-2025.0.2/libs/cgse-common/tests/data/lib/dev2/shared-lib.so +0 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/test_command.py +0 -0
- /cgse-2024.7.0/src/egse/shutter/__init__.py → /cgse-2025.0.2/libs/cgse-common/tests/test_control.py +0 -0
- {cgse-2024.7.0/src → cgse-2025.0.2/libs/cgse-common}/tests/test_device.py +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-coordinates}/src/egse/coordinates/point.py +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-coordinates}/src/egse/coordinates/refmodel.py +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-coordinates}/src/egse/coordinates/rotationMatrix.py +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-coordinates}/src/egse/coordinates/transform3d_addon.py +0 -0
- /cgse-2024.7.0/src/egse/tempcontrol/ni/__init__.py → /cgse-2025.0.2/libs/cgse-core/src/egse/confman/__main__.py +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-core}/src/egse/procman/procman.yaml +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-core}/src/egse/procman/procman_cs.py +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-gui}/src/egse/gui/buttons.py +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/aeu-cs-start.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/aeu-cs-stop.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/aeu-cs.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/aeu_cs-started.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/aeu_cs-stopped.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/aeu_cs.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/alert.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/arrow-double-left.png +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/arrow-double-right.png +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/arrow-up.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/backward.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/busy.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/cleaning.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/color-scheme.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/cs-connected-alert.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/cs-connected-disabled.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/cs-connected.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/cs-not-connected.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/double-left-arrow.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/double-right-arrow.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/erase-disabled.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/erase.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/fitsgen-start.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/fitsgen-stop.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/fitsgen.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/forward.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/fov-hk-start.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/fov-hk-stop.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/fov-hk.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/front-desk.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/home-actioned.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/home-disabled.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/home.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/info.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/invalid.png +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/led-green.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/led-grey.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/led-orange.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/led-red.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/led-square-green.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/led-square-grey.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/led-square-orange.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/led-square-red.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/limit-switch-all-green.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/limit-switch-all-red.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/limit-switch-el+.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/limit-switch-el-.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/location-marker.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/logo-dpu.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/logo-gimbal.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/logo-huber.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/logo-ogse.svg +0 -0
- {cgse-2024.7.0/src/egse/csl → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/logo-puna.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/logo-tcs.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/logo-zonda.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/maximize.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/meter.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/more.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/n-fee-hk-start.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/n-fee-hk-stop.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/n-fee-hk.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/observing-off.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/observing-on.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/open-document-hdf5.png +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/open-document-hdf5.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/ops-mode.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/play-green.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/plugged-disabled.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/plugged.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/pm_ui.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/power-button-green.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/power-button-red.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/power-button.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/radar.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/radioactive.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/reload.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/remote-control-off.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/remote-control-on.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/repeat-blue.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/repeat.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/settings.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/shrink.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/shutter.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/sign-off.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/sign-on.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/sim-mode.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/small-buttons-go.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/small-buttons-minus.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/small-buttons-plus.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/sponge.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/start-button-disabled.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/start-button.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/stop-button-disabled.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/stop-button.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/stop-red.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/stop.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/switch-disabled-square.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/switch-disabled.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/switch-off-square.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/switch-off.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/switch-on-square.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/switch-on.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/temperature-control.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/th_ui_logo.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/unplugged.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/unvalid.png +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/user-interface.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/vacuum.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/valid.png +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/zoom-to-pixel-dark.svg +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/icons/zoom-to-pixel-white.svg +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-gui}/src/egse/gui/led.py +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-gui}/src/egse/gui/limitswitch.py +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/styles/dark.qss +0 -0
- {cgse-2024.7.0/src/egse → cgse-2025.0.2/libs/cgse-gui/src/egse/gui}/styles/default.qss +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/libs/cgse-gui}/src/egse/gui/styles.qss +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/__init__.py +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/pmac.py +0 -0
- {cgse-2024.7.0/src/egse/gimbal → cgse-2025.0.2/projects/generic/symetrie-hexapod/src/egse/hexapod}/symetrie/pmac_regex.py +0 -0
- {cgse-2024.7.0 → cgse-2025.0.2/projects/generic/symetrie-hexapod}/src/egse/hexapod/symetrie/puna.py +0 -0
- /cgse-2024.7.0/src/tests/test_dsi.py → /cgse-2025.0.2/projects/plato/plato-hdf5/README.md +0 -0
cgse-2025.0.2/.gitignore
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Python versions and environment
|
|
2
|
+
|
|
3
|
+
__pycache__
|
|
4
|
+
.python-version
|
|
5
|
+
.envrc
|
|
6
|
+
|
|
7
|
+
# Build systems
|
|
8
|
+
|
|
9
|
+
build
|
|
10
|
+
dist
|
|
11
|
+
**/*.egg-info
|
|
12
|
+
|
|
13
|
+
# Apple specific
|
|
14
|
+
|
|
15
|
+
.DS_Store
|
|
16
|
+
|
|
17
|
+
# Unit testing
|
|
18
|
+
|
|
19
|
+
.pytest_cache
|
|
20
|
+
.coverage
|
|
21
|
+
htmlcov
|
|
22
|
+
|
|
23
|
+
# Virtual environments
|
|
24
|
+
|
|
25
|
+
.env
|
|
26
|
+
.venv
|
|
27
|
+
venv
|
|
28
|
+
|
|
29
|
+
# PyCharm IDE
|
|
30
|
+
|
|
31
|
+
.idea
|
|
32
|
+
|
|
33
|
+
# Packaging
|
|
34
|
+
|
|
35
|
+
uv.lock
|
cgse-2025.0.2/NOTES.md
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# The monorepo structure
|
|
2
|
+
|
|
3
|
+
Currently, the structure starts with two folders in the root, i.e. `libs` and `projects`. Where _libs_ contains library type packages like common modules, small generic gui functions, reference frames, ... and _projects_ contain packages that build upon these libraries and can be device drivers or stand-alone applications.
|
|
4
|
+
|
|
5
|
+
There is one package that I think doesn't fit into this picture, that is `cgse-core`. This is not a library, but a – collection of – service(s). So, we might want to add a third top-level folder `services` but I also fear that this again more complicates the monorepo.
|
|
6
|
+
|
|
7
|
+
Anyway, the overall structure of the monorepo is depicted below:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
cgse/
|
|
11
|
+
│── pyproject.toml
|
|
12
|
+
├── libs/
|
|
13
|
+
│ ├── cgse-common/
|
|
14
|
+
│ │ ├── src/
|
|
15
|
+
│ │ ├── tests/
|
|
16
|
+
│ │ └── pyproject.toml
|
|
17
|
+
│ ├── cgse-core/
|
|
18
|
+
│ ├── cgse-coordinates/
|
|
19
|
+
│ └── cgse-gui/
|
|
20
|
+
│
|
|
21
|
+
└── projects/
|
|
22
|
+
├── generic/
|
|
23
|
+
│ ├── cgse-tools/
|
|
24
|
+
│ └── symetrie-hexapod/
|
|
25
|
+
└── plato/
|
|
26
|
+
├── plato-spw/
|
|
27
|
+
├── plato-fits/
|
|
28
|
+
└── plato-hdf5/
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
We will discuss the structure of individual packages in a later section, for now let's look at the root of the monorepo. The root also contains a `pyproject.toml` file although this is not a package that will be build and published. The purpose of this root `pyproject.toml` file is to define properties that are used to build the full repo or any individual package in it. In the root folder we will also put some maintenance/management scripts to help you maintain and bump versions of the projects, build and publish all projects, create and maintain a changelog etc.
|
|
32
|
+
|
|
33
|
+
# Package Structure
|
|
34
|
+
|
|
35
|
+
We try to keep the package structure as standard as possible and consistent over the whole monorepo. The structure currently is as follows (example from cgse-common):
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
├── README.md
|
|
39
|
+
├── dist
|
|
40
|
+
│ ├── cgse_common-2023.1.4-py3-none-any.whl
|
|
41
|
+
│ └── cgse_common-2023.1.4.tar.gz
|
|
42
|
+
├── pyproject.toml
|
|
43
|
+
├── src/
|
|
44
|
+
│ └── egse/ # namespace
|
|
45
|
+
│ ├── modules (*.py)
|
|
46
|
+
│ └── <sub-packages>/
|
|
47
|
+
└── tests/
|
|
48
|
+
├── data
|
|
49
|
+
└── pytest modules (test_*.py)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Note that each library or project is a standalone Poetry package with its own `pyproject.toml` file, source code and unit tests.
|
|
53
|
+
|
|
54
|
+
# Package versions
|
|
55
|
+
|
|
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
|
+
|
|
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
|
+
|
|
82
|
+
# Build and Publish
|
|
83
|
+
|
|
84
|
+
Building a source distribution and a wheel for your project is as easy as running the following command:
|
|
85
|
+
```
|
|
86
|
+
$ pipx run build
|
|
87
|
+
* Creating isolated environment: venv+pip...
|
|
88
|
+
* Installing packages in isolated environment:
|
|
89
|
+
- hatchling
|
|
90
|
+
* Getting build dependencies for sdist...
|
|
91
|
+
* Building sdist...
|
|
92
|
+
* Building wheel from sdist
|
|
93
|
+
* Creating isolated environment: venv+pip...
|
|
94
|
+
* Installing packages in isolated environment:
|
|
95
|
+
- hatchling
|
|
96
|
+
* Getting build dependencies for wheel...
|
|
97
|
+
* Building wheel...
|
|
98
|
+
```
|
|
99
|
+
Make sure you have updated/bumped the version number in the `pyproject.toml`. Publishing your package on PyPI needs some more preparation, since you need to prepare a token that allows you to upload your project to PyPI. Publishing itself is a peace of cake when the credentials have been configured correctly. Poetry will also automatically take the latest version to publish.
|
|
100
|
+
```
|
|
101
|
+
$ pipx run twine publish
|
|
102
|
+
Publishing cgse-common (2023.1.5) to PyPI
|
|
103
|
+
- Uploading cgse_common-2023.1.5-py3-none-any.whl 100%
|
|
104
|
+
- Uploading cgse_common-2023.1.5.tar.gz 100%
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
# The egse namespace
|
|
108
|
+
|
|
109
|
+
You might have notices that all packages in this monorepo have a `src/egse` folder in which they maintain their source code, preferably in a sub-package. Note that the `egse` folder is not a normal Python package but a namespace. There are two important facts you need to remember about namespaces:
|
|
110
|
+
|
|
111
|
+
1. A namespace package **does not** contain an `__init__.py` module, never, in any of the packages in this or any other repo. If you place an `__init__.py` module in one of your `egse` package folders, you will break the namespace and therefore also the external contributions in plugins etc.
|
|
112
|
+
2. A namespace package is spread out over several directories that can reside in different packages as distributed by PyPI.
|
|
113
|
+
|
|
114
|
+
# Questions
|
|
115
|
+
|
|
116
|
+
What is the meaning of the common egse root folder in this monorepo and when the packages are installed through PyPI?
|
|
117
|
+
|
|
118
|
+
* do we still need `get_common_egse_root()`
|
|
119
|
+
|
|
120
|
+
NO, this has nothing to do with a generic common egse and also the concept of a project root folder doesn't really work for PyPI projects, especially in a monorepo. What might work in this specific case is to use the egse namespace as a root and find folders and files in the folders that make up the namespace.
|
|
121
|
+
|
|
122
|
+
* what is the Projects root directory?
|
|
123
|
+
|
|
124
|
+
This folder basically contains device implementations and plugins for e.g. the storage manager.
|
cgse-2025.0.2/PKG-INFO
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: cgse
|
|
3
|
+
Version: 2025.0.2
|
|
4
|
+
Summary: Generic Common-EGSE: Commanding and monitoring lab equipment
|
|
5
|
+
Author-email: Rik Huygen <rik.huygen@kuleuven.be>, Sara Regibo <sara.regibo@kuleuven.be>
|
|
6
|
+
License: MIT
|
|
7
|
+
Requires-Python: >=3.9
|
|
8
|
+
Requires-Dist: rich>=13.9.4
|
|
9
|
+
Requires-Dist: tomlkit>=0.13.2
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
|
|
12
|
+
# Common-EGSE
|
|
13
|
+
|
|
14
|
+
This is a monorepo with all the code and documentation for the common egse framework.
|
|
15
|
+
|
|
16
|
+
This repository is organized in two main areas, `libs` and `projects`. The `libs` folder contains library type
|
|
17
|
+
packages like common modules, small generic gui functions, reference frames, etc. and `projects` contains packages
|
|
18
|
+
that build upon these libraries and can be device drivers or stand-alone applications.
|
|
19
|
+
|
|
20
|
+
In the `libs` folder, we have the following packages:
|
|
21
|
+
|
|
22
|
+
- `cgse-common`: Common modules and functions for the EGSE framework.
|
|
23
|
+
- `cgse-coordinates`: Coordinate systems and transformations.
|
|
24
|
+
- `cgse-core`: Core services for the EGSE framework.
|
|
25
|
+
- `cgse-gui`: GUI functions for the EGSE framework.
|
|
26
|
+
|
|
27
|
+
The `projects` folder contains generic and project specific packages.
|
|
28
|
+
|
|
29
|
+
We have the following generic packages:
|
|
30
|
+
|
|
31
|
+
- `cgse-tools`: Tools for the `cgse` command.
|
|
32
|
+
- `symetrie-hexapod`: The Symétrie Hexapod drivers. We put this in the generic folder because it is a generic device driver that can be used by different projects.
|
|
33
|
+
|
|
34
|
+
We have the following project specific packages:
|
|
35
|
+
|
|
36
|
+
- `plato-spw`: The PLATO SpaceWire drivers.
|
|
37
|
+
- `plato-fits`: The PLATO FITS plugins.
|
|
38
|
+
- `plato-hdf5`: The PLATO HDF5 plugins.
|
cgse-2025.0.2/README.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Common-EGSE
|
|
2
|
+
|
|
3
|
+
This is a monorepo with all the code and documentation for the common egse framework.
|
|
4
|
+
|
|
5
|
+
This repository is organized in two main areas, `libs` and `projects`. The `libs` folder contains library type
|
|
6
|
+
packages like common modules, small generic gui functions, reference frames, etc. and `projects` contains packages
|
|
7
|
+
that build upon these libraries and can be device drivers or stand-alone applications.
|
|
8
|
+
|
|
9
|
+
In the `libs` folder, we have the following packages:
|
|
10
|
+
|
|
11
|
+
- `cgse-common`: Common modules and functions for the EGSE framework.
|
|
12
|
+
- `cgse-coordinates`: Coordinate systems and transformations.
|
|
13
|
+
- `cgse-core`: Core services for the EGSE framework.
|
|
14
|
+
- `cgse-gui`: GUI functions for the EGSE framework.
|
|
15
|
+
|
|
16
|
+
The `projects` folder contains generic and project specific packages.
|
|
17
|
+
|
|
18
|
+
We have the following generic packages:
|
|
19
|
+
|
|
20
|
+
- `cgse-tools`: Tools for the `cgse` command.
|
|
21
|
+
- `symetrie-hexapod`: The Symétrie Hexapod drivers. We put this in the generic folder because it is a generic device driver that can be used by different projects.
|
|
22
|
+
|
|
23
|
+
We have the following project specific packages:
|
|
24
|
+
|
|
25
|
+
- `plato-spw`: The PLATO SpaceWire drivers.
|
|
26
|
+
- `plato-fits`: The PLATO FITS plugins.
|
|
27
|
+
- `plato-hdf5`: The PLATO HDF5 plugins.
|
cgse-2025.0.2/TODO.md
ADDED
cgse-2025.0.2/bump.py
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This script bumps the version of all libs and projects in this monorepo to the version that
|
|
3
|
+
is currently in the `pyproject.toml` file in the root folder of the monorepo.
|
|
4
|
+
|
|
5
|
+
Usage:
|
|
6
|
+
$ python bump.py
|
|
7
|
+
|
|
8
|
+
Note:
|
|
9
|
+
You are expected to be in the minimal virtual environment associated with this monorepo,
|
|
10
|
+
being a `pyenv` or Poetry environment, or your global environment shall include the tomlkit
|
|
11
|
+
and the rich package.
|
|
12
|
+
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
# /// script
|
|
16
|
+
# requires-python = ">=3.9"
|
|
17
|
+
# dependencies = [
|
|
18
|
+
# "tomlkit",
|
|
19
|
+
# "rich",
|
|
20
|
+
# ]
|
|
21
|
+
# ///
|
|
22
|
+
import os
|
|
23
|
+
import pathlib
|
|
24
|
+
|
|
25
|
+
import rich
|
|
26
|
+
import tomlkit
|
|
27
|
+
import tomlkit.exceptions
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def get_master_version(master_pyproject_path):
|
|
31
|
+
"""Returns the version number of the master project, i.e. cgse."""
|
|
32
|
+
|
|
33
|
+
with open(master_pyproject_path, "r") as file:
|
|
34
|
+
data = tomlkit.parse(file.read())
|
|
35
|
+
|
|
36
|
+
return data["project"]["version"]
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def update_project_version(project_dir, new_version):
|
|
40
|
+
"""Updates the version of the subproject."""
|
|
41
|
+
|
|
42
|
+
os.chdir(project_dir)
|
|
43
|
+
|
|
44
|
+
# Check if the Poetry version is defined, otherwise print a message.
|
|
45
|
+
|
|
46
|
+
with open("pyproject.toml", "r") as file:
|
|
47
|
+
data = tomlkit.parse(file.read())
|
|
48
|
+
|
|
49
|
+
try:
|
|
50
|
+
data["project"]["version"] = new_version
|
|
51
|
+
|
|
52
|
+
with open("pyproject.toml", "w") as file:
|
|
53
|
+
tomlkit.dump(data, file)
|
|
54
|
+
|
|
55
|
+
except tomlkit.exceptions.NonExistentKey:
|
|
56
|
+
rich.print(f"[red]\[project.version] is not defined in pyproject.toml in {project_dir}[/]")
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def update_all_projects_in_monorepo(root_dir):
|
|
60
|
+
"""Updates all pyproject.toml files with the master version number."""
|
|
61
|
+
|
|
62
|
+
excluded_subdirs = ["__pycache__", ".venv", ".git", ".idea", "cgse/build", "cgse/dist"]
|
|
63
|
+
|
|
64
|
+
master_version = get_master_version(os.path.join(root_dir, "pyproject.toml"))
|
|
65
|
+
|
|
66
|
+
rich.print(f"Projects will be bumped to version {master_version}")
|
|
67
|
+
|
|
68
|
+
for subdir, dirs, files in os.walk(root_dir):
|
|
69
|
+
if subdir == "." or subdir == ".." or any(excluded in subdir for excluded in excluded_subdirs):
|
|
70
|
+
# rich.print(f"rejected {subdir = }")
|
|
71
|
+
continue
|
|
72
|
+
if "pyproject.toml" in files and subdir != str(root_dir): # Skip the master pyproject.toml
|
|
73
|
+
print(f"Updating version for project in {subdir}")
|
|
74
|
+
update_project_version(subdir, master_version)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
if __name__ == "__main__":
|
|
78
|
+
monorepo_root = pathlib.Path(__file__).parent.resolve()
|
|
79
|
+
|
|
80
|
+
cwd = os.getcwd()
|
|
81
|
+
os.chdir(monorepo_root)
|
|
82
|
+
|
|
83
|
+
update_all_projects_in_monorepo(monorepo_root)
|
|
84
|
+
|
|
85
|
+
os.chdir(cwd)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
|
|
2
|
+

|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
# Generic Functionality used in the Common-EGSE
|
|
8
|
+
|
|
9
|
+
This package 'cgse-common' contains functionality that is used by all `cgse` sub-packages, but it is designed to be a stand-alone generic package that can be used also in any other project.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
Install the package using pip:
|
|
15
|
+
|
|
16
|
+
$ pip install cgse-common
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
All functionality resides in the package `egse`. As an example, if you need a standard way to format your timestamp, use the `format_datetime()` function from `egse.system`:
|
|
22
|
+
|
|
23
|
+
>>> from egse.system import format_datetime
|
|
24
|
+
>>> print(format_datetime())
|
|
25
|
+
2023-10-10T08:41:51.937+0000
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## Included Functionality
|
|
29
|
+
|
|
30
|
+
A non-comprehensive list of available functionality:
|
|
31
|
+
|
|
32
|
+
### Functionality of General Use
|
|
33
|
+
|
|
34
|
+
* **egse.bits**: contains a number of convenience functions to work with bits, bytes and integers
|
|
35
|
+
* **egse.decorators**: a collection of useful decorator functions
|
|
36
|
+
* **egse.reload**: a slightly better approach to reloading modules and function than the standard importlib.reload() function.
|
|
37
|
+
* **egse.resource**: provides convenience functions to use resources in your code without the need to specify an absolute path
|
|
38
|
+
* **egse.system**: defines convenience functions that provide information on system specific functionality like, file system interactions, timing, operating system interactions, etc.
|
|
39
|
+
* **egse.version**: functionality to retrieve the package version information
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "cgse-common"
|
|
3
|
+
version = "2025.0.2"
|
|
4
|
+
description = "Software framework to support hardware testing"
|
|
5
|
+
authors = [
|
|
6
|
+
{name = "IVS KU Leuven"}
|
|
7
|
+
]
|
|
8
|
+
maintainers = [
|
|
9
|
+
{name = "Rik Huygen", email = "rik.huygen@kuleuven.be"},
|
|
10
|
+
{name = "Sara Regibo", email = "sara.regibo@kuleuven.be"}
|
|
11
|
+
]
|
|
12
|
+
readme = {"file" = "README.md", "content-type" = "text/markdown"}
|
|
13
|
+
requires-python = ">=3.9"
|
|
14
|
+
license = "MIT"
|
|
15
|
+
keywords = [
|
|
16
|
+
"CGSE",
|
|
17
|
+
"Common-EGSE",
|
|
18
|
+
"hardware testing",
|
|
19
|
+
"software framework"
|
|
20
|
+
]
|
|
21
|
+
dependencies = [
|
|
22
|
+
"click>=8.1.8",
|
|
23
|
+
"deepdiff>=8.1.1",
|
|
24
|
+
"distro>=1.9.0",
|
|
25
|
+
"gitpython>=3.1.44",
|
|
26
|
+
"numpy==1.22.4",
|
|
27
|
+
"pandas>=1.5.1",
|
|
28
|
+
"pip>=24.3.1", # only used in setup
|
|
29
|
+
"prometheus-client>=0.21.1",
|
|
30
|
+
"psutil>=6.1.1",
|
|
31
|
+
"pyyaml>=6.0.2",
|
|
32
|
+
"pyzmq == 23.2.1",
|
|
33
|
+
"rich>=13.9.4",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
[project.entry-points."cgse.version"]
|
|
37
|
+
cgse-common = 'egse'
|
|
38
|
+
|
|
39
|
+
[tool.pytest.ini_options]
|
|
40
|
+
pythonpath = "src"
|
|
41
|
+
testpaths = ["tests"]
|
|
42
|
+
addopts = "-ra --cov --cov-report html"
|
|
43
|
+
filterwarnings = [
|
|
44
|
+
"ignore::DeprecationWarning"
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
[tool.coverage.run]
|
|
48
|
+
omit = [
|
|
49
|
+
"tests/*",
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
[tool.hatch.build.targets.sdist]
|
|
53
|
+
exclude = [
|
|
54
|
+
"/tests",
|
|
55
|
+
"/pytest.ini",
|
|
56
|
+
"/.gitignore",
|
|
57
|
+
"/*poetry*",
|
|
58
|
+
"/*setuptools*",
|
|
59
|
+
]
|
|
60
|
+
|
|
61
|
+
[tool.hatch.build.targets.wheel]
|
|
62
|
+
packages = ["src/egse"]
|
|
63
|
+
|
|
64
|
+
[tool.ruff]
|
|
65
|
+
line-length = 120
|
|
66
|
+
|
|
67
|
+
[tool.ruff.lint]
|
|
68
|
+
extend-select = ["E", "W"]
|
|
69
|
+
|
|
70
|
+
[build-system]
|
|
71
|
+
requires = ["hatchling"]
|
|
72
|
+
build-backend = "hatchling.build"
|
|
73
|
+
|
|
74
|
+
[dependency-groups]
|
|
75
|
+
dev = [
|
|
76
|
+
"pytest>=8.3.4",
|
|
77
|
+
"pytest-cov>=6.0.0",
|
|
78
|
+
"pytest-mock>=3.14.0",
|
|
79
|
+
"ruff>=0.9.0",
|
|
80
|
+
]
|