Skip to main content

oex

Open Data Exporter. Country-scale vector data from OpenStreetMap and Overture Maps, exported to GeoPackage, Shapefile, GeoJSON, or KML. Optional HDX publication.

Install

One-line installer (picks uv, pipx, or pip --user, whichever you have):

curl -LsSf https://raw.githubusercontent.com/osgeonepal/oex/main/scripts/install.sh | sh

Or pick directly:

uv tool install oex          # uv
pipx install oex             # pipx
pip install --user oex       # pip

Or run the docker image without installing anything:

docker run --rm -v "$PWD/output:/app/output" \
  ghcr.io/osgeonepal/oex:latest oex-cli osm npl

For docker as a system command:

curl -LsSf https://raw.githubusercontent.com/osgeonepal/oex/main/scripts/install.sh | sh -s -- --docker

That writes /usr/local/bin/oex-cli wrapping the docker image so oex-cli osm npl runs the container.

One liner country export

oex-cli osm npl

Eight categories (Buildings, Roads, Hospitals, Schools, Rivers, Land Use, Transportation Hubs, Settlements) for Nepal as gpkg + shp zips in ./output/. Replace npl with any ISO3. Use oex-cli overture <iso3> for Overture Maps instead.

Two ways to customise

# Curated schema (12-layer HOT-style HDX export, Overture data package, etc)
oex-cli osm --config configs/examples/hot-schema.yaml --iso3 NPL

# Your own categories
oex-cli osm --config ./my-stuff.yaml

See Get started for the install matrix and three flows in detail, Custom categories for the schema, and HDX publication for pushing to HDX.

Features

  • 8 default categories: Buildings, Roads, Hospitals, Schools, Rivers, Land Use, Transportation Hubs, Settlements.
  • 12-layer HOT-style HDX schema mirroring hotosm_<iso3>_* exports.
  • 15-dataset Overture data package (one per theme/feature type).
  • Output formats: gpkg, shp, geojson, kml. Default is [gpkg, shp].
  • Administrative pcode tagging: each feature gets adm0-adm4 pcode and name columns from fieldmaps.io humanitarian boundaries.
  • Name transliteration to Latin script (name_latin) via unidecode, with name_en preferred when present.
  • ISO3 language columns (name_hi, name_ar, name_ne, ...) resolved via pycountry + babel.
  • Per-category export report: feature count, bbox, geometry types, temporal range, null %, distinct counts, and top values per column.
  • Brazil HOT 12-category run: ~22 M features in ~63 min, peak ~5.7 GB RAM.

Develop from source

git clone https://github.com/osgeonepal/oex
cd oex
just setup
just test
just osm nepal

Stack

Concern Tool
Package manager uv
Build backend uv_build
Linter + formatter ruff
Type checker ty
Tests pytest + pytest-cov
Task runner just
Query engine DuckDB + spatial extension
OSM parser QuackOSM
Overture access DuckDB httpfs over s3://overturemaps-us-west-2
Boundaries (default) geoBoundaries CGAZ ADM0
Pcode boundaries fieldmaps.io humanitarian admin boundaries
Pcode index H3 hexagonal cell index at resolution 7

License

GPL-3.0-only. See LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oex-0.4.2.tar.gz (124.4 kB view details)

Uploaded Source

Built Distribution

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

oex-0.4.2-py3-none-any.whl (103.3 kB view details)

Uploaded Python 3

File details

Details for the file oex-0.4.2.tar.gz.

File metadata

  • Download URL: oex-0.4.2.tar.gz
  • Upload date:
  • Size: 124.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for oex-0.4.2.tar.gz
Algorithm Hash digest
SHA256 f29e65cab36e2ad06d5198e1b37712762b780ff4a8a4020db22c46fe9db8eadb
MD5 04d777a64055304bc87c7a967cd725f8
BLAKE2b-256 f463b46cde55dbadec7be7ea4c48d5822c4d7cea866df869fe853149ebf20be7

See more details on using hashes here.

File details

Details for the file oex-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: oex-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 103.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for oex-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3a5089b58a50a8121450ac979b9bbff1593a8206a1290f2a0939cc0eeec3eaac
MD5 1df3babdc10df230f89d460dc4bdb231
BLAKE2b-256 f676674da4646f557dc1f53c844a15635a0f6d3446b95b7e3a7f6937c330bb6b

See more details on using hashes here.

Release history Release notifications | RSS feed

0.4.10

2 files

0.4.9

2 files

0.4.8

2 files

0.4.7

2 files

0.4.6

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

This release

0.4.2 This release

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page