Skip to main content

A CLI tool for managing cloud-native geospatial data

Project description

Portolan

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. A small government's vector data costs a few dollars a month; even full imagery and point clouds typically stay under $50/month.

This CLI converts data to cloud-native formats (GeoParquet, COG), generates rich STAC metadata, and syncs to any object storage—no servers required.

Why Portolan?

Benefit How
Scalable Cloud object storage that scales to petabytes
Open 100% open source, open formats (GeoParquet, COG, STAC, Iceberg)
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

What It Does

  • 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

Quick Example

portolan init
portolan dataset add census.parquet --title "Census 2022" --auto
portolan remote add prod s3://my-bucket/catalog
portolan sync

Installation

Recommended: pipx (for global use)

pipx install portolan-cli

This 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 ensurepath

Alternative: pip

pip install portolan-cli

Note: This installs into your global or user site-packages and may conflict with other packages.

For Development

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 --help

See Contributing Guide for full development setup.

Documentation

License

Apache 2.0 — see LICENSE

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

portolan_cli-0.2.0.tar.gz (445.0 kB view details)

Uploaded Source

Built Distribution

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

portolan_cli-0.2.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file portolan_cli-0.2.0.tar.gz.

File metadata

  • Download URL: portolan_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 445.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for portolan_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d8240bf41b4f4041ec4f16d7f294ad1976447381120d687732b2669a35c74019
MD5 f6b8675a44c3b8b450712ff86953b538
BLAKE2b-256 68723a61b0eb870d6b2efffea1ff5a39a39dd2ab682242f659ca5457ebc7a588

See more details on using hashes here.

Provenance

The following attestation bundles were made for portolan_cli-0.2.0.tar.gz:

Publisher: release.yml on portolan-sdi/portolan-cli

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

File details

Details for the file portolan_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: portolan_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for portolan_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a738ac61280603d173372cde6707dffa82a4e98d6248f8da00e47a90ce5fb9da
MD5 9ffa3bffe7377a448cb2dc404b614590
BLAKE2b-256 4130708e8283879e9342f95fc6f1ecaaf79776ea30bb17f1acf4d4a80267a578

See more details on using hashes here.

Provenance

The following attestation bundles were made for portolan_cli-0.2.0-py3-none-any.whl:

Publisher: release.yml on portolan-sdi/portolan-cli

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

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