Portolan enables organizations to share geospatial data in a low-cost, accessible, sovereign, and reliable way. Built on cloud-native geospatial formats, a Portolan catalog is as interactive as any geospatial portal—but faster, more scalable, and much cheaper to run.
This CLI converts data to cloud-native formats (GeoParquet, COG), generates rich STAC metadata, and syncs to any object storage—no servers required.
| Benefit | How |
|---|---|
| Scalable | Cloud object storage that scales to petabytes |
| Open | 100% open source, open formats (GeoParquet, COG) |
| AI-Ready | STAC metadata enables semantic search and LLM integration |
| Cheap | Pay only for storage + egress — no servers to run |
| Sovereign | Host anywhere (AWS, GCS, Azure, MinIO, Cloudflare R2) |
| Breaks the GIS silo | Query with DuckDB, Snowflake, BigQuery, Databricks, Pandas — not just GIS tools |
- Convert vector/raster data to cloud-native formats (GeoParquet, COG)
- Generate STAC catalogs with rich metadata, thumbnails, and MapLibre styles
- Version datasets with checksums and history tracking
- Sync to S3, GCS, Azure, or any S3-compatible storage
portolan init
portolan dataset add census.parquet --title "Census 2022" --auto
portolan remote add prod s3://my-bucket/catalog
portolan syncpipx install portolan-cliThis installs portolan in an isolated environment while making the command globally available.
If you don't have pipx installed:
python3 -m pip install --user pipx
python3 -m pipx ensurepathpip install portolan-cliNote: This installs into your global or user site-packages and may conflict with other packages.
Use uv for local development:
git clone https://github.com/portolan-sdi/portolan-cli.git
cd portolan-cli
uv sync --all-extras
uv run portolan --helpSee Contributing Guide for full development setup.
Apache 2.0 — see LICENSE
