cgse 0.16.7__tar.gz → 0.16.8__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.7 → cgse-0.16.8}/PKG-INFO +1 -1
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/pyproject.toml +1 -1
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/pyproject.toml +1 -1
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/pyproject.toml +1 -1
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/proxy.py +15 -7
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/registry/client.py +43 -11
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/registry/server.py +2 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/pyproject.toml +1 -1
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/pyproject.toml +1 -1
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/pyproject.toml +1 -1
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/pyproject.toml +1 -1
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/pyproject.toml +1 -1
- {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-fits/pyproject.toml +1 -1
- {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-hdf5/pyproject.toml +1 -1
- {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-spw/pyproject.toml +1 -1
- {cgse-0.16.7 → cgse-0.16.8}/pyproject.toml +1 -1
- {cgse-0.16.7 → cgse-0.16.8}/service_registry.db +0 -0
- cgse-0.16.8/service_registry.db-shm +0 -0
- cgse-0.16.8/service_registry.db-wal +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/.github/workflows/ruff-format-check.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/.gitignore +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/buffer_vat.log +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/buffer_vat.png +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/bump.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/conftest.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/bits.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/calibration.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/command.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/config.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/control.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/counter.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/decorators.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/device.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/dicts.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/dummy.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/env.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/exceptions.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/heartbeat.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/hk.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/index.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/listener.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/metrics.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/mixin.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/monitoring.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/observer.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/obsid.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/persistence.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/plugin.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/process.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/reload.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/settings.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/setup.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/api/system.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/custom_theme/main.html +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/coding_style.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/docs.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/index.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/installation.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/monitoring.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/monorepo.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/nox.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/plugins.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/project-configuration.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/unit_testing.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/uv.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/dev_guide/versioning.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/getting_started.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/help.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/images/cli-cgse.png +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/images/github-fork-clone-dark.png +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/images/github-fork-clone.png +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/images/grafana-queries.png +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/images/icons/cgse-logo-blue.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/images/icons/cgse-logo.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/index.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/initialize.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-common/images/load_methods.png +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-common/index.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-common/settings.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-common/setup.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-coordinates/index.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-core/index.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-core/notifyhub.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-core/registry.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/libs/cgse-gui/index.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/libs/index.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/package_list.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/projects/cgse-tools.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/projects/index.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/projects/symetrie-hexapod.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/roadmap.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/stylesheets/custom.css +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/stylesheets/extra.css +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/tutorial.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/user_guide/cli.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/docs/user_guide/index.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/duckdb_metrics.db +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/duckdb_metrics.db.wal +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/identifier.sqlite +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/justfile +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/justfile +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/noxfile.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/service_registry.db +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/cgse_common/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/cgse_common/cgse.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/cgse_common/settings.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/bits.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/calibration.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/config.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/counter.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/decorators.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/device.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/dicts.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/env.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/exceptions.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/heartbeat.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/hk.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/log.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/metrics.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/observer.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/obsid.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/persistence.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/plugin.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/plugins/metrics/duckdb.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/plugins/metrics/influxdb.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/plugins/metrics/timescaledb.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/process.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/py.typed +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/randomwalk.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/ratelimit.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/reload.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/resource.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/response.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/scpi.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/settings.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/settings.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/setup.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/signal.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/socketdevice.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/state.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/system.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/task.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/version.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/src/egse/zmq_ser.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/conftest.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/COPYING +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00028_201028_155259.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00029_201028_155331.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00030_210311_134043.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00080_210917_105245.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00081_210922_142259.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00082_210923_094458.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL1/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/CSL2/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/IAS/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/INTA/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/LAB23/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00027_211119_140441.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00028_211119_160406.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00029_211119_172918.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00030_211122_103604.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00031_211123_124900.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/common/telemetry/tm-dictionary-default.csv +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/conf/SETUP_20250114_1519.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/conf/config-file.toml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/cal_coeff_1234.csv +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/calibration.csv +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/calibration.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/command.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/corrupt.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/data-file.txt +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/empty_data_file.txt +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/empty_yaml_file.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/local_settings.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/new_local_settings.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/data/test_setup.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/icons/hourglass.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/icons/keyboard.png +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/icons/soap_sponge.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/lib/dev1/shared-lib.so +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/data/lib/dev2/shared-lib.so +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/fixtures/default_env.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/fixtures/helpers.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/scripts/empty_process.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/scripts/handle_sigterm.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/scripts/process_with_children.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/scripts/raise_value_error.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/scripts/void-0.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/scripts/void-1.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_bits.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_config.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_decorators.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_device.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_env.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_fixtures.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_hk.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_influxdb_plugin.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_log.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_metrics.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_plugin.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_process.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_ratelimit.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_resource.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_response.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_settings.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_setup.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_signal.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_state.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_system.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_task.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-common/tests/test_zmq_ser.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/cgse_coordinates/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/cgse_coordinates/settings.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/avoidance.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/cslmodel.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/laser_tracker_to_dict.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/point.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/pyplot.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/referenceFrame.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/refmodel.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/rotationMatrix.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/src/egse/coordinates/transform3d_addon.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_avoidance.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_coordinates_plot.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_coordinates_serialize.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_point.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_ref_model.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_reference_frames.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-coordinates/tests/test_refmodel.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/.envrc.disabled +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/service_registry.db +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/_start.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/_status.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/_stop.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/cgse_explore.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/services.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/cgse_core/settings.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/_setup_core.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/async_control.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/async_control_claude.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/command.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/confman/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/confman/__main__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/confman/confman.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/confman/confman_cs.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/connect-todo.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/connect.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/control.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/dummy.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/busy.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/operational-mode.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/pm_ui.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/simulator-mode.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/start-process-button.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/stop-process-button.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/icons/user-interface.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/listener.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/logger/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/logger/__main__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/logger/log_cs.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/metricshub/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/metricshub/server.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/mixin.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/monitoring.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/notifyhub/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/notifyhub/client.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/notifyhub/event.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/notifyhub/server.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/notifyhub/services.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/notifyhub/test.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/procman/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/procman/procman.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/procman/procman_cs.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/procman/procman_protocol.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/procman/procman_ui.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/protocol.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/registry/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/registry/backend.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/registry/service.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/services.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/services.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/storage/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/storage/__main__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/storage/persistence.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/storage/storage.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/src/egse/storage/storage_cs.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/conftest.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/data/local_settings.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/fixtures/default_env.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/fixtures/helpers.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/fixtures/services.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/script_subscribe_to_notifyhub.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/script_test_async_registry_client.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/script_test_registry_client_server.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/script_test_service_registry_server.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/script_test_sync_registry_client.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/services.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/stress_test_registry_server.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_async_control.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_client_server_interaction.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_cm_cs.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_command.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_confman_setups.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_connect.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_control.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_dummy.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_event_notification.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_extensions.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_listener.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_logger.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_mixin.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_notify_hub.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_protocol.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_registry_backend.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_registry_service.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_server_running.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_server_running_with_fixture.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_settings_core.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-core/tests/test_zmq_microservice.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/buttons.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-start.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-stop.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/aeu-cs.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-started.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-stopped.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/aeu_cs.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/alert.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/arrow-double-left.png +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/arrow-double-right.png +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/arrow-up.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/backward.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/busy.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/cleaning.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/color-scheme.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/cs-connected-alert.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/cs-connected-disabled.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/cs-connected.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/cs-not-connected.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/double-left-arrow.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/double-right-arrow.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/erase-disabled.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/erase.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/fitsgen-start.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/fitsgen-stop.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/fitsgen.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/forward.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/fov-hk-start.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/fov-hk-stop.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/fov-hk.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/front-desk.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/home-actioned.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/home-disabled.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/home.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/info.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/invalid.png +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-green.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-grey.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-orange.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-red.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-square-green.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-square-grey.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-square-orange.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/led-square-red.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-green.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-red.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el+.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el-.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/location-marker.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-dpu.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-gimbal.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-huber.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-ogse.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-puna.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-tcs.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/logo-zonda.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/maximize.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/meter.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/more.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-start.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-stop.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/observing-off.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/observing-on.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.png +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/ops-mode.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/play-green.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/plugged-disabled.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/plugged.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/pm_ui.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/power-button-green.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/power-button-red.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/power-button.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/radar.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/radioactive.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/reload.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/remote-control-off.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/remote-control-on.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/repeat-blue.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/repeat.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/settings.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/shrink.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/shutter.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/sign-off.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/sign-on.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/sim-mode.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/small-buttons-go.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/small-buttons-minus.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/small-buttons-plus.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/sponge.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/start-button-disabled.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/start-button.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/stop-button-disabled.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/stop-button.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/stop-red.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/stop.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/switch-disabled-square.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/switch-disabled.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/switch-off-square.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/switch-off.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/switch-on-square.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/switch-on.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/temperature-control.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/th_ui_logo.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/unplugged.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/unvalid.png +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/user-interface.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/vacuum.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/valid.png +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-dark.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-white.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/led.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/limitswitch.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/states.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/styles/dark.qss +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/styles/default.qss +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/styles.qss +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/libs/cgse-gui/src/egse/gui/switch.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/mkdocs.yml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/noxfile.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/overrides/.icons/custom/dbend-dark.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/overrides/.icons/custom/dbend-light.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/overrides/.icons/custom/gear.svg +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/src/cgse_tools/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/src/cgse_tools/cgse_clock.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/src/cgse_tools/cgse_commands.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/src/cgse_tools/cgse_services.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/cgse-tools/src/egse/tools/status.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/justfile +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/noxfile.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/service_registry.db +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_acs.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_adev.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_cs.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_dev.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_mon.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_protocol.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_sim.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_explore.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_services.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/settings.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/temperature_readings.log +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/tests/script_daq6510_central_heating.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/tests/script_daq6510_mon.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/tests/script_plot_readings.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/tests/test_adev.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/keithley-tempcontrol/tests/test_dev.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_cs.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_devif.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_protocol.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_explore.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_services.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/settings.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/lakeshore-tempcontrol/tests/test_lakeshore336_simulator.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/alpha.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/dynalpha.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod_ui.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_cs.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_protocol.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_ui.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac_regex.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_cs.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_protocol.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_sim.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_ui.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/punaplus.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_cs.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_devif.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_protocol.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_ui.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/__init__.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_explore.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_services.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/settings.yaml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/tests/test_puna.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/tests/test_puna_cs.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/generic/symetrie-hexapod/tests/test_puna_simulator.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-fits/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-fits/src/egse/plugins/storage/fits.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-hdf5/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-hdf5/src/egse/plugins/storage/hdf5.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-spw/README.md +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/projects/plato/plato-spw/src/egse/spw.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/ruff.toml +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/scratch/advanced-process-monitoring.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/scratch/live-process-monitoring.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/scratch/match-case.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/scratch/processes.json +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/scratch/simple-process-monitoring.py +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/temperature_readings.log +0 -0
- {cgse-0.16.7 → cgse-0.16.8}/test_service_registry.db +0 -0
|
@@ -13,6 +13,7 @@ from types import MethodType
|
|
|
13
13
|
|
|
14
14
|
import zmq
|
|
15
15
|
|
|
16
|
+
from egse.connect import VERBOSE_DEBUG
|
|
16
17
|
from egse.decorators import dynamic_interface
|
|
17
18
|
from egse.log import logger
|
|
18
19
|
from egse.mixin import DynamicClientCommandMixin
|
|
@@ -102,7 +103,7 @@ class BaseProxy(ControlServerConnectionInterface):
|
|
|
102
103
|
for a reply from the control server.
|
|
103
104
|
"""
|
|
104
105
|
|
|
105
|
-
self._logger =
|
|
106
|
+
self._logger = logger
|
|
106
107
|
|
|
107
108
|
self._ctx = zmq.Context.instance()
|
|
108
109
|
self._poller = zmq.Poller()
|
|
@@ -123,7 +124,8 @@ class BaseProxy(ControlServerConnectionInterface):
|
|
|
123
124
|
self.disconnect_cs()
|
|
124
125
|
|
|
125
126
|
def connect_cs(self):
|
|
126
|
-
|
|
127
|
+
if VERBOSE_DEBUG:
|
|
128
|
+
self._logger.debug(f"Trying to connect {self.__class__.__name__} to {self._endpoint}")
|
|
127
129
|
|
|
128
130
|
self._socket = self._ctx.socket(zmq.REQ)
|
|
129
131
|
self._socket.connect(self._endpoint)
|
|
@@ -135,7 +137,8 @@ class BaseProxy(ControlServerConnectionInterface):
|
|
|
135
137
|
self._poller.unregister(self._socket)
|
|
136
138
|
|
|
137
139
|
def reconnect_cs(self):
|
|
138
|
-
|
|
140
|
+
if VERBOSE_DEBUG:
|
|
141
|
+
self._logger.debug(f"Trying to reconnect {self.__class__.__name__} to {self._endpoint}")
|
|
139
142
|
|
|
140
143
|
if not self._socket.closed:
|
|
141
144
|
self._socket.close(linger=0)
|
|
@@ -145,7 +148,8 @@ class BaseProxy(ControlServerConnectionInterface):
|
|
|
145
148
|
self._poller.register(self._socket, zmq.POLLIN)
|
|
146
149
|
|
|
147
150
|
def reset_cs_connection(self):
|
|
148
|
-
|
|
151
|
+
if VERBOSE_DEBUG:
|
|
152
|
+
self._logger.debug(f"Trying to reset the connection from {self.__class__.__name__} to {self._endpoint}")
|
|
149
153
|
|
|
150
154
|
self.disconnect_cs()
|
|
151
155
|
self.connect_cs()
|
|
@@ -191,7 +195,9 @@ class BaseProxy(ControlServerConnectionInterface):
|
|
|
191
195
|
if self._socket.closed:
|
|
192
196
|
self.reconnect_cs()
|
|
193
197
|
|
|
194
|
-
|
|
198
|
+
if VERBOSE_DEBUG:
|
|
199
|
+
self._logger.debug(f"Sending '{data}'")
|
|
200
|
+
|
|
195
201
|
self._socket.send(pickle_string)
|
|
196
202
|
|
|
197
203
|
while True:
|
|
@@ -202,7 +208,8 @@ class BaseProxy(ControlServerConnectionInterface):
|
|
|
202
208
|
if not pickle_string:
|
|
203
209
|
break
|
|
204
210
|
response = pickle.loads(pickle_string)
|
|
205
|
-
|
|
211
|
+
if VERBOSE_DEBUG:
|
|
212
|
+
self._logger.debug(f"Receiving response: {response}")
|
|
206
213
|
return response
|
|
207
214
|
else:
|
|
208
215
|
# timeout - server unavailable
|
|
@@ -227,7 +234,8 @@ class BaseProxy(ControlServerConnectionInterface):
|
|
|
227
234
|
|
|
228
235
|
def ping(self):
|
|
229
236
|
return_code = self.send("Ping", retries=0, timeout=1.0)
|
|
230
|
-
|
|
237
|
+
if VERBOSE_DEBUG:
|
|
238
|
+
self._logger.debug(f"Check if control server is available: Ping - {return_code}")
|
|
231
239
|
return return_code == "Pong"
|
|
232
240
|
|
|
233
241
|
def get_endpoint(self) -> str:
|
|
@@ -461,6 +461,9 @@ class RegistryClient:
|
|
|
461
461
|
self.logger.warning("Cannot start heartbeat: no service is registered")
|
|
462
462
|
return None
|
|
463
463
|
|
|
464
|
+
# Cancel an existing heartbeat thread if present
|
|
465
|
+
self.stop_heartbeat()
|
|
466
|
+
|
|
464
467
|
# If interval not specified, use 1/3 of TTL
|
|
465
468
|
if interval is None:
|
|
466
469
|
interval = max(1, self._ttl // 3)
|
|
@@ -479,7 +482,7 @@ class RegistryClient:
|
|
|
479
482
|
self.logger.warning("ServiceRegistry not responding.")
|
|
480
483
|
return
|
|
481
484
|
else:
|
|
482
|
-
self.logger.info("Health check succeeded, reregistering
|
|
485
|
+
self.logger.info("Health check succeeded, reregistering...")
|
|
483
486
|
self.reregister()
|
|
484
487
|
|
|
485
488
|
else:
|
|
@@ -609,8 +612,6 @@ class AsyncRegistryClient:
|
|
|
609
612
|
# Default to receiving all events
|
|
610
613
|
self.sub_socket.setsockopt_string(zmq.SUBSCRIBE, "")
|
|
611
614
|
|
|
612
|
-
self._connect_hb_socket()
|
|
613
|
-
|
|
614
615
|
def _connect_hb_socket(self):
|
|
615
616
|
self.hb_socket = self.context.socket(zmq.REQ)
|
|
616
617
|
self.hb_socket.setsockopt(zmq.LINGER, 0) # Don't wait for unsent messages on close()
|
|
@@ -627,11 +628,10 @@ class AsyncRegistryClient:
|
|
|
627
628
|
self.sub_socket.close(linger=0)
|
|
628
629
|
self.sub_socket = None
|
|
629
630
|
|
|
630
|
-
self._disconnect_hb_socket()
|
|
631
|
-
|
|
632
631
|
def _disconnect_hb_socket(self):
|
|
633
632
|
if self.hb_socket:
|
|
634
|
-
self.hb_socket.
|
|
633
|
+
self.hb_socket.setsockopt(zmq.LINGER, 0)
|
|
634
|
+
self.hb_socket.close()
|
|
635
635
|
self.hb_socket = None
|
|
636
636
|
|
|
637
637
|
def _get_service_cache_lock(self):
|
|
@@ -653,10 +653,10 @@ class AsyncRegistryClient:
|
|
|
653
653
|
Returns:
|
|
654
654
|
The response from the registry as a dictionary.
|
|
655
655
|
"""
|
|
656
|
-
self.logger.debug(f"Sending request: {request}")
|
|
657
656
|
|
|
658
657
|
timeout = timeout or self.timeout
|
|
659
658
|
try:
|
|
659
|
+
self.logger.debug(f"Sending request: {request}")
|
|
660
660
|
await self.req_socket.send_multipart([msg_type.value, json.dumps(request).encode()])
|
|
661
661
|
|
|
662
662
|
try:
|
|
@@ -714,9 +714,9 @@ class AsyncRegistryClient:
|
|
|
714
714
|
except asyncio.TimeoutError:
|
|
715
715
|
self.logger.error(f"Heartbeat request timed out after {HEART_BEAT_TIMEOUT:.2f}s")
|
|
716
716
|
# Reset the socket to avoid invalid state
|
|
717
|
-
self.
|
|
718
|
-
|
|
719
|
-
self.
|
|
717
|
+
self._disconnect_hb_socket()
|
|
718
|
+
await asyncio.sleep(HEART_BEAT_RECONNECT)
|
|
719
|
+
self._connect_hb_socket()
|
|
720
720
|
return {"success": False, "error": "Heartbeat request timed out"}
|
|
721
721
|
except zmq.ZMQError as exc:
|
|
722
722
|
self.logger.error(f"ZMQ error: {exc}", exc_info=True)
|
|
@@ -816,6 +816,25 @@ class AsyncRegistryClient:
|
|
|
816
816
|
self.logger.error(f"Failed to deregister service: {response.get('error')}")
|
|
817
817
|
return False
|
|
818
818
|
|
|
819
|
+
async def reregister(self) -> str | None:
|
|
820
|
+
if not self._service_id:
|
|
821
|
+
self.logger.warning("Cannot reregister: no service is registered")
|
|
822
|
+
return None
|
|
823
|
+
|
|
824
|
+
if not self._service_info:
|
|
825
|
+
self.logger.warning(
|
|
826
|
+
"Cannot reregister: no service info was saved by this registry client or service already deregistered."
|
|
827
|
+
)
|
|
828
|
+
return None
|
|
829
|
+
|
|
830
|
+
return await self.register(
|
|
831
|
+
name=self._service_info["name"],
|
|
832
|
+
host=self._service_info["host"],
|
|
833
|
+
port=self._service_info["port"],
|
|
834
|
+
service_type=self._service_info["type"],
|
|
835
|
+
metadata=self._service_info["metadata"],
|
|
836
|
+
)
|
|
837
|
+
|
|
819
838
|
async def start_heartbeat(self, interval: int | None = None) -> asyncio.Task | None:
|
|
820
839
|
"""
|
|
821
840
|
Start sending heartbeats to the registry.
|
|
@@ -840,6 +859,8 @@ class AsyncRegistryClient:
|
|
|
840
859
|
self._running = True
|
|
841
860
|
|
|
842
861
|
async def heartbeat_loop():
|
|
862
|
+
self._connect_hb_socket()
|
|
863
|
+
|
|
843
864
|
try:
|
|
844
865
|
while self._running and self._service_id:
|
|
845
866
|
try:
|
|
@@ -849,8 +870,17 @@ class AsyncRegistryClient:
|
|
|
849
870
|
|
|
850
871
|
if not response.get("success"):
|
|
851
872
|
self.logger.warning(f"Heartbeat failed: {response.get('error')}")
|
|
873
|
+
|
|
874
|
+
# Do a health check
|
|
875
|
+
if not await self.health_check():
|
|
876
|
+
self.logger.warning("ServiceRegistry not responding.")
|
|
877
|
+
continue
|
|
878
|
+
else:
|
|
879
|
+
self.logger.info("Health check succeeded, reregistering...")
|
|
880
|
+
await self.reregister()
|
|
881
|
+
|
|
852
882
|
else:
|
|
853
|
-
self.logger.
|
|
883
|
+
self.logger.debug(response.get("message"))
|
|
854
884
|
except Exception as exc:
|
|
855
885
|
self.logger.error(f"Error in heartbeat loop: {exc}", exc_info=True)
|
|
856
886
|
|
|
@@ -858,6 +888,8 @@ class AsyncRegistryClient:
|
|
|
858
888
|
await asyncio.sleep(interval)
|
|
859
889
|
except asyncio.CancelledError:
|
|
860
890
|
self.logger.info("Heartbeat task cancelled")
|
|
891
|
+
finally:
|
|
892
|
+
self._disconnect_hb_socket()
|
|
861
893
|
|
|
862
894
|
# Start the heartbeat task
|
|
863
895
|
self._heartbeat_task = task = asyncio.create_task(heartbeat_loop())
|
|
@@ -490,6 +490,7 @@ class AsyncRegistryServer:
|
|
|
490
490
|
"status": "ok",
|
|
491
491
|
"req_port": self.req_port,
|
|
492
492
|
"pub_port": self.pub_port,
|
|
493
|
+
"hb_port": self.hb_port,
|
|
493
494
|
"services": services,
|
|
494
495
|
}
|
|
495
496
|
|
|
@@ -577,6 +578,7 @@ async def status(
|
|
|
577
578
|
Status: {response["status"]}
|
|
578
579
|
Requests port: {response["req_port"]}
|
|
579
580
|
Notifications port: {response["pub_port"]}
|
|
581
|
+
Heartbeat port: {response["hb_port"]}
|
|
580
582
|
Registrations: {", ".join([f"({x['name']}, {x['health']})" for x in response["services"]])}\
|
|
581
583
|
"""
|
|
582
584
|
)
|
|
index e914731..80cc010 100644
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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
|