This release is a pre-release and may not be stable for production use.
techui_builder
A package for building Phoebus GUIs
Techui-builder is a module for building and organising phoebus gui screens using a builder-ibek yaml description of an IOC, with a user created techui.yaml file containing a description of the screens the user wants to create.
| What | Where |
|---|---|
| Source | https://github.com/DiamondLightSource/techui-builder |
| PyPI | pip install techui-builder |
| Releases | https://github.com/DiamondLightSource/techui-builder/releases |
The process to use this module goes as follows (WIP):
Requirements
- Docker
- VSCode
- CS-Studio (Phoebus)
Installation
- Clone this module with the
--recursiveflag to pull in techui-support for the associated bob files. - Open the project using VSCode.
- Reopen the project in a container. Make sure you are using the VSCode extension: Dev Containers by Microsoft.
Setting Up
-
Clone the beamline
ixx-servicesrepo to the root of this project, ensuring each IOC service has been converted to the ibek format.git clone --recursive git@gitlab.diamond.ac.uk:controls/containers/beamline/ixx-services.git -
Create your handmade synoptic overview screen in Phoebus and place at
ixx-services/synoptic/index.bob. -
Construct a
techui.yamlfile insideixx-services/synopticcontaining all the components from the services:beamline: location: {e.g. b23, b01-1} domain: {e.g. bl23b} desc: {beamline description} url: {e.g. b23-opis.diamond.ac.uk} components: {component name}: desc: {component description} prefix: {PV prefix} extras: - {extra prefix 1} - {extra prefix 2}[!NOTE]
extrasis optional, but allows any embedded screen to be added to make a summary screen e.g. combining all imgs, pirgs and ionps associated with a vacuum space. -
Run this command to locally generate a schema, which can be used for validation testing
$ techui-builder schemaAdd the following at the top of the
techui.yamlto validate it against a schema# yaml-language-server: $schema=/path/to/techui.schema.ymlwhere the path can be the dev container workspace, or a released asset in the GitHub repo.
Generating the Synoptic
$ techui-builder build /path/to/synoptic/techui.yaml
This populates index.bob and individual component screens inside ixx-services/synoptic.
Generating the JsonMap
$ techui-builder generate-jsonmap /path/to/synoptic/index.bob
This populates JsonMap.json with the tree of component screens inside ixx-services/synoptic/index.bob.
Generating the Status PV database file
$ techui-builder status /path/to/synoptic/techui.yaml
This populates config/status.db with the status PVs of components inside ixx-services/synoptic/techui.yaml.
Viewing the Synoptic
In a terminal outside of the container:
$ module load phoebus
$ phoebus.sh -resource /path/to/opis/index.bob
Release files for techui-builder 0.7.9b1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| techui_builder-0.7.9b1.tar.gz | 1.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| techui_builder-0.7.9b1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / techui_builder-0.7.9b1.tar.gz
| Download URL | techui_builder-0.7.9b1.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fe1c571a5ddfc6c3b6215e5538dfd2cac183c9238a223c2f0e23ea5effb17bac
|
|
BLAKE2b-256 checksum How to use checksums |
16374ce588a60822f5c74d140572f199cd78b5d5a24ef17eb6e9affcb2af43bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / techui_builder-0.7.9b1-py3-none-any.whl
| Download URL | techui_builder-0.7.9b1-py3-none-any.whl |
|---|---|
| Size | 33.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0e37f5a0e0fbf2e68488fbd8c1ae69ed3ef090afb70c2076431b76c243c15478
|
|
BLAKE2b-256 checksum How to use checksums |
79acfba11e4117f81d6b893eec76981e85aaff9499a540c94f5554580b7bf6a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|