Repository Plugins


pycsw allows for the implementation of custom repositories in order to connect to a backend different from the pycsw’s default. This is especially useful when downstream applications manage their own metadata model/database/document store and want pycsw to connect to it directly instead of using pycsw’s default model, thus creating duplicate repositories which then require syncronization/accounting. Repository plugins enable a single metadata backend which is independent from the pycsw setup. pycsw thereby becomes a pure wrapper around a given backend in providing OGC API - Records, CSW and other APIs atop a given application.

All outputschemas must be placed in the pycsw/plugins/outputschemas directory.


Repository plugins:

  • can be developed and referenced / connected external to pycsw

  • must be accessible within the PYTHONPATH of a given application

  • must implement pycsw’s pycsw.core.repository.Repository properties and methods

  • must be specified in the pycsw Configuration as a class reference (e.g.

  • must minimally implement the query_insert, query_domain, query_ids, and query methods


  • set pycsw’s repository.source setting to the class which implements the custom repository:

    mappings: ''