# This file contains metadata for your plugin.

# This file should be included when you package your plugin.# Mandatory items:

[general]
name=Connector for ODK
qgisMinimumVersion=3.0
description=Connect to ODK Central, split layers, run QA/QC on File Geodatabases, and upload vector data to KeSMIS — with in-app help on every tool.
version=2.3.7
author=Felix Mutua
email=mutua@ags.co.ke

about=Connector for ODK is a four-tool QGIS plugin suite. Get Data downloads ODK Central form submissions as map layers. Split Layer creates separate layers for each unique attribute value. QA/QC runs topology, attribute, and geometry checks on File Geodatabase layers and writes issue layers plus PDF reports. Import uploads vector features to KeSMIS with full settlement sync (field mapping, create/update via upsert), automatic field mapping, dry-run validation, and spatial parent matching.

tracker=https://github.com/fnmutua/connector-for-ODK
repository=https://github.com/fnmutua/connector-for-ODK
# End of mandatory metadata

# Recommended items:

hasProcessingProvider=no
changelog=Version 2.3.7: Import reports how many features matched a settlement or ward. Features that do not overlap a parent and have no usable pcode are left out, listed by code in the log, and the submit button shows how many will be uploaded. Version 2.3.6: Submit shows a please-wait dialog while the import runs. Unmatched land-use values stay highlighted in red on the Match Parcel Land Use dialog until a dictionary value or Leave blank is chosen. Version 2.3.5: Each submit and settlement sync is sent as one KeSMIS import batch, so it can be reviewed and undone from Data > Import > Import History. Dry runs are not recorded. Version 2.3.4: The import dialog leads with the layer to upload. Settlement sync is an optional Update/Upload settlements section, and the dialog has a Close button. Field matching uses rapidfuzz so county, subcounty, and ward ids match. Version 2.3.3: Parcel import opens a dialog to match land-use names to the KeSMIS dictionary when the layer has no land-use ids. The plugin loads on a fresh QGIS install without fuzzywuzzy or shortuuid. Version 2.3.2: Security fixes for QGIS plugin repository Bandit scan — remove subprocess pip install, replace bare except/pass patterns, rename password defaults. Version 2.3.1: QA/QC geometry resilience — auto-repair invalid geometries, flag unrepaired features, invalid geoms column in PDF with column definitions, no invalid-geometry popup. Version 2.3.0: ODK download resilience — download all at once option, configurable read timeout, checkpoint/resume, retry and adaptive chunking for 504/500 errors, small-batch fallback at high offsets. Version 2.2.1: Settlement sync upsert fixes (JSON types, ward lookup, payload validation, clearer API errors).

# Tags are comma separated with spaces allowed
tags=python, odk, odk central, kesmis, qa, qc, geodatabase, import, export

homepage=https://github.com/fnmutua/connector-for-ODK
category=Web
icon=download.svg
# experimental flag
experimental=False

# deprecated flag (applies to the whole plugin, not just a single version)
deprecated=False

# Since QGIS 3.8, a comma separated list of plugins to be installed
# (or upgraded) can be specified.
# Check the documentation for more information.
# plugin_dependencies=

# If the plugin can run on QGIS Server.
server=False
[license]
license=GPL-3.0
requirements=requirements.txt
