Skip to content

Generating Python Wheels for ORAS

Shuheng Liu (InterSystems) edited this page Mar 3, 2025 · 7 revisions

Staring at IPM v0.10, ORAS registries are supported. The core functionality of interacting with ORAS registries are implemented using the Python oras library, which is included with IPM as wheel files. To generate these wheels, follow these steps

  1. Create and actviate a virtual environment (optional, but recommended to guarantee a clean slate)
python3 -m venv my-env-name
source my-env-name/bin/activate
  1. Change directory to the <repo>/wheels folder and remove all *whl files if existent. There should be a requirements.txt file in the folder that can be used to generate wheels.
cd <ipm-repo>/wheels
rm -rf *whl
  1. Run the following command to download the wheels into a wheels/ folder
python3 -m pip wheel --no-deps -r requirements.txt
  1. The generated wheel files will be downloaded to wheels/ folder
  2. Check that all wheels end with suffix -py3-none-any.whl.
  3. rpds-py is included in IPM via a pure python implementation rpds.py that will be copied to <iris>/lib/python/ folder. When users install the real rpds-py package, it will be placed in <iris>/mgr/python, which supersedes this.

Note: the wheel files shouldn't need to be updated with the exception of certifi, which includes a TLS root certificate. The current certificate won't expire until 2028. If a user has the need to use TLS, they probably has access to pypi.org and can update the certifi easily.