Skip to content

configurations

Configuration file are useful to provide customization or specific steps/actions needed for a wheel to be built. One can create version specific configuration using: package-version.sh or general one using: package.sh.

build_wheel.sh will try to source (case insensitively) in the following order: 1. ${PACKAGE}-${VERSION}.sh then; 2. ${PACKAGE}.sh

from the config directory.

To see examples on how to use these options, just grep through the config/*.sh files to find other recipes that use them.

Variables

Variable Description
PACKAGE Name of the package. Defaults to the value of --package.
VERSION Version of the package. Defaults to the value of --version or latest.
PYTHON_VERSIONS List of Python versions, for which the wheel is to be built. Defaults to the value of --python (if set) or default python versions (ie 3.11,3.12,3.13).
BDIST_WHEEL_ARGS Extra arguments to pass to python setup.py bdist_wheel $BDIST_WHEEL_ARGS.
PIP_WHEEL_ARGS Extra arguments to pass to pip wheel $PIP_WHEEL_ARGS.
MODULE_BUILD_DEPS Loads these modules for building the wheel.
MODULE_BUILD_DEPS_DEFAULT Is set to numpy/.2.1.1 python-build-bundle pytest cython/.3.0.11
MODULE_RUNTIME_DEPS Loads these modules for building and testing the wheel.
PACKAGE_DOWNLOAD_CMD Custom download command, e.g. git clone .... (default: pip download --no-cache --no-binary \$PACKAGE_DOWNLOAD_ARGUMENT --no-deps \$PACKAGE_DOWNLOAD_ARGUMENT)
PACKAGE_DOWNLOAD_ARGUMENT Additional argument to pass to pip download.
PACKAGE_DOWNLOAD_NAME In case downloaded name is different from $PACKAGE, e.g. v${VERSION}.tar.gz (default: $PACKAGE)
PACKAGE_DOWNLOAD_METHOD Use pip download (default) or specify Git
PACKAGE_FOLDER_NAME In case extracted folder has a name different from $PACKAGE. (default: $PACKAGE)
PACKAGE_SUFFIX Add this suffix to our package name, e.g. -cpu or -gpu. (default: "")
PATCHES Applies these patch-files before building. Specify as a single or list of patch files, that have been placed in the patches/ directory.
PATCH_WHEEL_COMMANDS Specify shell commands to patch a wheel in order to make it compatible with our stack.
PRE_DOWNLOAD_COMMANDS Specify shell commands to be executed before downloading the package.
POST_DOWNLOAD_COMMANDS Specify shell commands to be executed after downloading the package.
PRE_BUILD_COMMANDS Specify shell commands to be executed before downloading the package.
POST_BUILD_COMMANDS Specify shell commands to be executed after building the package.
PRE_SETUP_COMMANDS Specify shell commands to be executed before setting up build environment.
PYTHON_DEPS Installs these Python-dependencies into the virtualenv in addition to PYTHON_DEPS_DEFAULT.
PYTHON_DEPS_DEFAULT Is set to "".
PYTHON_IMPORT_NAME In case import $NAME is different from the package name, e.g. PACKAGE=pyzmq vs. import zmq. (default: $PACKAGE)
PYTHON_TESTS String with Python command(s) to test the package. Executed after import $PYTHON_IMPORT_NAME.
RPATH_ADD_ORIGIN This will run setrpaths.sh --path ${WHEEL_NAME} --add_origin.
RPATH_TO_ADD This will run setrpaths.sh --path ${WHEEL_NAME} --add_path $RPATH_TO_ADD.
TEST_COMMAND Alternative shell command to test the wheel.
UPDATE_REQUIREMENTS One or more requirements to update. These will be changed by manipulate_wheels.py after the wheel is done building.