Skip to main content

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

techui_builder-0.7.6.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

techui_builder-0.7.6-py3-none-any.whl (34.8 kB view details)

Uploaded Python 3

File details

Details for the file techui_builder-0.7.6.tar.gz.

File metadata

  • Download URL: techui_builder-0.7.6.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for techui_builder-0.7.6.tar.gz
Algorithm Hash digest
SHA256 625772e99e2ad6d0546122894335f1f117c71f09c9ec55d0476a054fca7b58da
MD5 c66d368b78b6805e074ff64cb9390fa5
BLAKE2b-256 4f84462152431eea40963eef6653c21d8eb3322f9931d748e1cf01ec59e4fe79

See more details on using hashes here.

File details

Details for the file techui_builder-0.7.6-py3-none-any.whl.

File metadata

  • Download URL: techui_builder-0.7.6-py3-none-any.whl
  • Upload date:
  • Size: 34.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for techui_builder-0.7.6-py3-none-any.whl
Algorithm Hash digest
SHA256 87f36ce5eae1e7c6442f019a6b713bc6ea4f69b24c14f2ce8fdcce4eeb144251
MD5 e4a70a0aaeb5b9be3dfdb243e87ede1c
BLAKE2b-256 7cd7ae1c7495c5a5e27c2c2be174b9ffb1d63b86976bff3c7b39f9788f169f1e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page