This document describes conventions used for Python repos in the Taler project.
poetry.lockfile must be committed to repo.
In addition to the Python-native tooling, we provide a GNU-style interface for the build system. The commands supported by every Python repo should be:
./bootstrap: Only necessary when the repo is checked out via git. Initializes the build system and checks out git submodules if applicable.
./configure: Should check for build-time dependencies, including Python tooling.
make: Invoking make without a target should create the Python wheel for the project.
make install: Installation should only install the Python package based on the wheel via
pip. Note that we can’t do dependency tracking properly, so the
installtarget will always re-build the wheel and install it.
make pretty: Should invoke the pretty-printer (
blackfor Python projects).
make dist: This should create the source tarball.
make clean: Should delete generated files.
The build-common.git repository contains helpers to make the GNU compatibility easier. Here are some hints for using it:
build-common.gitrepo should added as a submodule in the path
build-system/taler-build-scriptsof the repository.
./bootstrapto the root of the repository.
build-system/configure.py. There is no documentation yet, but adjusting the example file is a good starting point.
make dist) should either be created via
poetry build -f sdistor using the git-archive-all.