cgse 0.16.9__tar.gz → 0.16.10__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.9 → cgse-0.16.10}/PKG-INFO +1 -1
- {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-common/settings.md +4 -4
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/pyproject.toml +1 -1
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/pyproject.toml +1 -1
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/pyproject.toml +1 -1
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/settings.yaml +2 -2
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/logger/__init__.py +2 -1
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/logger/log_cs.py +2 -2
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/registry/client.py +11 -15
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/registry/server.py +27 -20
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/script_test_registry_client_server.py +3 -9
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/pyproject.toml +1 -1
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/pyproject.toml +1 -1
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/pyproject.toml +1 -1
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/pyproject.toml +1 -1
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/pyproject.toml +1 -1
- {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-fits/pyproject.toml +1 -1
- {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-hdf5/pyproject.toml +1 -1
- {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-spw/pyproject.toml +1 -1
- {cgse-0.16.9 → cgse-0.16.10}/pyproject.toml +1 -1
- {cgse-0.16.9 → cgse-0.16.10}/service_registry.db +0 -0
- cgse-0.16.9/service_registry.db-shm +0 -0
- cgse-0.16.9/service_registry.db-wal +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/.github/workflows/ruff-format-check.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/.gitignore +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/buffer_vat.log +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/buffer_vat.png +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/bump.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/conftest.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/bits.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/calibration.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/command.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/config.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/control.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/counter.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/decorators.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/device.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/dicts.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/dummy.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/env.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/exceptions.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/heartbeat.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/hk.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/index.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/listener.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/metrics.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/mixin.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/monitoring.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/observer.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/obsid.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/persistence.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/plugin.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/process.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/reload.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/settings.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/setup.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/api/system.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/custom_theme/main.html +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/coding_style.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/docs.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/index.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/installation.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/monitoring.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/monorepo.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/nox.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/plugins.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/project-configuration.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/unit_testing.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/uv.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/dev_guide/versioning.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/getting_started.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/help.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/images/cli-cgse.png +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/images/github-fork-clone-dark.png +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/images/github-fork-clone.png +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/images/grafana-queries.png +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/images/icons/cgse-logo-blue.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/images/icons/cgse-logo.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/index.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/initialize.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-common/images/load_methods.png +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-common/index.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-common/setup.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-coordinates/index.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-core/index.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-core/notifyhub.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-core/registry.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/libs/cgse-gui/index.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/libs/index.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/package_list.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/projects/cgse-tools.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/projects/index.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/projects/symetrie-hexapod.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/roadmap.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/stylesheets/custom.css +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/stylesheets/extra.css +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/tutorial.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/user_guide/cli.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/docs/user_guide/index.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/duckdb_metrics.db +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/duckdb_metrics.db.wal +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/identifier.sqlite +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/justfile +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/justfile +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/noxfile.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/service_registry.db +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/cgse_common/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/cgse_common/cgse.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/cgse_common/settings.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/bits.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/calibration.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/config.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/counter.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/decorators.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/device.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/dicts.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/env.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/exceptions.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/heartbeat.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/hk.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/log.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/metrics.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/observer.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/obsid.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/persistence.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/plugin.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/plugins/metrics/duckdb.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/plugins/metrics/influxdb.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/plugins/metrics/timescaledb.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/process.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/py.typed +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/randomwalk.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/ratelimit.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/reload.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/resource.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/response.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/scpi.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/settings.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/settings.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/setup.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/signal.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/socketdevice.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/state.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/system.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/task.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/version.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/src/egse/zmq_ser.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/conftest.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/COPYING +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00028_201028_155259.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00029_201028_155331.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00030_210311_134043.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00080_210917_105245.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00081_210922_142259.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00082_210923_094458.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL1/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/CSL2/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/IAS/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/INTA/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/LAB23/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00027_211119_140441.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00028_211119_160406.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00029_211119_172918.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00030_211122_103604.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00031_211123_124900.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/common/telemetry/tm-dictionary-default.csv +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/conf/SETUP_20250114_1519.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/conf/config-file.toml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/cal_coeff_1234.csv +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/calibration.csv +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/calibration.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/command.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/corrupt.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/data-file.txt +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/empty_data_file.txt +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/empty_yaml_file.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/local_settings.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/new_local_settings.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/data/test_setup.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/icons/hourglass.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/icons/keyboard.png +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/icons/soap_sponge.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/lib/dev1/shared-lib.so +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/data/lib/dev2/shared-lib.so +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/fixtures/default_env.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/fixtures/helpers.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/scripts/empty_process.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/scripts/handle_sigterm.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/scripts/process_with_children.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/scripts/raise_value_error.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/scripts/void-0.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/scripts/void-1.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_bits.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_config.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_decorators.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_device.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_env.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_fixtures.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_hk.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_influxdb_plugin.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_log.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_metrics.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_plugin.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_process.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_ratelimit.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_resource.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_response.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_settings.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_setup.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_signal.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_state.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_system.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_task.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-common/tests/test_zmq_ser.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/cgse_coordinates/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/cgse_coordinates/settings.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/avoidance.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/cslmodel.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/laser_tracker_to_dict.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/point.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/pyplot.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/referenceFrame.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/refmodel.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/rotationMatrix.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/src/egse/coordinates/transform3d_addon.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_avoidance.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_coordinates_plot.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_coordinates_serialize.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_point.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_ref_model.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_reference_frames.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-coordinates/tests/test_refmodel.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/.envrc.disabled +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/service_registry.db +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/_start.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/_status.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/_stop.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/cgse_explore.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/cgse_core/services.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/_setup_core.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/async_control.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/async_control_claude.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/command.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/confman/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/confman/__main__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/confman/confman.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/confman/confman_cs.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/connect-todo.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/connect.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/control.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/dummy.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/busy.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/operational-mode.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/pm_ui.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/simulator-mode.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/start-process-button.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/stop-process-button.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/icons/user-interface.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/listener.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/logger/__main__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/metricshub/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/metricshub/server.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/mixin.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/monitoring.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/notifyhub/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/notifyhub/client.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/notifyhub/event.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/notifyhub/server.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/notifyhub/services.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/notifyhub/test.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/procman/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/procman/procman.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/procman/procman_cs.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/procman/procman_protocol.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/procman/procman_ui.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/protocol.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/proxy.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/registry/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/registry/backend.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/registry/service.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/services.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/services.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/storage/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/storage/__main__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/storage/persistence.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/storage/storage.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/src/egse/storage/storage_cs.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/conftest.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/data/local_settings.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/fixtures/default_env.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/fixtures/helpers.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/fixtures/services.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/script_subscribe_to_notifyhub.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/script_test_async_registry_client.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/script_test_service_registry_server.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/script_test_sync_registry_client.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/services.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/stress_test_registry_server.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_async_control.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_client_server_interaction.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_cm_cs.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_command.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_confman_setups.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_connect.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_control.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_dummy.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_event_notification.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_extensions.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_listener.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_logger.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_mixin.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_notify_hub.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_protocol.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_registry_backend.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_registry_service.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_server_running.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_server_running_with_fixture.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_settings_core.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-core/tests/test_zmq_microservice.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/buttons.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-start.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-stop.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/aeu-cs.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-started.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-stopped.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/aeu_cs.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/alert.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/arrow-double-left.png +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/arrow-double-right.png +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/arrow-up.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/backward.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/busy.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/cleaning.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/color-scheme.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/cs-connected-alert.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/cs-connected-disabled.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/cs-connected.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/cs-not-connected.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/double-left-arrow.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/double-right-arrow.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/erase-disabled.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/erase.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/fitsgen-start.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/fitsgen-stop.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/fitsgen.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/forward.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/fov-hk-start.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/fov-hk-stop.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/fov-hk.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/front-desk.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/home-actioned.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/home-disabled.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/home.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/info.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/invalid.png +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-green.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-grey.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-orange.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-red.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-square-green.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-square-grey.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-square-orange.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/led-square-red.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-green.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-red.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el+.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el-.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/location-marker.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-dpu.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-gimbal.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-huber.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-ogse.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-puna.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-tcs.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/logo-zonda.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/maximize.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/meter.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/more.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-start.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-stop.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/observing-off.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/observing-on.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.png +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/ops-mode.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/play-green.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/plugged-disabled.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/plugged.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/pm_ui.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/power-button-green.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/power-button-red.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/power-button.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/radar.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/radioactive.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/reload.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/remote-control-off.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/remote-control-on.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/repeat-blue.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/repeat.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/settings.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/shrink.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/shutter.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/sign-off.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/sign-on.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/sim-mode.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/small-buttons-go.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/small-buttons-minus.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/small-buttons-plus.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/sponge.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/start-button-disabled.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/start-button.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/stop-button-disabled.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/stop-button.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/stop-red.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/stop.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/switch-disabled-square.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/switch-disabled.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/switch-off-square.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/switch-off.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/switch-on-square.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/switch-on.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/temperature-control.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/th_ui_logo.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/unplugged.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/unvalid.png +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/user-interface.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/vacuum.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/valid.png +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-dark.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-white.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/led.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/limitswitch.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/states.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/styles/dark.qss +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/styles/default.qss +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/styles.qss +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/libs/cgse-gui/src/egse/gui/switch.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/mkdocs.yml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/noxfile.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/overrides/.icons/custom/dbend-dark.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/overrides/.icons/custom/dbend-light.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/overrides/.icons/custom/gear.svg +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/src/cgse_tools/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/src/cgse_tools/cgse_clock.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/src/cgse_tools/cgse_commands.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/src/cgse_tools/cgse_services.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/cgse-tools/src/egse/tools/status.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/justfile +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/noxfile.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/service_registry.db +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_acs.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_adev.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_cs.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_dev.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_mon.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_protocol.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_sim.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_explore.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_services.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/settings.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/temperature_readings.log +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/tests/script_daq6510_central_heating.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/tests/script_daq6510_mon.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/tests/script_plot_readings.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/tests/test_adev.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/keithley-tempcontrol/tests/test_dev.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_cs.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_devif.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_protocol.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_explore.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_services.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/settings.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/lakeshore-tempcontrol/tests/test_lakeshore336_simulator.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/alpha.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/dynalpha.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod_ui.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_cs.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_protocol.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_ui.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac_regex.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_cs.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_protocol.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_sim.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_ui.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/punaplus.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_cs.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_devif.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_protocol.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_ui.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/__init__.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_explore.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_services.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/settings.yaml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/tests/test_puna.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/tests/test_puna_cs.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/generic/symetrie-hexapod/tests/test_puna_simulator.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-fits/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-fits/src/egse/plugins/storage/fits.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-hdf5/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-hdf5/src/egse/plugins/storage/hdf5.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-spw/README.md +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/projects/plato/plato-spw/src/egse/spw.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/ruff.toml +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/scratch/advanced-process-monitoring.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/scratch/live-process-monitoring.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/scratch/match-case.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/scratch/processes.json +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/scratch/simple-process-monitoring.py +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/temperature_readings.log +0 -0
- {cgse-0.16.9 → cgse-0.16.10}/test_service_registry.db +0 -0
|
@@ -39,8 +39,8 @@ Settings
|
|
|
39
39
|
│ ├── METRICS_PORT: 7003
|
|
40
40
|
│ ├── MAX_NR_LOG_FILES: 20
|
|
41
41
|
│ ├── MAX_SIZE_LOG_FILES: 20
|
|
42
|
-
│ ├──
|
|
43
|
-
│ └──
|
|
42
|
+
│ ├── EXTERN_LOG_HOST: 127.0.0.1
|
|
43
|
+
│ └── EXTERN_LOG_PORT: 19996
|
|
44
44
|
├── Configuration Manager Control Server
|
|
45
45
|
│ ├── PROTOCOL: tcp
|
|
46
46
|
│ ├── HOSTNAME: localhost
|
|
@@ -146,8 +146,8 @@ Logging Control Server: # LOG_CS
|
|
|
146
146
|
METRICS_PORT: 7003 # The HTTP port where Prometheus will connect to for retrieving metrics
|
|
147
147
|
MAX_NR_LOG_FILES: 20 # The maximum number of log files that will be maintained in a roll-over
|
|
148
148
|
MAX_SIZE_LOG_FILES: 20 # The maximum size one log file can become
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
EXTERN_LOG_HOST: 127.0.0.1 # The IP address of the external logger
|
|
150
|
+
EXTERN_LOG_PORT: 19996 # The port number on which the external logger is listening
|
|
151
151
|
|
|
152
152
|
Configuration Manager Control Server: # CM_CS
|
|
153
153
|
|
|
@@ -18,8 +18,8 @@ Logging Control Server: # LOG_CS
|
|
|
18
18
|
MAX_SIZE_LOG_FILES: 20 # The maximum size one log file can become
|
|
19
19
|
RECEIVER_PORT: 6105
|
|
20
20
|
COMMANDER_PORT: 6106
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
EXTERN_LOG_HOST: 127.0.0.1 # The IP address of the external logger
|
|
22
|
+
EXTERN_LOG_PORT: 19996 # The port number on which the external logger is listening
|
|
23
23
|
|
|
24
24
|
Configuration Manager Control Server: # CM_CS
|
|
25
25
|
|
|
@@ -35,6 +35,7 @@ import zmq
|
|
|
35
35
|
from egse.log import LOG_FORMAT_FULL
|
|
36
36
|
from egse.log import PackageFilter
|
|
37
37
|
from egse.log import egse_logger
|
|
38
|
+
from egse.log import get_log_level_from_env
|
|
38
39
|
from egse.log import logger
|
|
39
40
|
from egse.log import root_logger
|
|
40
41
|
from egse.registry.client import RegistryClient
|
|
@@ -201,7 +202,7 @@ def setup_logging():
|
|
|
201
202
|
|
|
202
203
|
logging.disable(logging.NOTSET)
|
|
203
204
|
for handler in root_logger.handlers:
|
|
204
|
-
handler.setLevel(
|
|
205
|
+
handler.setLevel(get_log_level_from_env())
|
|
205
206
|
|
|
206
207
|
egse_logger.setLevel(logging.DEBUG)
|
|
207
208
|
|
|
@@ -144,9 +144,9 @@ def start():
|
|
|
144
144
|
stream_handler.setFormatter(stream_formatter)
|
|
145
145
|
stream_handler.addFilter(PackageFilter())
|
|
146
146
|
|
|
147
|
-
# Log records are also sent to the
|
|
147
|
+
# Log records are also sent to the external logger
|
|
148
148
|
|
|
149
|
-
socket_handler = SocketHandler(CTRL_SETTINGS.
|
|
149
|
+
socket_handler = SocketHandler(CTRL_SETTINGS.EXTERN_LOG_HOST, CTRL_SETTINGS.EXTERN_LOG_PORT)
|
|
150
150
|
socket_handler.addFilter(PackageFilter())
|
|
151
151
|
socket_handler.setFormatter(file_formatter)
|
|
152
152
|
|
|
@@ -114,8 +114,9 @@ class RegistryClient:
|
|
|
114
114
|
self.poller.register(self.sub_socket, zmq.POLLIN)
|
|
115
115
|
|
|
116
116
|
def _connect_hb_socket(self):
|
|
117
|
-
self.hb_socket = self.context.socket(zmq.
|
|
117
|
+
self.hb_socket = self.context.socket(zmq.DEALER)
|
|
118
118
|
self.hb_socket.setsockopt(zmq.LINGER, 0) # Don't wait for unsent messages on close()
|
|
119
|
+
self.hb_socket.setsockopt(zmq.IDENTITY, self._client_id)
|
|
119
120
|
self.hb_socket.connect(self.registry_hb_endpoint)
|
|
120
121
|
|
|
121
122
|
def disconnect(self):
|
|
@@ -214,9 +215,6 @@ class RegistryClient:
|
|
|
214
215
|
return response
|
|
215
216
|
else:
|
|
216
217
|
self.logger.error(f"Request timed out after {HEART_BEAT_TIMEOUT:.2f}s")
|
|
217
|
-
self._disconnect_hb_socket()
|
|
218
|
-
time.sleep(HEART_BEAT_RECONNECT)
|
|
219
|
-
self._connect_hb_socket()
|
|
220
218
|
return {"success": False, "error": "Request timed out"}
|
|
221
219
|
|
|
222
220
|
except zmq.ZMQError as exc:
|
|
@@ -473,14 +471,14 @@ class RegistryClient:
|
|
|
473
471
|
|
|
474
472
|
# Do a health check
|
|
475
473
|
if not self.health_check():
|
|
476
|
-
self.logger.warning("ServiceRegistry not responding.")
|
|
474
|
+
self.logger.warning("Heartbeat failed: ServiceRegistry not responding.")
|
|
477
475
|
return
|
|
478
476
|
else:
|
|
479
|
-
self.logger.info("
|
|
477
|
+
self.logger.info("Heartbeat failed, but health check succeeded, reregistering...")
|
|
480
478
|
self.reregister()
|
|
481
479
|
|
|
482
480
|
else:
|
|
483
|
-
self.logger.debug(response.get(
|
|
481
|
+
self.logger.debug(f"Heartbeat succeeded: {response.get('message')}")
|
|
484
482
|
|
|
485
483
|
except Exception as exc:
|
|
486
484
|
self.logger.error(f"Error sending heartbeat: {exc}")
|
|
@@ -603,8 +601,9 @@ class AsyncRegistryClient:
|
|
|
603
601
|
self.sub_socket.setsockopt_string(zmq.SUBSCRIBE, "")
|
|
604
602
|
|
|
605
603
|
def _connect_hb_socket(self):
|
|
606
|
-
self.hb_socket = self.context.socket(zmq.
|
|
604
|
+
self.hb_socket = self.context.socket(zmq.DEALER)
|
|
607
605
|
self.hb_socket.setsockopt(zmq.LINGER, 0) # Don't wait for unsent messages on close()
|
|
606
|
+
self.hb_socket.setsockopt(zmq.IDENTITY, self._client_id)
|
|
608
607
|
self.hb_socket.connect(self.registry_hb_endpoint)
|
|
609
608
|
|
|
610
609
|
def disconnect(self):
|
|
@@ -698,11 +697,8 @@ class AsyncRegistryClient:
|
|
|
698
697
|
return response
|
|
699
698
|
except asyncio.TimeoutError:
|
|
700
699
|
self.logger.error(f"Heartbeat request timed out after {HEART_BEAT_TIMEOUT:.2f}s")
|
|
701
|
-
# Reset the socket to avoid invalid state
|
|
702
|
-
self._disconnect_hb_socket()
|
|
703
|
-
await asyncio.sleep(HEART_BEAT_RECONNECT)
|
|
704
|
-
self._connect_hb_socket()
|
|
705
700
|
return {"success": False, "error": "Heartbeat request timed out"}
|
|
701
|
+
|
|
706
702
|
except zmq.ZMQError as exc:
|
|
707
703
|
self.logger.error(f"ZMQ error: {exc}", exc_info=True)
|
|
708
704
|
return {"success": False, "error": str(exc)}
|
|
@@ -858,14 +854,14 @@ class AsyncRegistryClient:
|
|
|
858
854
|
|
|
859
855
|
# Do a health check
|
|
860
856
|
if not await self.health_check():
|
|
861
|
-
self.logger.warning("ServiceRegistry not responding.")
|
|
857
|
+
self.logger.warning("Heartbeat failed: ServiceRegistry not responding.")
|
|
862
858
|
continue
|
|
863
859
|
else:
|
|
864
|
-
self.logger.info("
|
|
860
|
+
self.logger.info("Heartbeat failed, but health check succeeded, reregistering...")
|
|
865
861
|
await self.reregister()
|
|
866
862
|
|
|
867
863
|
else:
|
|
868
|
-
self.logger.debug(response.get(
|
|
864
|
+
self.logger.debug(f"Heartbeat succeeded: {response.get('message')}")
|
|
869
865
|
except Exception as exc:
|
|
870
866
|
self.logger.error(f"Error in heartbeat loop: {exc}", exc_info=True)
|
|
871
867
|
|
|
@@ -101,19 +101,19 @@ class AsyncRegistryServer:
|
|
|
101
101
|
req_rep_endpoint = f"tcp://*:{self.req_port}"
|
|
102
102
|
self.req_socket = self.context.socket(zmq.ROUTER)
|
|
103
103
|
self.req_socket.bind(req_rep_endpoint)
|
|
104
|
-
self.logger.
|
|
104
|
+
self.logger.debug(f"Binding request ROUTER socket to {req_rep_endpoint}")
|
|
105
105
|
|
|
106
106
|
# Socket to publish service events
|
|
107
107
|
pub_endpoint = f"tcp://*:{self.pub_port}"
|
|
108
108
|
self.pub_socket = self.context.socket(zmq.PUB)
|
|
109
109
|
self.pub_socket.bind(pub_endpoint)
|
|
110
|
-
self.logger.
|
|
110
|
+
self.logger.debug(f"Binding publish PUB socket to {pub_endpoint}")
|
|
111
111
|
|
|
112
112
|
# Socket to handle heartbeats
|
|
113
113
|
hb_endpoint = f"tcp://*:{self.hb_port}"
|
|
114
|
-
self.hb_socket = self.context.socket(zmq.
|
|
114
|
+
self.hb_socket = self.context.socket(zmq.ROUTER)
|
|
115
115
|
self.hb_socket.bind(hb_endpoint)
|
|
116
|
-
self.logger.
|
|
116
|
+
self.logger.debug(f"Binding heartbeat ROUTER socket to {hb_endpoint}")
|
|
117
117
|
|
|
118
118
|
async def initialize_backend(self):
|
|
119
119
|
"""Initialize the storage backend."""
|
|
@@ -137,8 +137,8 @@ class AsyncRegistryServer:
|
|
|
137
137
|
|
|
138
138
|
self._running = True
|
|
139
139
|
self.logger.info(
|
|
140
|
-
f"Async registry server started on ports {self.req_port} (ROUTER-DEALER),
|
|
141
|
-
f"and {self.hb_port} (Heartbeat)"
|
|
140
|
+
f"Async registry server started on ports {self.req_port} (Requests ROUTER-DEALER), "
|
|
141
|
+
f"{self.pub_port} (Publish PUB), and {self.hb_port} (Heartbeat ROUTER)"
|
|
142
142
|
)
|
|
143
143
|
|
|
144
144
|
# Start the cleanup task
|
|
@@ -400,22 +400,35 @@ class AsyncRegistryServer:
|
|
|
400
400
|
self.logger.info("Started heartbeats handler task")
|
|
401
401
|
|
|
402
402
|
try:
|
|
403
|
+
message_parts = None
|
|
403
404
|
while self._running:
|
|
404
405
|
try:
|
|
405
406
|
# Receive heartbeat (non-blocking with timeout)
|
|
406
|
-
|
|
407
|
+
message_parts = await asyncio.wait_for(self.hb_socket.recv_multipart(), timeout=1.0)
|
|
408
|
+
|
|
409
|
+
self.logger.debug(f"{message_parts=}")
|
|
410
|
+
|
|
411
|
+
if len(message_parts) == 2:
|
|
412
|
+
client_id = message_parts[0]
|
|
413
|
+
request = message_parts[1]
|
|
414
|
+
|
|
415
|
+
# Parse the request
|
|
416
|
+
request = json.loads(request)
|
|
417
|
+
self.logger.info(f"Received heartbeat request: {request}")
|
|
407
418
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
419
|
+
response = await self._handle_renew(request)
|
|
420
|
+
if VERBOSE_DEBUG:
|
|
421
|
+
self.logger.debug(f"{response=}")
|
|
411
422
|
|
|
412
|
-
|
|
423
|
+
# Send the response
|
|
424
|
+
await self.hb_socket.send_multipart([client_id, json.dumps(response).encode()])
|
|
413
425
|
|
|
414
|
-
|
|
415
|
-
|
|
426
|
+
else:
|
|
427
|
+
self.logger.warning("Heartbeat request: message corrupted, check debug messages.")
|
|
416
428
|
|
|
417
429
|
except asyncio.TimeoutError:
|
|
418
|
-
|
|
430
|
+
if VERBOSE_DEBUG:
|
|
431
|
+
self.logger.debug("waiting for heartbeat...")
|
|
419
432
|
continue
|
|
420
433
|
|
|
421
434
|
except Exception as exc:
|
|
@@ -526,12 +539,6 @@ async def start(
|
|
|
526
539
|
):
|
|
527
540
|
"""Run the registry server with signal handling."""
|
|
528
541
|
|
|
529
|
-
logging.basicConfig(
|
|
530
|
-
level=get_logging_level(log_level),
|
|
531
|
-
format="[%(asctime)s] %(threadName)-12s %(levelname)-8s %(name)-12s %(lineno)5d:%(module)-20s %(message)s",
|
|
532
|
-
)
|
|
533
|
-
logging.getLogger("aiosqlite").setLevel(logging.INFO)
|
|
534
|
-
|
|
535
542
|
with remote_logging():
|
|
536
543
|
server = AsyncRegistryServer(
|
|
537
544
|
req_port=req_port,
|
|
@@ -30,7 +30,6 @@ Notes:
|
|
|
30
30
|
"""
|
|
31
31
|
|
|
32
32
|
import asyncio
|
|
33
|
-
import logging
|
|
34
33
|
import sys
|
|
35
34
|
import time
|
|
36
35
|
|
|
@@ -88,7 +87,7 @@ def test_proper_termination_of_tasks_sync(
|
|
|
88
87
|
assert response["name"] == "sync-context-test-service"
|
|
89
88
|
assert response["metadata"]["msg"] == "Hello, World!"
|
|
90
89
|
|
|
91
|
-
print("Sleeping for
|
|
90
|
+
print("Sleeping for 50s to let some heartbeats come through...")
|
|
92
91
|
time.sleep(50.0)
|
|
93
92
|
|
|
94
93
|
client.stop_heartbeat()
|
|
@@ -134,8 +133,8 @@ async def test_proper_termination_of_tasks_async(
|
|
|
134
133
|
assert response["name"] == "async-context-test-service"
|
|
135
134
|
assert response["metadata"]["msg"] == "Hello, World!"
|
|
136
135
|
|
|
137
|
-
print("Sleeping for
|
|
138
|
-
await asyncio.sleep(
|
|
136
|
+
print("Sleeping for 50s to let some heartbeats come through...")
|
|
137
|
+
await asyncio.sleep(50.0)
|
|
139
138
|
|
|
140
139
|
await client.stop_heartbeat()
|
|
141
140
|
await client.deregister(service_id)
|
|
@@ -166,9 +165,4 @@ def main(
|
|
|
166
165
|
|
|
167
166
|
|
|
168
167
|
if __name__ == "__main__":
|
|
169
|
-
logging.basicConfig(
|
|
170
|
-
level=logging.DEBUG,
|
|
171
|
-
format="[%(asctime)s] %(threadName)-12s %(levelname)-8s %(name)-12s %(lineno)5d:%(module)-20s %(message)s",
|
|
172
|
-
)
|
|
173
|
-
|
|
174
168
|
sys.exit(app())
|
|
index 6227ca3..2f00e49 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
|