Skip to main content

geodeploy

Command-line client and Python API for GeoDeploy — the self-hosted spatial data platform and geoportal builder.

Upload data, style it, build a portal and publish it, without opening a browser:

pip install geodeploy

geodeploy login https://geodeploy.example.org --token gdp_…
geodeploy upload roads.gpkg sites.csv dem.tif --wait
geodeploy portals create "Field sites 2026" --publish

No dependencies. Python 3.9+. Every request goes through the standard library, so installing this pulls in nothing else — and a QGIS plugin can vendor the same client without asking anyone to pip-install into QGIS.

If your shell cannot find geodeploy after installing, pip's scripts directory is not on your PATHpython -m geodeploy works regardless, and pipx install geodeploy or a virtual environment avoids it.

What it covers

  • Uploads — shapefile, GeoPackage, GeoJSON, CSV (X/Y or WKT), GeoParquet, GeoTIFF. Many files in one command; the route is chosen per file, and anything over 48 MB goes direct to object storage in parallel presigned parts, so a multi-gigabyte upload survives a proxy that caps request bodies.
  • Layers — list, inspect, rename, share (STAC / OGC API - Features opt-in), share links per tool, download, delete, restart a stalled ingest.
  • Symbology — colour, opacity, outlines, dashes, markers, raster colormaps and stretches, plus data-driven styling: --color-field pop --classify jenks --classes 6 --ramp magma, proportional size, and attribute-driven 3D. Classification is computed by the instance, with the same code the portal editor uses, so the CLI and the editor can never disagree about a class.
  • Portals — create (web map, story map or catalog), arrange and style layers, folders, About page, assets, access tiers, publish, and a whole-configuration JSON round trip for version control.
  • Everything else — external WMS/XYZ/WFS services, registering data already in PostGIS or the bucket, the public STAC and OGC API - Features catalog, ingest jobs, users, and instance administration (health, services, updates, backups, activity log).

Every command takes --json, where stdout is exactly one JSON document, and exit codes distinguish authentication (3) from network (4) from server (5) so a scheduled job can alert on the right thing.

As a library

from geodeploy import Client

gd = Client("https://geodeploy.example.org", token="gdp_…")
result = gd.uploads.upload("roads.gpkg", wait=True)
portal = gd.portals.create("Roads")
gd.portals.add_layer(portal["id"], result.layer_id, "vector", {"color": "#e11d48"})
gd.portals.publish(portal["id"])

Typed exceptions (AuthError, PermissionError_, NotFoundError, ValidationError, ServerError, TransportError, JobFailed), progress callbacks and cancellation on uploads, and a swappable transport so a desktop application can route requests through its own network stack.

Documentation

Full guide: https://docs-geodeploy.kndev.org/cli/

Source and issues: https://github.com/bravemaster3/GeoDeploy

Licensed under the Apache License 2.0.

Download files

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

Source Distribution

geodeploy-1.4.0.tar.gz (133.3 kB view details)

Uploaded Source

Built Distribution

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

geodeploy-1.4.0-py3-none-any.whl (112.2 kB view details)

Uploaded Python 3

File details

Details for the file geodeploy-1.4.0.tar.gz.

File metadata

  • Download URL: geodeploy-1.4.0.tar.gz
  • Upload date:
  • Size: 133.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for geodeploy-1.4.0.tar.gz
Algorithm Hash digest
SHA256 11e3a9ebbd336ef71b52f2943da82ecad7aeeda818c92fc1f58a1f3db1816ed7
MD5 acf900df5b60ab73cc6a2a82f9114495
BLAKE2b-256 7b39e50e248aa0e07b9c8c879a737e2125b39d73b6e675e3e5b649f5a3868922

See more details on using hashes here.

Provenance

The following attestation bundles were made for geodeploy-1.4.0.tar.gz:

Publisher: publish-cli.yml on bravemaster3/GeoDeploy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file geodeploy-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: geodeploy-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 112.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for geodeploy-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9989ceabb4c626629ac185ca46a57d1d3f9439dc5ae310a7caa21aeda80ff3f3
MD5 2ac522070f8a2d7665a299d260e07460
BLAKE2b-256 7c4719d220f0a76f60434e659d83a4a30f152c988f9df383228cfb328a817a96

See more details on using hashes here.

Provenance

The following attestation bundles were made for geodeploy-1.4.0-py3-none-any.whl:

Publisher: publish-cli.yml on bravemaster3/GeoDeploy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.5.0

2 files

This release

1.4.0 This release

2 files

1.3.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page