This library facilitates packaging and synchronizing QGIS projects for use with QField.
This library is the heart of the QFieldSync QGIS plugin and QFieldCloud's QGIS worker container.
More information can be found in the QField documentation.
The QFieldSync plugin can be downloaded on the QGIS plugin repository.
Improvements are welcome, feel free to fork and open a PR.
This project uses uv for managing it's dependencies.
git clone git@github.com:opengisch/libqfieldsync.git
cd libqfieldsync
# we need to pass `system-site-packages` to use the local QGIS version
uv venv --system-site-packages
# we use `pre-commit` for code styling, see https://pre-commit.com
uv run pre-commit installRun local tests (assuming a QGIS installed on host):
uv run pytestIf you want to test with a specific QGIS version, or you don't have QGIS installed, then:
docker run --rm $(docker build --build-arg QGIS_TEST_VERSION=ltr -q -f .docker/Dockerfile .) .docker/xvfb-pytest