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.6.tar.gz (131.8 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.6-py3-none-any.whl (107.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: oex-0.4.6.tar.gz
  • Upload date:
  • Size: 131.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.6.tar.gz
Algorithm Hash digest
SHA256 21b55b11329b335cb4fb60362e5d9712b030fd850c43958bd05aecd97ebecf24
MD5 384515ea9d88635f30308c760904f304
BLAKE2b-256 8ac7ae7c8f04ce58cafeda124f60b326cdf98f7420a132ed44d4d99344648167

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oex-0.4.6-py3-none-any.whl
  • Upload date:
  • Size: 107.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 efc55556a2d5b21deebc747cc5f7cceb0182f698b508a8d49e70c4a36e489fac
MD5 2ed77c1c02ac03b567f0cbf3186ecfbb
BLAKE2b-256 336f4fce0feb08d859c89a37bbfa45430f2a377e261fd4e9c3f620aa6851739c

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

This release

0.4.6 This release

2 files

0.4.5

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.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