Conversion tool for DLS XML builder IOC instances to ibek ioc.yaml
Project description
builder2ibek
A tool suite for converting DLS XML builder projects to epics-containers ibek.
| Source | https://github.com/epics-containers/builder2ibek |
|---|---|
| PyPI | pip install builder2ibek |
| Releases | https://github.com/epics-containers/builder2ibek/releases |
╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ xml2yaml Convert a builder XML IOC instance definition file into an │ │ ibek YAML file │ │ beamline2yaml Convert all IOCs in a BLXXI-SUPPORT project into a set of │ │ ibek services folders (TODO) │ │ autosave Convert DLS autosave DB template comments into autosave req │ │ files │ │ db-compare Compare two DB files and output the differences │ ╰──────────────────────────────────────────────────────────────────────────────╯
How to use the devcontainer
This repo includes a devcontainer for testing and developing converters.
To use this re-open in container.
- First make sure you have the submodules
- git submodule update --init
- This adds ibek-support and ibek-support-dls meaning that we can validate converted projects against a global ibek schema that include all support modules currently defined in ibek-support*.
- To add a new IOC to the tests simply copy its XML definition into
tests/samples. Then run./tests/samples/make_samples.shto convert the XML to YAML and create a test for it. - important: this will re-convert all of the sample XML files in the samples folder. Always check the diff before committing.
Once you have done this you can iterate on converting your XML:
- make changes to the ibek support yaml in
ibek-support-dlsandibek-support - make changes/additions to src/builder2ibek/converters/*.py
- re-convert your XML with
./tests/samples/make_samples.sh - rebuild the global ioc yaml schema with
./update-schema - Inspect your generated YAML in
tests/samplesand look for schema validation issues (make sure you have the RedHat YAML extension installed in VSCode) - NOTE: sometimes the YAML extension does not notice changes to the schema. If you are seeing errors that you think are incorrect, opening the exttension settings and toggling the
Yaml: Validateoff and on again can help - it's the last option.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file builder2ibek-1.1.1.tar.gz.
File metadata
- Download URL: builder2ibek-1.1.1.tar.gz
- Upload date:
- Size: 654.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70c76f1ca1b27ffcb66e55c0d3ae05f395fc4958584a6be1983c8ed85cc5aa5d
|
|
| MD5 |
08d08d1d62ca2d0feae39599b981829f
|
|
| BLAKE2b-256 |
6c948fb9eb6c22a16bcbbeb0324e1e7af0ea068ad77643e5bdff826d9990eec7
|
File details
Details for the file builder2ibek-1.1.1-py3-none-any.whl.
File metadata
- Download URL: builder2ibek-1.1.1-py3-none-any.whl
- Upload date:
- Size: 46.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e8c05639a3ae56a9703e7ddfbad45b866dfede10e0634fb8ed2fe456d4b90af
|
|
| MD5 |
ea34aeb0c0de0353a84afdcb865071c7
|
|
| BLAKE2b-256 |
96b77fc1d37ee9da86da7a277b60c429e829ca8e10b182874870dfa8acf8d95b
|