Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.8.0 instead.
Reason given by maintainers: superseded by 0.8.0

Portolan CLI

PyPI version CI codecov Python 3.10+ License

Portolan is an opinionated specification for serverless spatial data infrastructures. It defines how publishers store, organize, document, and serve geospatial data as static files in their own storage. Every Portolan catalog should offer a predictable, high-quality experience for publishers, people, and agents.

Portolan builds on existing standards instead of replacing them. GeoParquet and PMTiles serve vector data, while COG serves raster data. STAC provides a consistent catalog structure and index. Required README and AGENTS.md files explain each catalog to people and agents. The specification also covers operational details such as spatial ordering, bounding boxes, and CORS.

This repository contains the Portolan CLI, an implementation of the specification. It helps publishers:

  • Build STAC catalogs with GeoParquet and COG assets.
  • Extract ArcGIS, WFS, and Carto sources.
  • Generate thumbnails, PMTiles, MapLibre styles, and STAC GeoParquet indexes.
  • Track collection versions and checksums without a database.
  • Validate catalog metadata, structure, and assets against the Portolan specification.
  • Push, pull, sync, and clone catalogs through S3, GCS, Azure, or S3-compatible storage.
  • Use structured JSON output, a typed Python API, or backend plugins.

Installation

uv tool install portolan-cli

Or with pip:

pip install portolan-cli

Documentation

Start with the end-to-end publishing example. We plan to add more tutorials over time.

See the full documentation. It includes an auto-generated CLI reference and Python API reference.

Development

git clone https://github.com/portolan-sdi/portolan-cli.git
cd portolan-cli
uv sync --all-extras
uv run pytest

See the contributing guide for details.

License

Apache 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

portolan_cli-1.0.0b0.tar.gz (6.8 MB view details)

Uploaded Source

Built Distribution

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

portolan_cli-1.0.0b0-py3-none-any.whl (749.8 kB view details)

Uploaded Python 3

File details

Details for the file portolan_cli-1.0.0b0.tar.gz.

File metadata

  • Download URL: portolan_cli-1.0.0b0.tar.gz
  • Upload date:
  • Size: 6.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for portolan_cli-1.0.0b0.tar.gz
Algorithm Hash digest
SHA256 9ee57446a42ea39c83d2b396c4f9a0666c91a423408a38016dd5811f23a86133
MD5 c98a8259cb56497c1580740c83223886
BLAKE2b-256 ee26ad56e4187883e17df882dd6fcf687d6909a66eb50756748e8fdbfbb9b97c

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for portolan_cli-1.0.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 47602994404efbbd4189fbc2e484fcfbb0742a307110988f6eb55c374ad42fcd
MD5 3b5d903c5c2d4862fe7e3dfd1983707d
BLAKE2b-256 84c69238801521320da8258c546b0488387e44587a8c50ff1ede028d506c0c8e

See more details on using hashes here.

Provenance

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

Release history Release notifications | RSS feed

This release

1.0.0b0 This release

2 files

1.0.0a0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.2.0

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

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