An updater for OpenCPI Projects
Project description
ocpiupdate - An updater for OpenCPI projects
ocpiupdate updates OpenCPI Projects to use style associated with newer
versions of OpenCPI.
For example:
- Using
<worker>-<model>.xmlfor the Worker Description files, instead of<worker>.xml. - Using
<component>.comp/<component>-comp.xmlfor Component Specification files instead ofspecs/<component>[-_]spec.xml. - Using
xmlfiles instead ofMakefiles.
Dependencies
This library requires Python 3.12 or newer. This means it doesn't support the
default system python3 install on Ubuntu 20.04 or Ubuntu 22.04.
If you use a system with Python 3.11 or older, you need to either:
- Install a newer
python3just for this library.- I'd recommend using a tool like
uv.
- I'd recommend using a tool like
- Download and run the containerised version.
Installation
pip
You can install the latest release from PyPi:
pip install ocpiupdate
Or, you can install this repository directly:
# Installs `develop` branch
pip install git+https://gitlab.com/dawalters/ocpiupdate
# Installs `v0.6.4` tag
pip install git+https://gitlab.com/dawalters/ocpiupdate@v0.6.4
docker or podman
A Dockerfile is available that builds a container that can run ocpiupdate.
You can download prebuilt containers from the Gitlab Container Registry. This happens automatically when running a registry image without a local copy.
See scripts/ocpiupdate.sh
for a script that allows running the ocpiupdate:latest container over more
than one project.
To download and use this script:
# If you want to keep a local copy of the script
curl -o ocpiupdate.sh https://gitlab.com/dawalters/ocpiupdate/-/raw/develop/scripts/ocpiupdate.sh
source ocpiupdate.sh
# If you don't want to keep a local copy of the script
source <(curl -s https://gitlab.com/dawalters/ocpiupdate/-/raw/develop/scripts/ocpiupdate.sh)
You can then use the terminal command ocpiupdate in exactly the same way as
the python script.
If you have built a local version of the container, then ocpiupdate.sh will
use that. Otherwise, it will download the container from the remote registry.
Source tarball
You can download source releases from the Gitlab Releases page.
Configuration
The various functions that ocpiupdate performs are called actions.
You can view all available actions:
ocpiupdate --actions
rename_hdl_owds_to_hyphen_hdl
rename_rcc_owds_to_hyphen_rcc
rename_spec_to_comp_except_project
rename_protocol_to_prot
rename_underscore_prot_to_hyphen_prot
translate_applications_from_makefile_to_xml
translate_hdl_adapters_from_makefile_to_xml
translate_hdl_assemblies_from_makefile_to_xml
translate_hdl_cards_from_makefile_to_xml
translate_hdl_device_from_makefile_to_xml
translate_hdl_platforms_from_makefile_to_xml
translate_hdl_primitives_from_makefile_to_xml
translate_hdl_worker_from_makefile_to_xml
translate_project_from_makefile_to_xml
translate_rcc_worker_from_makefile_to_xml
If you encounter issues with an action, you can disable it:
ocpiupdate \
--skip-action rename_protocol_to_prot \
--skip-action rename_underscore_prot_to_hyphen_prot \
$project
Disclaimer
This repository has no affiliation with OpenCPI.
The maintainer doesn't maintain OpenCPI.
The maintainer does not guarantee that ocpiupdate will result in a buildable
project. If you encounter difficulties, please open an issue.
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 ocpiupdate-0.6.4.tar.gz.
File metadata
- Download URL: ocpiupdate-0.6.4.tar.gz
- Upload date:
- Size: 20.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14656b1cc5475342c51f9ae64a90233ba869a764c5cb4200965cd6f809b82198
|
|
| MD5 |
06d95c6e7eff35a0c0e84bd50a887086
|
|
| BLAKE2b-256 |
074aaea49f0836e25fcde5826f1fdedc844f103d74861ee2f3b885ee315d343c
|
File details
Details for the file ocpiupdate-0.6.4-py3-none-any.whl.
File metadata
- Download URL: ocpiupdate-0.6.4-py3-none-any.whl
- Upload date:
- Size: 25.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
668e1a8320b5e7a8bc2f48675b8b1f3e165aa8d8c1f36810c344dd8a6d85ad9c
|
|
| MD5 |
fdb0f31975c5e03475b4f72b1dbc34b8
|
|
| BLAKE2b-256 |
9972154f529c9bd04b9a36e67aaa6ca70ad0e8c6b9efebbfdd8295531f4b57ab
|