Quickstart

Get started with Portolan in minutes. Browse existing catalogs, then publish your own data.

// STEP 1

Browse a catalog

Portolan catalogs are live on the web. Open the Portolan Browser to explore published datasets — view metadata, preview maps, and inspect data tables. Everything you see is served directly from cloud-native files on object storage, with zero servers.

Query with DuckDB

Any GeoParquet file in a Portolan catalog can be queried directly with DuckDB — no download needed. Just point at the URL.

duckdb
$ duckdb
SELECT * FROM read_parquet(
'https://my-catalog.s3.amazonaws.com/parcels.parquet'
) WHERE area_sqm > 1000 LIMIT 10;
// STEP 2

Publish your data

Two paths to get your data into a Portolan catalog.

With the CLI

Install the portolan-cli, then init, add, convert, and push.

install · zsh
$ uv tool install portolan-cli
my-data · zsh
# Initialize a new catalog
$ cd my-data && portolan init
# Add your data files
$ portolan add .
✓ found 12 files (parcels.shp, ortho.tif, roads.shp ...)
# Convert to cloud-native formats
$ portolan check --fix
→ parcels.shp → GeoParquet
→ ortho.tif → COG
→ roads.shp → GeoParquet
✓ STAC catalog generated
# Push to cloud storage
$ portolan push s3://my-bucket/catalog
✓ synced 12 assets to s3://my-bucket/catalog
▸ https://my-bucket.s3.amazonaws.com/catalog.json
done · 0:32 elapsed

With Claude

If you have Claude Code, install the Portolan skill and point Claude at your data. It handles format conversion, metadata generation, and publishing.

install skill · zsh
# In Claude Code, install the Portolan skill
$ claude install portolan-sdi/portolan-cli
claude code
$ claude
> /portolan-cli publish the shapefiles in ./gov-data
to s3://my-catalog