cgse 0.16.5__tar.gz → 0.16.6__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-0.16.5 → cgse-0.16.6}/PKG-INFO +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/pyproject.toml +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/signal.py +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_influxdb_plugin.py +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_metrics.py +4 -1
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/pyproject.toml +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/pyproject.toml +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/confman/__init__.py +2 -1
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/dummy.py +3 -8
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/notifyhub/services.py +2 -2
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/procman/__init__.py +8 -2
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/proxy.py +14 -11
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/services.py +2 -2
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/storage/__init__.py +6 -2
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/script_test_registry_client_server.py +2 -2
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/script_test_service_registry_server.py +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/pyproject.toml +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/cgse-tools/pyproject.toml +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/pyproject.toml +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.py +2 -2
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/lakeshore-tempcontrol/pyproject.toml +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/pyproject.toml +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/projects/plato/plato-fits/pyproject.toml +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/projects/plato/plato-hdf5/pyproject.toml +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/projects/plato/plato-spw/pyproject.toml +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/pyproject.toml +1 -1
- {cgse-0.16.5 → cgse-0.16.6}/.github/workflows/ruff-format-check.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/.gitignore +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/buffer_vat.log +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/buffer_vat.png +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/bump.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/conftest.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/bits.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/calibration.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/command.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/config.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/control.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/counter.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/decorators.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/device.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/dicts.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/dummy.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/env.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/exceptions.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/heartbeat.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/hk.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/index.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/listener.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/metrics.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/mixin.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/monitoring.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/observer.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/obsid.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/persistence.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/plugin.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/process.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/reload.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/settings.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/setup.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/api/system.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/custom_theme/main.html +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/dev_guide/coding_style.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/dev_guide/docs.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/dev_guide/index.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/dev_guide/installation.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/dev_guide/monitoring.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/dev_guide/monorepo.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/dev_guide/nox.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/dev_guide/plugins.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/dev_guide/project-configuration.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/dev_guide/unit_testing.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/dev_guide/uv.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/dev_guide/versioning.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/getting_started.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/help.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/images/cli-cgse.png +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/images/github-fork-clone-dark.png +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/images/github-fork-clone.png +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/images/grafana-queries.png +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/images/icons/cgse-logo-blue.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/images/icons/cgse-logo.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/index.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/initialize.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/libs/cgse-common/images/load_methods.png +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/libs/cgse-common/index.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/libs/cgse-common/settings.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/libs/cgse-common/setup.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/libs/cgse-coordinates/index.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/libs/cgse-core/index.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/libs/cgse-core/notifyhub.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/libs/cgse-core/registry.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/libs/cgse-gui/index.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/libs/index.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/package_list.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/projects/cgse-tools.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/projects/index.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/projects/symetrie-hexapod.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/roadmap.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/stylesheets/custom.css +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/stylesheets/extra.css +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/tutorial.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/user_guide/cli.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/docs/user_guide/index.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/duckdb_metrics.db +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/duckdb_metrics.db.wal +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/identifier.sqlite +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/justfile +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/justfile +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/noxfile.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/service_registry.db +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/cgse_common/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/cgse_common/cgse.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/cgse_common/settings.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/bits.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/calibration.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/config.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/counter.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/decorators.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/device.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/dicts.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/env.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/exceptions.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/heartbeat.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/hk.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/log.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/metrics.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/observer.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/obsid.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/persistence.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/plugin.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/plugins/metrics/duckdb.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/plugins/metrics/influxdb.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/plugins/metrics/timescaledb.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/process.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/py.typed +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/randomwalk.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/ratelimit.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/reload.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/resource.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/response.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/scpi.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/settings.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/settings.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/setup.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/socketdevice.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/state.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/system.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/task.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/version.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/src/egse/zmq_ser.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/conftest.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/COPYING +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00028_201028_155259.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00029_201028_155331.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00030_210311_134043.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00080_210917_105245.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00081_210922_142259.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00082_210923_094458.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/CSL1/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/CSL2/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/IAS/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/INTA/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/LAB23/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00027_211119_140441.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00028_211119_160406.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00029_211119_172918.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00030_211122_103604.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00031_211123_124900.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/common/telemetry/tm-dictionary-default.csv +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/conf/SETUP_20250114_1519.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/conf/config-file.toml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/data/cal_coeff_1234.csv +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/data/calibration.csv +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/data/calibration.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/data/command.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/data/corrupt.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/data/data-file.txt +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/data/empty_data_file.txt +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/data/empty_yaml_file.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/data/local_settings.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/data/new_local_settings.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/data/test_setup.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/icons/hourglass.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/icons/keyboard.png +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/icons/soap_sponge.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/lib/dev1/shared-lib.so +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/data/lib/dev2/shared-lib.so +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/fixtures/default_env.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/fixtures/helpers.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/scripts/empty_process.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/scripts/handle_sigterm.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/scripts/process_with_children.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/scripts/raise_value_error.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/scripts/void-0.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/scripts/void-1.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_bits.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_config.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_decorators.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_device.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_env.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_fixtures.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_hk.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_log.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_plugin.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_process.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_ratelimit.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_resource.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_response.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_settings.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_setup.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_signal.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_state.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_system.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_task.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-common/tests/test_zmq_ser.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/src/cgse_coordinates/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/src/cgse_coordinates/settings.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/src/egse/coordinates/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/src/egse/coordinates/avoidance.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/src/egse/coordinates/cslmodel.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/src/egse/coordinates/laser_tracker_to_dict.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/src/egse/coordinates/point.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/src/egse/coordinates/pyplot.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/src/egse/coordinates/referenceFrame.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/src/egse/coordinates/refmodel.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/src/egse/coordinates/rotationMatrix.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/src/egse/coordinates/transform3d_addon.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/tests/test_avoidance.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/tests/test_coordinates_plot.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/tests/test_coordinates_serialize.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/tests/test_point.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/tests/test_ref_model.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/tests/test_reference_frames.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-coordinates/tests/test_refmodel.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/.envrc.disabled +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/service_registry.db +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/cgse_core/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/cgse_core/_start.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/cgse_core/_status.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/cgse_core/_stop.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/cgse_core/cgse_explore.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/cgse_core/services.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/cgse_core/settings.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/_setup_core.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/async_control.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/async_control_claude.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/command.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/confman/__main__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/confman/confman.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/confman/confman_cs.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/connect-todo.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/connect.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/control.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/icons/busy.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/icons/operational-mode.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/icons/pm_ui.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/icons/simulator-mode.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/icons/start-process-button.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/icons/stop-process-button.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/icons/user-interface.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/listener.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/logger/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/logger/__main__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/logger/log_cs.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/metricshub/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/metricshub/server.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/mixin.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/monitoring.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/notifyhub/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/notifyhub/client.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/notifyhub/event.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/notifyhub/server.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/notifyhub/test.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/procman/procman.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/procman/procman_cs.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/procman/procman_protocol.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/procman/procman_ui.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/protocol.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/registry/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/registry/backend.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/registry/client.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/registry/server.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/registry/service.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/services.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/storage/__main__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/storage/persistence.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/storage/storage.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/src/egse/storage/storage_cs.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/conftest.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/data/local_settings.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/fixtures/default_env.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/fixtures/helpers.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/fixtures/services.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/script_subscribe_to_notifyhub.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/script_test_async_registry_client.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/script_test_sync_registry_client.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/services.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/stress_test_registry_server.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_async_control.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_client_server_interaction.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_cm_cs.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_command.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_confman_setups.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_connect.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_control.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_dummy.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_event_notification.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_extensions.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_listener.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_logger.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_mixin.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_notify_hub.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_protocol.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_registry_backend.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_registry_service.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_server_running.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_server_running_with_fixture.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_settings_core.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-core/tests/test_zmq_microservice.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/buttons.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-start.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-stop.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/aeu-cs.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-started.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-stopped.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/aeu_cs.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/alert.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/arrow-double-left.png +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/arrow-double-right.png +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/arrow-up.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/backward.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/busy.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/cleaning.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/color-scheme.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/cs-connected-alert.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/cs-connected-disabled.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/cs-connected.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/cs-not-connected.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/double-left-arrow.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/double-right-arrow.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/erase-disabled.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/erase.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/fitsgen-start.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/fitsgen-stop.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/fitsgen.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/forward.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/fov-hk-start.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/fov-hk-stop.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/fov-hk.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/front-desk.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/home-actioned.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/home-disabled.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/home.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/info.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/invalid.png +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/led-green.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/led-grey.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/led-orange.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/led-red.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/led-square-green.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/led-square-grey.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/led-square-orange.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/led-square-red.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-green.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-red.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el+.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el-.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/location-marker.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/logo-dpu.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/logo-gimbal.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/logo-huber.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/logo-ogse.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/logo-puna.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/logo-tcs.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/logo-zonda.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/maximize.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/meter.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/more.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-start.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-stop.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/observing-off.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/observing-on.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.png +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/ops-mode.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/play-green.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/plugged-disabled.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/plugged.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/pm_ui.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/power-button-green.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/power-button-red.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/power-button.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/radar.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/radioactive.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/reload.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/remote-control-off.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/remote-control-on.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/repeat-blue.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/repeat.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/settings.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/shrink.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/shutter.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/sign-off.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/sign-on.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/sim-mode.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/small-buttons-go.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/small-buttons-minus.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/small-buttons-plus.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/sponge.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/start-button-disabled.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/start-button.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/stop-button-disabled.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/stop-button.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/stop-red.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/stop.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/switch-disabled-square.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/switch-disabled.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/switch-off-square.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/switch-off.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/switch-on-square.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/switch-on.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/temperature-control.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/th_ui_logo.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/unplugged.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/unvalid.png +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/user-interface.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/vacuum.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/valid.png +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-dark.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-white.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/led.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/limitswitch.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/states.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/styles/dark.qss +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/styles/default.qss +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/styles.qss +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/libs/cgse-gui/src/egse/gui/switch.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/mkdocs.yml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/noxfile.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/overrides/.icons/custom/dbend-dark.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/overrides/.icons/custom/dbend-light.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/overrides/.icons/custom/gear.svg +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/cgse-tools/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/cgse-tools/src/cgse_tools/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/cgse-tools/src/cgse_tools/cgse_clock.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/cgse-tools/src/cgse_tools/cgse_commands.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/cgse-tools/src/cgse_tools/cgse_services.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/cgse-tools/src/egse/tools/status.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/justfile +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/noxfile.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/service_registry.db +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_acs.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_adev.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_cs.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_dev.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_mon.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_protocol.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_sim.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_explore.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_services.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/settings.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/temperature_readings.log +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/tests/script_daq6510_central_heating.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/tests/script_daq6510_mon.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/tests/script_plot_readings.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/tests/test_adev.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/keithley-tempcontrol/tests/test_dev.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/lakeshore-tempcontrol/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_cs.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_devif.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_protocol.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_explore.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_services.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/settings.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/lakeshore-tempcontrol/tests/test_lakeshore336_simulator.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/alpha.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/dynalpha.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod_ui.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_cs.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_protocol.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_ui.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac_regex.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_cs.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_protocol.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_sim.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_ui.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/punaplus.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_cs.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_devif.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_protocol.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_ui.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/__init__.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_explore.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_services.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/settings.yaml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/tests/test_puna.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/tests/test_puna_cs.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/generic/symetrie-hexapod/tests/test_puna_simulator.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/plato/plato-fits/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/plato/plato-fits/src/egse/plugins/storage/fits.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/plato/plato-hdf5/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/plato/plato-hdf5/src/egse/plugins/storage/hdf5.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/plato/plato-spw/README.md +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/projects/plato/plato-spw/src/egse/spw.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/ruff.toml +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/scratch/advanced-process-monitoring.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/scratch/live-process-monitoring.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/scratch/match-case.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/scratch/processes.json +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/scratch/simple-process-monitoring.py +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/service_registry.db +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/temperature_readings.log +0 -0
- {cgse-0.16.5 → cgse-0.16.6}/test_service_registry.db +0 -0
|
@@ -158,7 +158,7 @@ class FileBasedSignaling:
|
|
|
158
158
|
"""Terminate the monitoring loop thread."""
|
|
159
159
|
self.running = False
|
|
160
160
|
if self.thread.is_alive():
|
|
161
|
-
self.thread.join(timeout=1)
|
|
161
|
+
self.thread.join(timeout=1.0)
|
|
162
162
|
|
|
163
163
|
|
|
164
164
|
def create_signal_command_file(signal_dir: Path, service_id: str, command: dict) -> None:
|
|
@@ -20,7 +20,7 @@ def test_influxdb_access():
|
|
|
20
20
|
influxdb = get_metrics_repo("influxdb", {"host": "http://localhost:8181", "database": "ARIEL", "token": token})
|
|
21
21
|
influxdb.connect()
|
|
22
22
|
|
|
23
|
-
result = influxdb.query("SELECT * FROM cm ORDER BY TIME DESC LIMIT 20", mode="pandas")
|
|
23
|
+
result = influxdb.query("SELECT * FROM cm WHERE time >= now() - INTERVAL '2 days' ORDER BY TIME DESC LIMIT 20", mode="pandas")
|
|
24
24
|
print(result)
|
|
25
25
|
assert isinstance(result, pd.DataFrame)
|
|
26
26
|
|
|
@@ -9,7 +9,10 @@ def test_get_metrics_repo():
|
|
|
9
9
|
influxdb = get_metrics_repo("influxdb", {"host": "http://localhost:8181", "database": "ARIEL", "token": token})
|
|
10
10
|
influxdb.connect()
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
# Don't use a too large time interval here, or you will get an error like:
|
|
13
|
+
# 'External error: Query would exceed file limit of 432 parquet files'
|
|
14
|
+
result = influxdb.query("SELECT * FROM cm WHERE time >= now() - INTERVAL '2 days' ORDER BY TIME DESC LIMIT 20",
|
|
15
|
+
mode="pandas")
|
|
13
16
|
print(result)
|
|
14
17
|
|
|
15
18
|
# result = influxdb.query("SHOW TABLES;")
|
|
@@ -181,7 +181,7 @@ MONITORING_PORT = settings.get("MONITORING_PORT", 0)
|
|
|
181
181
|
# CM_SETUP_ID = Gauge("CM_SETUP_ID", 'Setup ID')
|
|
182
182
|
# CM_TEST_ID = Gauge("CM_TEST_ID", 'Test ID')
|
|
183
183
|
|
|
184
|
-
PROXY_TIMEOUT =
|
|
184
|
+
PROXY_TIMEOUT = 10.0 # don't wait longer than 10s by default
|
|
185
185
|
|
|
186
186
|
|
|
187
187
|
def _push_setup_to_repo(filename: str, commit_msg: str) -> Failure | Success:
|
|
@@ -982,6 +982,7 @@ class ConfigurationManagerProxy(Proxy, ConfigurationManagerInterface):
|
|
|
982
982
|
from settings file]
|
|
983
983
|
port: TCP port on which the control server is listening for commands
|
|
984
984
|
[default is taken from settings file]
|
|
985
|
+
timeout: number of fractional seconds before a timeout is triggered
|
|
985
986
|
"""
|
|
986
987
|
|
|
987
988
|
def __init__(
|
|
@@ -35,15 +35,11 @@ and stopped with:
|
|
|
35
35
|
|
|
36
36
|
from __future__ import annotations
|
|
37
37
|
|
|
38
|
-
import contextlib
|
|
39
38
|
import multiprocessing
|
|
40
39
|
import random
|
|
41
40
|
import select
|
|
42
41
|
import socket
|
|
43
42
|
import sys
|
|
44
|
-
import threading
|
|
45
|
-
import time
|
|
46
|
-
from functools import partial
|
|
47
43
|
|
|
48
44
|
import typer
|
|
49
45
|
import zmq
|
|
@@ -62,7 +58,6 @@ from egse.proxy import Proxy
|
|
|
62
58
|
from egse.system import SignalCatcher
|
|
63
59
|
from egse.system import attrdict
|
|
64
60
|
from egse.system import format_datetime
|
|
65
|
-
from egse.system import type_name
|
|
66
61
|
from egse.zmq_ser import bind_address
|
|
67
62
|
from egse.zmq_ser import connect_address
|
|
68
63
|
|
|
@@ -96,7 +91,7 @@ ctrl_settings = attrdict(
|
|
|
96
91
|
"SERVICE_PORT": 4444,
|
|
97
92
|
"MONITORING_PORT": 4445,
|
|
98
93
|
"PROTOCOL": "tcp",
|
|
99
|
-
"TIMEOUT":
|
|
94
|
+
"TIMEOUT": 10.0,
|
|
100
95
|
"HK_DELAY": 1.0,
|
|
101
96
|
}
|
|
102
97
|
)
|
|
@@ -172,7 +167,7 @@ class DummyProxy(Proxy, DummyInterface):
|
|
|
172
167
|
protocol: the transport protocol [default is taken from settings file]
|
|
173
168
|
hostname: location of the control server (IP address) [default is taken from settings file]
|
|
174
169
|
port: TCP port on which the control server is listening for commands [default is taken from settings file]
|
|
175
|
-
timeout: a socket timeout in
|
|
170
|
+
timeout: a socket timeout in seconds
|
|
176
171
|
"""
|
|
177
172
|
|
|
178
173
|
def __init__(
|
|
@@ -180,7 +175,7 @@ class DummyProxy(Proxy, DummyInterface):
|
|
|
180
175
|
protocol: str = ctrl_settings.PROTOCOL,
|
|
181
176
|
hostname: str = ctrl_settings.HOSTNAME,
|
|
182
177
|
port: int = ctrl_settings.COMMANDING_PORT,
|
|
183
|
-
timeout:
|
|
178
|
+
timeout: float = ctrl_settings.TIMEOUT,
|
|
184
179
|
):
|
|
185
180
|
super().__init__(connect_address(protocol, hostname, port), timeout=timeout)
|
|
186
181
|
|
|
@@ -111,7 +111,7 @@ class AsyncEventSubscriber:
|
|
|
111
111
|
|
|
112
112
|
while self.running:
|
|
113
113
|
try:
|
|
114
|
-
if await self.subscriber.poll(timeout=1000):
|
|
114
|
+
if await self.subscriber.poll(timeout=1000): # timeout in milliseconds
|
|
115
115
|
topic, message_bytes = await self.subscriber.recv_multipart()
|
|
116
116
|
|
|
117
117
|
event_type = topic.decode()
|
|
@@ -269,7 +269,7 @@ class EventSubscriber:
|
|
|
269
269
|
return self.subscriber
|
|
270
270
|
|
|
271
271
|
def poll(self, timeout=1000):
|
|
272
|
-
return self.subscriber.poll(timeout=timeout)
|
|
272
|
+
return self.subscriber.poll(timeout=timeout) # timeout in milliseconds
|
|
273
273
|
|
|
274
274
|
def handle_event(self, return_event_data: bool = False) -> dict:
|
|
275
275
|
topic, message_bytes = self.subscriber.recv_multipart()
|
|
@@ -22,7 +22,8 @@ LOGGER = logging.getLogger("egse.procman")
|
|
|
22
22
|
|
|
23
23
|
settings = Settings.load("Process Manager Control Server")
|
|
24
24
|
COMMAND_SETTINGS = Settings.load(location=HERE, filename="procman.yaml")
|
|
25
|
-
|
|
25
|
+
|
|
26
|
+
PROXY_TIMEOUT = 10.0 # don't wait longer than 10s
|
|
26
27
|
|
|
27
28
|
SERVICE_TYPE = settings.get("SERVICE_TYPE", "pm_cs")
|
|
28
29
|
PROTOCOL = settings.get("PROTOCOL", "tcp")
|
|
@@ -394,7 +395,11 @@ class ProcessManagerProxy(Proxy, ProcessManagerInterface):
|
|
|
394
395
|
"""Proxy for process management, used to connect to the Process Manager Control Server and send commands remotely."""
|
|
395
396
|
|
|
396
397
|
def __init__(
|
|
397
|
-
|
|
398
|
+
self,
|
|
399
|
+
protocol: str = PROTOCOL,
|
|
400
|
+
hostname: str = HOSTNAME,
|
|
401
|
+
port: int = COMMANDING_PORT,
|
|
402
|
+
timeout: float = PROXY_TIMEOUT
|
|
398
403
|
):
|
|
399
404
|
"""
|
|
400
405
|
Initialisation of a new Proxy for Process Management.
|
|
@@ -406,6 +411,7 @@ class ProcessManagerProxy(Proxy, ProcessManagerInterface):
|
|
|
406
411
|
protocol (str): Transport protocol
|
|
407
412
|
hostname (str): Location of the control server (IP address)
|
|
408
413
|
port (int): TCP port on which the Control Server is listening for commands
|
|
414
|
+
timeout (float): number of fractional seconds before a timeout occurs
|
|
409
415
|
"""
|
|
410
416
|
|
|
411
417
|
endpoint = get_endpoint(settings.SERVICE_TYPE, protocol, hostname, port)
|
|
@@ -31,7 +31,7 @@ def set_docstring(func, cmd):
|
|
|
31
31
|
return wrap_func
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
REQUEST_TIMEOUT = 30
|
|
34
|
+
REQUEST_TIMEOUT = 30.0 # timeout in seconds
|
|
35
35
|
REQUEST_RETRIES = 0
|
|
36
36
|
|
|
37
37
|
|
|
@@ -93,10 +93,13 @@ class ControlServerConnectionInterface:
|
|
|
93
93
|
|
|
94
94
|
|
|
95
95
|
class BaseProxy(ControlServerConnectionInterface):
|
|
96
|
-
def __init__(self, endpoint: str, timeout:
|
|
96
|
+
def __init__(self, endpoint: str, timeout: float = REQUEST_TIMEOUT):
|
|
97
97
|
"""
|
|
98
|
-
The
|
|
99
|
-
|
|
98
|
+
The endpoint is a string that is constructed from the protocol, hostname
|
|
99
|
+
and port number and has the format: `protocol://hostname:port`.
|
|
100
|
+
|
|
101
|
+
The `timeout` argument specifies the number of fractional seconds to wait
|
|
102
|
+
for a reply from the control server.
|
|
100
103
|
"""
|
|
101
104
|
|
|
102
105
|
self._logger = logging.getLogger(self.__class__.__name__)
|
|
@@ -150,7 +153,7 @@ class BaseProxy(ControlServerConnectionInterface):
|
|
|
150
153
|
def is_cs_connected(self) -> bool:
|
|
151
154
|
return self.ping()
|
|
152
155
|
|
|
153
|
-
def send(self, data, retries: int = REQUEST_RETRIES, timeout:
|
|
156
|
+
def send(self, data, retries: int = REQUEST_RETRIES, timeout: float | None = None):
|
|
154
157
|
"""
|
|
155
158
|
Sends a command to the control server and waits for a response.
|
|
156
159
|
|
|
@@ -166,14 +169,14 @@ class BaseProxy(ControlServerConnectionInterface):
|
|
|
166
169
|
Args:
|
|
167
170
|
data (str): the command that is sent to the control server, usually a
|
|
168
171
|
string, but that is not enforced.
|
|
169
|
-
timeout (int): the time to wait for a reply [in
|
|
172
|
+
timeout (int): the time to wait for a reply [in seconds]
|
|
170
173
|
retries (int): the number of time we should retry to send the message
|
|
171
174
|
|
|
172
175
|
Returns:
|
|
173
176
|
response: the response from the control server or ``None`` when there was
|
|
174
177
|
a problem or a timeout.
|
|
175
178
|
"""
|
|
176
|
-
|
|
179
|
+
timeout_ms = int((timeout or self._timeout) * 1000)
|
|
177
180
|
|
|
178
181
|
pickle_string = pickle.dumps(data)
|
|
179
182
|
|
|
@@ -192,7 +195,7 @@ class BaseProxy(ControlServerConnectionInterface):
|
|
|
192
195
|
self._socket.send(pickle_string)
|
|
193
196
|
|
|
194
197
|
while True:
|
|
195
|
-
socks = dict(self._poller.poll(
|
|
198
|
+
socks = dict(self._poller.poll(timeout_ms))
|
|
196
199
|
|
|
197
200
|
if self._socket in socks and socks[self._socket] == zmq.POLLIN:
|
|
198
201
|
pickle_string = self._socket.recv()
|
|
@@ -223,7 +226,7 @@ class BaseProxy(ControlServerConnectionInterface):
|
|
|
223
226
|
self._socket.send(pickle_string)
|
|
224
227
|
|
|
225
228
|
def ping(self):
|
|
226
|
-
return_code = self.send("Ping", retries=0, timeout=
|
|
229
|
+
return_code = self.send("Ping", retries=0, timeout=1.0)
|
|
227
230
|
self._logger.log(0, f"Check if control server is available: Ping - {return_code}")
|
|
228
231
|
return return_code == "Pong"
|
|
229
232
|
|
|
@@ -278,7 +281,7 @@ class Proxy(BaseProxy, ControlServerConnectionInterface):
|
|
|
278
281
|
during initialization, a ConnectionError will be raised.
|
|
279
282
|
"""
|
|
280
283
|
|
|
281
|
-
def __init__(self, endpoint, timeout:
|
|
284
|
+
def __init__(self, endpoint, timeout: float = REQUEST_TIMEOUT):
|
|
282
285
|
"""
|
|
283
286
|
During initialization, the Proxy will connect to the control server and send a
|
|
284
287
|
handshaking `Ping` command. When that succeeds the Proxy will request and load the
|
|
@@ -287,7 +290,7 @@ class Proxy(BaseProxy, ControlServerConnectionInterface):
|
|
|
287
290
|
can fix the problem with the control server and call `connect_cs()`, followed by a call to
|
|
288
291
|
`load_commands()`.
|
|
289
292
|
|
|
290
|
-
The `timeout` argument specifies the number of
|
|
293
|
+
The `timeout` argument specifies the number of seconds
|
|
291
294
|
"""
|
|
292
295
|
|
|
293
296
|
super().__init__(endpoint, timeout)
|
|
@@ -227,7 +227,7 @@ class ServiceProxy(Proxy, ServiceInterface):
|
|
|
227
227
|
protocol: str = "tcp",
|
|
228
228
|
hostname: str = None,
|
|
229
229
|
port: int = None,
|
|
230
|
-
timeout:
|
|
230
|
+
timeout: float = REQUEST_TIMEOUT,
|
|
231
231
|
):
|
|
232
232
|
"""
|
|
233
233
|
The Service Proxy class is used to send service commands to the control server.
|
|
@@ -237,7 +237,7 @@ class ServiceProxy(Proxy, ServiceInterface):
|
|
|
237
237
|
protocol: the transport protocol [default: tcp]
|
|
238
238
|
hostname: the IP address of the control server
|
|
239
239
|
port: the port on which the control server is listening for service commands
|
|
240
|
-
timeout: number of
|
|
240
|
+
timeout: number of fractional seconds before a timeout is triggered
|
|
241
241
|
"""
|
|
242
242
|
|
|
243
243
|
if hostname is None or port is None:
|
|
@@ -1067,11 +1067,15 @@ class StorageProxy(Proxy, StorageInterface):
|
|
|
1067
1067
|
[default is taken from settings file]
|
|
1068
1068
|
port: TCP port on which the control server is listening for commands
|
|
1069
1069
|
[default is taken from settings file]
|
|
1070
|
-
|
|
1070
|
+
timeout (float): number of fractional seconds before a timeout occurs
|
|
1071
1071
|
"""
|
|
1072
1072
|
|
|
1073
1073
|
def __init__(
|
|
1074
|
-
|
|
1074
|
+
self,
|
|
1075
|
+
protocol: str = PROTOCOL,
|
|
1076
|
+
hostname: str = HOSTNAME,
|
|
1077
|
+
port: int = COMMANDING_PORT,
|
|
1078
|
+
timeout: float = REQUEST_TIMEOUT,
|
|
1075
1079
|
):
|
|
1076
1080
|
endpoint = get_endpoint(settings.SERVICE_TYPE, protocol, hostname, port)
|
|
1077
1081
|
|
|
@@ -62,7 +62,7 @@ def test_proper_termination_of_tasks_sync(
|
|
|
62
62
|
registry_req_endpoint=f"tcp://{host}:{req_port}",
|
|
63
63
|
registry_sub_endpoint=f"tcp://{host}:{pub_port}",
|
|
64
64
|
registry_hb_endpoint=f"tcp://{host}:{hb_port}",
|
|
65
|
-
|
|
65
|
+
timeout=5.0,
|
|
66
66
|
)
|
|
67
67
|
client.connect()
|
|
68
68
|
|
|
@@ -106,7 +106,7 @@ async def test_proper_termination_of_tasks_async(
|
|
|
106
106
|
registry_req_endpoint=f"tcp://{host}:{req_port}",
|
|
107
107
|
registry_sub_endpoint=f"tcp://{host}:{pub_port}",
|
|
108
108
|
registry_hb_endpoint=f"tcp://{host}:{hb_port}",
|
|
109
|
-
|
|
109
|
+
timeout=5.0,
|
|
110
110
|
)
|
|
111
111
|
client.connect()
|
|
112
112
|
|
|
@@ -187,7 +187,7 @@ async def send_request(request, timeout=5.0):
|
|
|
187
187
|
logger.debug("Request sent, waiting for response")
|
|
188
188
|
|
|
189
189
|
# Wait for response with poll and timeout
|
|
190
|
-
if await socket.poll(timeout=timeout * 1000) == 0:
|
|
190
|
+
if await socket.poll(timeout=int(timeout * 1000)) == 0:
|
|
191
191
|
logger.error(f"Timeout polling for response to {request.get('action')}")
|
|
192
192
|
raise TimeoutError(f"Timeout waiting for response to {request.get('action')}")
|
|
193
193
|
|
|
@@ -569,7 +569,7 @@ class DAQ6510Proxy(Proxy, DAQ6510Interface):
|
|
|
569
569
|
protocol: str = CTRL_SETTINGS.PROTOCOL,
|
|
570
570
|
hostname: str = CTRL_SETTINGS.HOSTNAME,
|
|
571
571
|
port: int = CTRL_SETTINGS.COMMANDING_PORT,
|
|
572
|
-
timeout:
|
|
572
|
+
timeout: float = CTRL_SETTINGS.TIMEOUT, # Timeout [s]: > scan count * interval + (one scan duration)
|
|
573
573
|
):
|
|
574
574
|
"""Initialisation of a DAQ6510Proxy.
|
|
575
575
|
|
|
@@ -578,7 +578,7 @@ class DAQ6510Proxy(Proxy, DAQ6510Interface):
|
|
|
578
578
|
hostname (str): Location of the Control Server (IP address) [default is taken from settings file]
|
|
579
579
|
port (int): TCP port on which the Control Server is listening for commands [default is taken from settings
|
|
580
580
|
file]
|
|
581
|
-
timeout (
|
|
581
|
+
timeout (float): Timeout by which to establish the connection [s]
|
|
582
582
|
"""
|
|
583
583
|
|
|
584
584
|
super().__init__(connect_address(protocol, hostname, port), timeout=timeout)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|