This RFC describes the pycsw implementation of the OGC API - Records - Part 1: Core Specification (OGC 20-004).
OGC API - Records (i.e. OARec) is part of the overall OGC API to modernize API specifications in support of lowering the barrier to implementation, leveraging more native web patterns, as well as modern web technologies. The OGC API effort represents a clean break from first generation OGC web services.
Notable enhancements include:
Given the pycsw architecture, the approach will be to leverage the existing pycsw configuration and backend metadata repository management via the pycsw native Python API. OARec will be implemented on top of
Given the major changes in OARec, the following technical strategies are put forth:
pycsw.wsgi_flask to optionally serve all supported pycsw APIs
(OARec, CSW 2/3, OAI-PMH, OpenSearch, SRU)pycsw.ogc.api.records for core OARec supportpycsw.ogc.api.oapi for OpenAPI supportrequirements-oarec.txt for OARec specific requirementsOARec support is enabled by default and is exposed by deploying
pycsw.wsgi_flask via WSGI. The default Docker implementation will
be updated to use pycsw.wsgi_flask thereby supporting all pycsw APIs.
The pycsw.wsgi_flask WSGI deployment provides updated routes as follows:
/: OARec/csw: CSW 2/3/oaipmh: OAI-PMH/opensearch: OpenSearch/sru: SRUExisting functionality will stil exist via the pycsw.wsgi WSGI deployment.
pycsw.ogc.api
oarec unit tests will be addedNone.
None
None expected.
None
None
Documentation will be updated to describe OARec support and features. A migration guide will also be provided for users wishing to upgrade to OARec and the Flask deployment strategy.
https://github.com/geopython/pycsw/issues/670
https://github.com/geopython/pycsw/pull/686
+1 from @capooti, @amercader, @kalxas, @tomkralidis
Adopted.