Skip to main content

Install GeoSQL instructions into local AI CLIs.

Project description

GeoSQL

Claude, Codex, and GitHub Copilot skill for data scientists and analysts working with geospatial data on PostGIS, BigQuery, Snowflake, and Wherobots.

Note: No SaaS account needed. Works 100% locally or self-hosted.

GeoSQL demo

4x improvement on geospatial tasks with map in the loop.

Agent with maps loop, 4x performance

Quick Start

With Python (interactive mode):

pip install geosql && geosql

GeoSQL first installs the skill into your detected agent. It then checks whether the optional Dekart CLI is ready and, only when needed, asks before installing or initializing it. The prompt shows the exact commands and defaults to the recommended install option.

After installing, prompt your agent like this:

/geosql Show EV charger density along major roads and render a map

Optional: maps and database connections with Dekart

GeoSQL can use Dekart so your agent renders maps, reads them back to fix geometry, and connects to PostGIS, BigQuery, Snowflake, or Wherobots.

After a successful install, GeoSQL offers to set up Dekart:

  • Install Dekart CLI (recommended) runs the pip install and dekart init. Already installed and configured? GeoSQL detects it and skips ahead.
  • Not now (or Escape / Ctrl+C / a non-interactive terminal) leaves GeoSQL installed and prints the commands for later:
python -m pip install dekart
dekart init

dekart init connects to Dekart Cloud (no Docker needed), or point it at a local or self-hosted instance.

Example prompts to try in your agent:

Real estate analysis:

/geosql Show buildings with low school accessibility in Ottawa, render as a map

Site selection:

/geosql Find the top 10 locations for Sporting Goods Store in Seattle based on POI co-location and distance to the nearest competitor. Create a map.

EV charging infrastructure:

/geosql create map EV charger density along major Romanian roads, highlighting how many charging stations are within 5 km of each motorway, trunk, or primary road segment.

How it works

GeoSQL runs an agent loop with a map in it.

  1. Discovery. The skill explores your warehouse metadata (tables, columns, types) instead of guessing schemas. Works with Overture Maps shares on BigQuery and Snowflake, and your private tables on PostGIS, BigQuery, Snowflake, or Wherobots.
  2. SQL. The agent writes spatial SQL using the right functions for your engine (ST_INTERSECTS, ST_DISTANCE, H3, bbox overlap for partition pruning, and so on).
  3. Cost check. On BigQuery, every query is dry-run first to estimate bytes scanned. A 10 GiB billing cap is enforced by default. Over-budget queries get rewritten cheaper (tighter bbox, lower H3 resolution, more filters) instead of executed.
  4. Geometry validation. The agent computes total area (polygons) or total length (lines) as a sanity check, and cross-checks against domain knowledge.
  5. Map feedback. When available, the agent renders the result through Dekart, looks at the rendered image, and corrects geometry mistakes the text-only loop would miss. This is the loop that gets the 4x improvement.

The skill uses your local CLI authentication (bq, snow, dekart), so warehouse credentials never go to the agent.

Benchmarks

GeoSQL ships with a reproducible eval suite under evals/. Each case asserts specific behaviors (cost guardrails, validation steps, correct result), not just "did the agent answer."

Current results on the included suite:

Case Assertions Pass rate
london-boroughs 4 100%
berlin-create-map 3 100%
paris-boundaries 1 100%
Total 8 100%

Average: 3,085 tokens per turn, 72 s duration per turn.

The 4x improvement chart above compares the same task set with and without the map-in-loop step. Without maps, the agent's text-only validation misses geometry-class errors (mistaking a neighborhood polygon for a metro-area perimeter, double-counting overlapping features, picking the wrong join key on coordinate-reference systems). Adding the rendered map as a tool call lets the agent see those mistakes and self-correct.

Run the suite yourself:

python evals/run.py

See evals/RUNBOOK.md for setup and how to add new cases. PRs with new evals welcome.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geosql-0.27.0.tar.gz (7.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geosql-0.27.0-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

Details for the file geosql-0.27.0.tar.gz.

File metadata

  • Download URL: geosql-0.27.0.tar.gz
  • Upload date:
  • Size: 7.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for geosql-0.27.0.tar.gz
Algorithm Hash digest
SHA256 46ac427918ed22d241759268e41d3af96fe76ddca6dcf6b2fc5b89edf59e1101
MD5 412db32bb0f387d04c8e61d37f498f2b
BLAKE2b-256 58a6cdb39db0040098944e60fbe513c1321828cd9ac9aa43db01a4b053068af8

See more details on using hashes here.

File details

Details for the file geosql-0.27.0-py3-none-any.whl.

File metadata

  • Download URL: geosql-0.27.0-py3-none-any.whl
  • Upload date:
  • Size: 28.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for geosql-0.27.0-py3-none-any.whl
Algorithm Hash digest
SHA256 77bb6d4094949011222957f09d05537480e290a0f1187f6bfafe7d55fd32393a
MD5 1d27cf4206390793bbb0a2d2941d3cad
BLAKE2b-256 49b7c6b192ca53e5d558342760e2d2120fc6426e68c9e3a8d3d4fb9cb9bfa852

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page