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.9

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.9
File Size Uploaded
daq_config_server-1.5.9.tar.gz 211.3 kB Details

Built distribution (wheel)

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

Total release size: 249.2 kB

Release files / daq_config_server-1.5.9.tar.gz

Download URL daq_config_server-1.5.9.tar.gz
Size 211.3 kB
Tags Source
SHA-256 checksum
How to use checksums
53c4512964776ab3729a556f96276d7dce465ecc973061678b8ef3e811ffaf8c
BLAKE2b-256 checksum
How to use checksums
c310ab1bb3bbd61ab2f6edb37dc8bad86c86ef126b056f354b694ab36782719e
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.9-py3-none-any.whl

Download URL daq_config_server-1.5.9-py3-none-any.whl
Size 37.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c4e117f365c162ea5ae6b9cd61c1e833d8a748bbf1ab6ec0d7611ce159ee5666
BLAKE2b-256 checksum
How to use checksums
fabff38c9a6236c5a9f195d5c5e5aec7daefbaa9ce65cf7256b6162058195035
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