openplanetdata-airflow
Shared Airflow infrastructure for OpenPlanetData workflows. Provides custom operators, shared constants, and static geospatial data for processing OpenStreetMap data pipelines.
Installation
pip install openplanetdata-airflow
Operators
GolOperator
Runs gol commands inside the OpenPlanetData Docker container, with optional output file redirection.
from openplanetdata.airflow.operators.gol import GolOperator
query = GolOperator(
task_id="query",
args=["query", "planet.gol", "a[boundary=administrative]"],
output_file="/data/output.geojson",
)
Ogr2OgrOperator
Runs ogr2ogr inside a GDAL Docker container. Supports Airflow template rendering and dynamic task mapping with expand().
from openplanetdata.airflow.operators.ogr2ogr import Ogr2OgrOperator
convert = Ogr2OgrOperator(
task_id="convert",
args=["-f", "GPKG", "output.gpkg", "input.geojson"],
)
Shared defaults
The openplanetdata.airflow.defaults module provides shared constants:
| Constant | Description |
|---|---|
DOCKER_MOUNT |
Bind mount configuration for /data |
EMAIL_ALERT_RECIPIENTS |
Alert email recipients |
GDAL_FULL_IMAGE |
GDAL Docker image reference (ubuntu-full) |
GDAL_SMALL_IMAGE |
GDAL Docker image reference (ubuntu-small) |
OPENPLANETDATA_IMAGE |
OpenPlanetData worker Docker image |
OPENPLANETDATA_SHARED_DIR |
Shared data directory path |
OPENPLANETDATA_WORK_DIR |
Working directory path |
R2_BUCKET |
Cloudflare R2 bucket name |
R2INDEX_CONNECTION_ID |
Airflow connection ID for R2 |
Static data
openplanetdata.airflow.data.continents— list of 7 continents with names and slugsopenplanetdata.airflow.data.countries— 250 countries and territories with ISO 3166-1 alpha-2 codes and coastline flags
Docker image
The docker/ directory contains a multi-stage Dockerfile that builds an Airflow worker image with geospatial tools pre-installed:
- aria2 for fast downloads
- GDAL/OGR for format conversions
- GOL (Geodesk) for OSM boundary queries
- osmcoastline for coastline extraction
- pyosmium for OSM data updates
License
MIT
Metadata
Release files for openplanetdata-airflow 1.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openplanetdata_airflow-1.2.2.tar.gz | 9.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openplanetdata_airflow-1.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.1 kB
Release files / openplanetdata_airflow-1.2.2.tar.gz
| Download URL | openplanetdata_airflow-1.2.2.tar.gz |
|---|---|
| Size | 9.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6b3eda5dd57453b474fa5632e7c3376ee3ffdecbd195f028c311fb154838a66f
|
|
BLAKE2b-256 checksum How to use checksums |
2d5c1e94d17e29d3a1d8217417ae63f884ac1d651a020969b0c5065e053afe0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 8, 2026.
Transparency logRelease files / openplanetdata_airflow-1.2.2-py3-none-any.whl
| Download URL | openplanetdata_airflow-1.2.2-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ced5ae528f8470492a26337881a47560bed9c5dd539a9e65c67b9f39fdb5cd67
|
|
BLAKE2b-256 checksum How to use checksums |
a10ae22a921dd2feaf4095229b22c7c8cb2f807d214e7e434de96eb49b030ebc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 8, 2026.
Transparency log