Skip to main content

An updater for OpenCPI Projects

Project description

ocpiupdate - An updater for OpenCPI projects

pypi release gitlab pre-commit codecov

ocpiupdate updates OpenCPI Projects to use style associated with newer versions of OpenCPI.

For example:

  • Using <worker>-<model>.xml for the Worker Description files, instead of <worker>.xml.
  • Using <component>.comp/<component>-comp.xml for Component Specification files instead of specs/<component>[-_]spec.xml.
  • Using xml files instead of Makefiles.

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 python3 just for this library.
    • I'd recommend using a tool like uv.
  • 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.0` tag
pip install git+https://gitlab.com/dawalters/ocpiupdate@v0.6.0

docker or podman

The containers directory contains a variety of containers, relying only on a local installation of docker or podman.

You can download built containers from the Gitlab Container Registry. This happens automatically when running a registry image without a local copy.

See containers/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/containers/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/containers/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

If you encounter issues with an action, you can disable it:

ocpiupdate \
    --skip-action rename_spec_to_comp \
    --skip-action rename_protocol_to_prot \
    $project

Disclaimer

This repository has no affiliation with OpenCPI.

The maintainer doesn't maintain OpenCPI.

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

ocpiupdate-0.6.0.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

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

ocpiupdate-0.6.0-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file ocpiupdate-0.6.0.tar.gz.

File metadata

  • Download URL: ocpiupdate-0.6.0.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for ocpiupdate-0.6.0.tar.gz
Algorithm Hash digest
SHA256 1d721d68aa8684d948510ed82708970e46f5009243b4da07025544d233f57fcd
MD5 8bfa2857311153e4660d790ed20c9f51
BLAKE2b-256 25e6fbac2e441465397f841b8bff8e43bfd4a429d8a8a1248e984ee37862ef78

See more details on using hashes here.

File details

Details for the file ocpiupdate-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: ocpiupdate-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for ocpiupdate-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fcc02496085a692e1f0c397e5eaddcf801558c5b95db249c5002a0c8cdcda177
MD5 534ed14f2b9976c228f2c2e4bd7dd8a5
BLAKE2b-256 b2d7cbd809cff10a0d91a080f487e0e38f82eb38900115828f9150e9d17c3cb3

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