Skip to main content

Frontend CI Backend CI Coverage PyPI License

DAQ Config Server

A service to read files on Diamond's filesystem from a BlueAPI container. Currently this service is only able to read files on /dls_sw/. Writing to configuration files will come in a future release.

Source https://github.com/DiamondLightSource/daq-config-server
Docker docker run ghcr.io/DiamondLightSource/daq-config-server:latest
Releases https://github.com/DiamondLightSource/daq-config-server/releases
Documentation https://DiamondLightSource.github.io/daq-config-server

Here is a minimal example to read a file from the centrally hosted service after installing this package

from daq_config_server.client import ConfigClient

config_client = ConfigClient("https://daq-config.diamond.ac.uk")

file_contents = config_client.get_file_contents({ABSOLUTE_PATH_TO_CONFIG_FILE}, desired_return_type=str)

The output will come out as a raw string - you should format it as required in your own code. You may also request that the file contents is returned as a dict or in bytes - this will raise an http exception if the file cannot be converted to that type. To be able to read a file, you must first add it to the whitelist.

Testing

To run unit tests, type tox -e tests from within the dev container

There is a convenient script in ./deployment/build_and_push.sh which can be used to easily build and run the container locally for testing, and optionally push the container to a repository. In general we should rely on the CI to be pushing new containers - however it is sometimes useful to push a development image to a private repo for development or debugging.

To run local system tests, start a local container by running ./deployment/build_and_push.sh -r -b. Then, in the dev container, forward port 8555. There are instructions on port forwarding within vscode here. Next, in a terminal in the devcontainer, run tox -e system_tests_local from the daq-config-server directory.

To run a test deployment on argus, log in to argus in your namespace and run:

helm install daq-config ./helmchart/ --values dev-values.yaml

followed by:

kubectl port-forward service/daq-config-server-svc 8555

after which you should be able to access the API on http://localhost:8555/docs

See https://DiamondLightSource.github.io/daq-config-server for more detailed documentation.

Metadata

Release files for daq-config-server 1.5.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for daq-config-server 1.5.4
File Size Uploaded
daq_config_server-1.5.4.tar.gz 238.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for daq-config-server 1.5.4
File Interpreter ABI Platform
daq_config_server-1.5.4-py3-none-any.whl Python 3 none any Details

Total release size: 275.0 kB

Release files / daq_config_server-1.5.4.tar.gz

Download URL daq_config_server-1.5.4.tar.gz
Size 238.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1492ef34de7776502877dcca64d0ed1e26260278730c5aa4fda8061a271ed73c
BLAKE2b-256 checksum
How to use checksums
1554453c36b8df8dd1878c58eb6f0ab911c489d28828ffc70289cfb5ec92c89e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / daq_config_server-1.5.4-py3-none-any.whl

Download URL daq_config_server-1.5.4-py3-none-any.whl
Size 36.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b21929c92e6ed913319b89246a46f7dfab70ce1872775b59408e19f63cfd62bd
BLAKE2b-256 checksum
How to use checksums
3ebfce06b9b217745c3c19a8832a2e75b3573337e773d3218273fd8d020d3609
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page