Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

CI Coverage PyPI License

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

  1. Docker
  2. VSCode
  3. CS-Studio (Phoebus)

Installation

  1. Clone this module with the --recursive flag to pull in techui-support for the associated bob files.
  2. Open the project using VSCode.
  3. Reopen the project in a container. Make sure you are using the VSCode extension: Dev Containers by Microsoft.

Setting Up

  1. Clone the beamline ixx-services repo 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

  2. Create your handmade synoptic overview screen in Phoebus and place at ixx-services/synoptic/index.bob.

  3. Construct a techui.yaml file inside ixx-services/synoptic containing 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] extras is 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.

  4. Run this command to locally generate a schema, which can be used for validation testing

    $ techui-builder schema

    Add the following at the top of the techui.yaml to validate it against a schema

    # yaml-language-server: $schema=/path/to/techui.schema.yml

    where 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)

Source distribution for techui-builder 0.7.9b1
File Size Uploaded
techui_builder-0.7.9b1.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for techui-builder 0.7.9b1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.8.0

2 release files

This release

0.7.9b1 This release

2 release files

0.7.8

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7

2 release files

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