Skip to main content

A CLI tool for managing cloud-native geospatial data

Project description

Portolan

CI codecov Ruff PyPI version Python 3.10+


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.

Why Portolan?

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

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.4.0.tar.gz (653.7 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.4.0-py3-none-any.whl (35.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: portolan_cli-0.4.0.tar.gz
  • Upload date:
  • Size: 653.7 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.4.0.tar.gz
Algorithm Hash digest
SHA256 760c227523acdc0af13bc473638043d68fd832a86fdf50dfba7505d4b2ddb2ce
MD5 6a7304395592bb276853f81f3da66b62
BLAKE2b-256 030f3b284914380570ec28a1f1ddabb33a3e7afa1dd2042e6873514aa1a0c358

See more details on using hashes here.

Provenance

The following attestation bundles were made for portolan_cli-0.4.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.4.0-py3-none-any.whl.

File metadata

  • Download URL: portolan_cli-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 35.7 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff6df7a5f006d306998a45a61b13466fce404e582d11ea6af4807c75c6b6b29c
MD5 4abcf7c36860bf13b90691d4574fe611
BLAKE2b-256 29b675597b80ef866cf02d54ad9e6386e6a7256d01120b177b704dbd7ce0da8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for portolan_cli-0.4.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