Development#

Follow the guide in Installation. We advise using uv for installing the build dependencies.

The version pinning of the metkitlib dependency is disabled by default, which is what you want for local development. On CI it is enabled by setting the VERSION_SUFFIX environment variable, which pins the matching metkitlib wheel version.

To use your local metkit build, make sure findlibs is installed in your venv and export:

export FINDLIBS_DISABLE_PACKAGE=yes

Set the METKIT_HOME environment variable to the build folder so findlibs picks up the correct metkit library:

export METKIT_HOME=<path_to_build_folder>

You can then install the pymetkit wheel from the build folder (or the staging directory) into your venv:

uv pip install pymetkit-<version>-cp311-cp311-<platform>.whl
# or, for an editable-style install of the staged package
uv pip install -e pymetkit-python-package-staging

Run the tests by switching to the pymetkit tests folder and executing pytest:

cd <path_to_metkit>/tests/pymetkit
pytest

Building the documentation#

Install the documentation requirements and run the build script:

uv pip install -r docs/pymetkit/requirements.txt
./docs/pymetkit/build_docs.sh

The rendered documentation is written to docs/pymetkit/doc-build.