GeoPython 2020

pygeoapi: an OSGeo community project implementing OGC API standards
2020-09-21, 15:20–15:50, Room 1

pygeoapi is an OGC Reference Implementation compliant with the OGC API - Features specification. pygeoapi supports many other OGC APIs via the Flask web framework and a fully integrated OpenAPI (REST) structure.


The proliferation of REST [1] as an architectural style as well as OpenAPI [2] has resulted in broader adoption of
a leaner service contract and the OGC developing a new generation of API specifications in support of discovery, access, visualization and processing of geospatial data [3]. These efforts are aimed to lower the barrier to implementation, especially for mass-market/non-geospatial developers.

pygeoapi [4] is an OGC Reference Implementation compliant with the OGC API - Features specification. Implemented in Python, pygeoapi supports many other OGC APIs via the Flask web framework and a fully integrated OpenAPI structure. Lightweight, easy to deploy and cloud-ready, pygeoapi's architecture facilitates publishing datasets and processes from multiple sources. Implementations of other OGC APIs are in progress for the 1.0 roadmap, including gridded/coverage data (OGC API - Coverages), search (OGC API - Records), and vector/map tiles (OGC API - Tiles). pygeoapi is a community project of the Open Source Geospatial Foundation (OSGeo).

pygeoapi follows a clear separation structure with a view, provider/plugin and entry point module. The view approach allows for easy integration with other Python web frameworks like Starlette and Django. The provider abstracts connectivity to numerous data sources (CSV, SQLite3, GeoJSON, Elasticsearch, GDAL/OGR) and provides extensibility to support additional formats, databases, object storage and more.

This presentation will provide an overview of pygeoapi, current status and next steps as part of the evolution of the project.