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.