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.

Quick Start

# Initialize a catalog
portolan init

# Scan a directory for issues (optional but recommended)
portolan scan demographics/

# Add all files in a directory (creates a "demographics" collection)
portolan add demographics/

# notest - requires S3 credentials
# Push the collection to remote storage
portolan push s3://my-bucket/catalog --collection demographics

Other common commands:

portolan check                              # Validate catalog
portolan check --fix                        # Convert to cloud-native formats
portolan rm --keep demographics/old.parquet # Untrack without deleting
# notest - requires S3 credentials
portolan pull s3://my-bucket/catalog -c demographics  # Pull from remote
# notest - requires S3 credentials
portolan sync s3://my-bucket/catalog -c demographics  # Full workflow: pull → check → push
portolan config set remote s3://my-bucket/catalog     # Save remote URL
portolan config list                        # List all config settings

Installation

Recommended: pipx (for global use)

# notest - installation command
pipx install portolan-cli

This installs portolan in an isolated environment while making the command globally available.

If you don't have pipx installed:

# notest - installation commands
python3 -m pip install --user pipx
python3 -m pipx ensurepath

Alternative: pip

# notest - installation command
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:

# notest - development setup
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.3.tar.gz (5.0 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-0.4.3-py3-none-any.whl (212.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: portolan_cli-0.4.3.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • 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.3.tar.gz
Algorithm Hash digest
SHA256 2158ab290232de523a51fcefb4b1f841f4cec1e5bef56dfc35c90f4a4c3a52b5
MD5 13fb0f3d873ca197821fdc5db7efed7e
BLAKE2b-256 40d582451c1b0f926aedbc8053a9dc7d7cc8489d8891497b51b5e275f903e793

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: portolan_cli-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 212.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.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dbb891c07af2a40c55b14755a5b58fef2d249ef30e5dceda98effccea676782c
MD5 148ff62a1e2ea5e1028a353b11c20093
BLAKE2b-256 3d9c91f3c7cf4be0a27ebb499837432aea4957c6776005de316c75c832bfa2e2

See more details on using hashes here.

Provenance

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