A QGIS plugin that retrieves the steps of a spatial analysis workflow and bundles everything into a RO‑Crate – a self‑describing, machine‑readable package that contains data, metadata, and provenance information. It helps with making QGIS projects reproducible, shareable, and ready for FAIR publishing.
- What is QFlowCrate?
- Features
- Installation and Quick start
- Development
- License & Acknowledgements
- Contact & Support
Geospatial analyses in QGIS involve many steps:
- Loading data layers from several different sources.
- Applying geoprocessing operations (vector analysis, raster algebra, interpolation, etc.).
- Styling layers, creating legends, and designing print layouts.
These actions are rarely documented in a structured, reusable way, which hampers reproducibility, transparency, and long‑term preservation of research results.
QFlowCrate solves this problem by assisting the user to capture the provenance of the executed workflows in a QGIS project and exporting it as a RO‑Crate – a community‑adopted standard for packaging research data and metadata. The resulting crate can be deposited in data repositories, shared with collaborators, or used as supplementary material for publications, thereby aligning geospatial workflows with FAIR principles.
More specifically, QFlowCrate will track down the file paths, URLs, coordinate reference systems, and symbology of data layers in the project. Additionally, it will track the processing steps that were applied to the data layer, including the name of the process, units of measurement and other parameters. Moreover, QFlowCrate will help you document the metadata of your project, prompting to fill in the project title, description, and author details.
This project is based on the work of Andreas Rademaker for his Bachelor's thesis in Geoinformatics at the University of Münster (Institute for Geoinformatics), October 2025.
| Functionality | Feature |
|---|---|
| Provenance capture | Data layers, coordinate systems, processing steps, symbology. |
| RO‑Crate export | Generates a standards‑compliant crate ready for FAIR sharing. All local data files are bundled in the exported ZIP. |
| Selective packaging | Choose which layers/files to include (e.g., omit large raw rasters). |
| Custom metadata entry | UI helps the user fill in title, description, and author details. |
| Cross‑platform | Works on Windows, macOS, and Linux Ubuntu (QGIS ≥ 3.40). |
| Data‑format support | • Vector: Shapefile ( .shp), GeoJSON (.geojson), KML (.kml) • Raster: GeoTIFF ( .tif/.tiff), PNG (.png), JPEG (.jpg) • Other: CSV tables, OGC-compliant server connections (WFS, WMS) |
Go to the Releases page and download the ZIP file for the most recent version (Currently qflowcrate‑v0.0.7.zip).
- Open QGIS.
- From the main menu choose Plugins → Manage and Install Plugins → Install from ZIP.
- Browse your files and select the downloaded
qflowcrate‑vX.Y.Z.zip. - Click Install Plugin.
- After the installation, a new QFlowCrate toolbar button (a small crate icon) should appear.
- Open the Plugins → Plugin Manager and confirm that QFlowCrate is listed and enabled.
Below is a minimal, end‑to‑end example that demonstrates the typical workflow.
- Suppose we load a locally stored shapefile containing point data.
- We apply a simple operation, e.g., extract by attribute, and save the output of the operation as a temporary layer.
- Click the QFlowCrate toolbar button.
- You can read the instructions, if you feel like.
- Navigate to the Graph tab.
- Click Add Layer and select the local shapefile from the list. Select the temporary layer, too.
- Fill in the layer metadata for each layer.
- The added data layers are displayed as blue rectangles.
- Click Add Processing Step and select the 'extractbyattribute' operation from the list.
- Fill in the processing step metadata, as prompted.
- The processing step is now visualised in the graph as a green ellipse.
- Click the Connection Mode button.
- Click first on the source node (e.g., the shapefile rectangle) and then on the destination node (e.g., the 'extract by attribute' operation). You should now have an arrow that connects the shapefile and the processing operation.
- Repeat as necessary, until all data flows are properly illustrated in the Graph.
- Navigate to the Export tab.
- Choose a destination folder (e.g.,
~/Documents/QFlowCrate_Exports/ProjectA). - Fill in the metadata fields (title, description, author details).
- Click Export RO-Crate.
The plugin creates a folder structure similar to:
ProjectA/
├─ ro-crate-metadata.json
├─ shapefile_layer1/
│ ├─ geometry.zip
│ └─ symbology.qml
└─ temporary_layer2/
├─ geometry.geojson
└─ symbology.qml
| Tool | Minimum version |
|---|---|
| QGIS | 3.40+ |
| Python | 3.10+ (the version bundled with QGIS) |
| uv (fast Python package manager) | latest (https://github.com/astral-sh/uv) |
| git | any recent version |
git clone https://github.com/nicevibesplus/QFlowCrate.git
cd QFlowCrateuv sync # creates .venv and installs everything# Linux/macOS/Git Bash
source .venv/bin/activateor
# Windows PowerShell
.\.venv\Scripts\Activate.ps1A helper script bundles only the production files (including the rocrate dependency) into a ZIP and creates a Github release.
# Make the script executable (Linux/macOS)
chmod +x scripts/create_release.sh
# Create a new release – replace vX.Y.Z with your version tag
scripts/create_release.sh v0.1.0or in Windows
scripts\create_release.sh v0.1.0- License: GNU GPL v3 – see the LICENSE file.
- Based on the work conducted for the following thesis:
- Title: Enhancing Map Reproducibility: Developing a QGIS Plugin for Automated Documentation of Data Provenance and Workflow
- Author: Andreas Rademaker (@nicevibesplus)
- Degree: B.Sc. Geoinformatics, University of Münster, Institute for Geoinformatics (October 2025)
- Supervisors: Eftychia Koukouraki, Brian Ochieng Pondi
Please use the Github issue tracker: https://github.com/nicevibesplus/QFlowCrate/issues
