// the find
koordinates/kart
Distributed version-control for geospatial and tabular data
Kart is a distributed version-control system for geospatial and tabular data, built as a genuine extension of Git's internals rather than a wrapper around it, with support for vector (GPKG), raster, and point-cloud datasets. It's for GIS teams who want branch/diff/merge/conflict workflows on data that's normally locked in a shapefile or a database, and who already edit in QGIS or a similar desktop GIS tool.
It extends Git's object model for feature-level diffing and merging instead of just storing files under version control, and it plugs into working copies people already use — GPKG, PostGIS, MySQL, SQL Server — so an analyst keeps editing in QGIS while Kart tracks the changes underneath. Dataset support is broad and specific rather than bolted-on: separate maintained code paths for tabular data, COG-aware raster, and point-cloud tiles, each with its own importer and metadata handling, plus LFS-style handling for large tile files. The native core (libkart in Rust, a C cli_helper linking straight to Git) and signed, cross-platform installers (msi/pkg/deb/rpm) show real investment in performance and distribution, not just a Python CLI glued on top.
Schema changes in the working copy aren't supported — the README says outright they'll error, which is a real problem for anyone doing iterative GIS schema work rather than pure feature edits. At 681 stars and 56 forks it's thin on real-world mileage given how much surface it covers (three dataset types, four working-copy backends, three OS installers), so expect to hit untested corners. It's GPLv2 with a linking exception, which still rules it out for teams wanting to embed or modify it inside closed-source tooling. And building from source is a genuine multi-language effort — Python, Rust, C, CMake presets, GDAL/PDAL — not a pip install, so contributing or self-building carries real setup cost.