Skip to main content

Converts EPICS vdct templates to pure msi compatible EPICS db templates

Project description

CI Coverage PyPI License

vdct2template

Converts EPICS vdct templates to pure msi compatible EPICS db templates

This tool is designed to modify an EPICS support module in order to remove its dependency on the vdct tool. This is useful for support modules that we want to build with the upstream vanilla EPICS base that does not include vdct.

Source https://github.com/epics-containers/vdct2template
PyPI pip install vdct2template
Releases https://github.com/epics-containers/vdct2template/releases

Installation

To install the latest release from PyPI, create a virtual environment and pip install like this:

python -m venv venv
source venv/bin/activate

pip install vdct2template

Usage

$ vdct2template --help
                                                                                          
 Usage: vdct2template [OPTIONS] FOLDER                                                    
                                                                                          
                          VDCT to template conversion function.

 This function assumes that all referenced VDCT files in the expand() blocks will be   
    in the same folder.                                                                   
 We can use the builder.py file to check for direct references to template files Use   
    --no-use-builder to disable this feature. Direct references to a template file is an  
    error because we need to modify all macro names to add a _ prefix in templated files. 
 Files referenced in expand() blocks will have their macro names updated to all have a 
    _ prefix, because MSI does not support substituting a macro with it's own name and    
    passing a default. This is a workaround to that limitation.                           
 The original expands() block is replaced with a series of substitute MSI directives   
    and an include MSI directive.                                                         
 The resulting set of templates can be expanded natively by MSI without the need for   
    VDCT.                                                                                 
 The DB files created by such an expansion should be equivalent to the original VDCT   
    generated ones.                                                                       

╭─ Arguments ────────────────────────────────────────────────────────────────────────────╮
│ *    folder      DIRECTORY  folder of vdb files to convert to template files.          │
│                             [default: None]                                            │
│                             [required]                                                 │
╰────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────────────────────────────────╮
│ --version                                         Print the version and exit           │
│ --use-builder           --no-use-builder          Use the builder.py file to look for  │
│                                                   direct references to template files. │
│                                                   [default: use-builder]               │
│ --builder                                   FILE  Path to the builder file.            │
│                                                   [default: None]                      │
│ --help                                            Show this message and exit.          │
╰────────────────────────────────────────────────────────────────────────────────────────╯

Project details


Download files

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

Source Distribution

vdct2template-1.0.2.tar.gz (244.0 kB view details)

Uploaded Source

Built Distribution

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

vdct2template-1.0.2-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file vdct2template-1.0.2.tar.gz.

File metadata

  • Download URL: vdct2template-1.0.2.tar.gz
  • Upload date:
  • Size: 244.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for vdct2template-1.0.2.tar.gz
Algorithm Hash digest
SHA256 a41d68dfe963e77367b46d6f56488ac5f6359f6a4d38537ce34415dc0011d3e3
MD5 e4da5bd0ccac662b2bb7bba502f03ffa
BLAKE2b-256 313d066684ec75ae6da789473d7a84b01259fcd0d3ccd510bd9e313e8fb8479b

See more details on using hashes here.

File details

Details for the file vdct2template-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: vdct2template-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for vdct2template-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ed1a4d8d841da39613da80e690e1bc5e94cec1b0a65a3edcc797644d797887d4
MD5 de38f57657b99b46296ce5a990ceb34e
BLAKE2b-256 156deb19308d2c3ee24c02f8418d1f45b9bdb823a7fb4e69ef474ddc698522dd

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 Pingdom Monitoring Sentry Error logging StatusPage Status page