Declarative
JSON rules, not code. Reproducible, Git-versionable, readable by your GIS team without knowing Python.
Write rules
Rules-as-config for your spatial data. What dbt is to data, GISPulse is to GIS. v1.1.1 available — 117 capabilities.
Identify parcels in flood zones, compute their area, and export statistics by municipality — all in a single rules file:
[
{
"name": "parcelles_a_risque",
"capability": "spatial_join",
"params": {
"input": "parcelles.gpkg",
"ref_layer": "zones_inondables.gpkg",
"predicate": "intersects",
"columns": ["niveau_risque"]
}
},
{
"name": "surface_par_commune",
"capability": "spatial_aggregate",
"params": {
"input": "parcelles_a_risque",
"ref_layer": "communes.gpkg",
"predicate": "within",
"agg": { "parcelle_id": "count", "surface_m2": "sum" }
}
}
]# Portable mode — no database required
gispulse run rules.json --engine duckdb
# API mode
curl -X POST http://localhost:8000/jobs \
-d @rules.json
# SDK mode
from gispulse import GISPulse
gp = GISPulse()
result = gp.run("rules.json")GPKG, GeoJSON, Shapefile, GeoParquet, CSV, WFS... GISPulse reads everything, no prior conversion needed. The engine automatically adapts the schema.
A JSON file describes the complete pipeline: capabilities to apply, parameters, execution order. Versionable under Git.
The result is written in the original format. No database to manage, no conversion. Your files remain your files.
No database required. GISPulse spins up a temporary DuckDB engine in memory, executes your rules on your files, and writes the result in the original format.
Connect PostGIS. The same rules become real-time triggers, continuous pipelines, spatial materialized views.
Community (free, AGPL-3.0), Pro and Enterprise plans are available — see the pricing page.
Interested in volume licensing or early-adopter pricing? Contact us.
| Criteria | GISPulse | FME | QGIS Processing | PostGIS alone |
|---|---|---|---|---|
| Price | Free (AGPL) | 5–15k EUR/year | Free | Free |
| Declarative | Native JSON | Visual GUI | GUI + scripts | Raw SQL |
| Portable mode | Embedded DuckDB | No | Desktop interface | No |
| Server mode | PostGIS / API | FME Flow ($$) | No | Yes |
| CLI / headless | Yes | Partial | No | psql only |
| REST API | Included | Paid | No | Not native |
| Versionable (Git) | Native (JSON) | XML export | Non-standard | SQL migrations |
| Python SDK | Included | Paid | PyQGIS scripts | psycopg2/SQLAlchemy |
| QGIS Plugin | Yes | Yes | Native | No |
| Cloud-native | S3, Docker, K8s | FME Cloud ($$) | No | Self-managed |