Introduction

pycsw is an OARec and OGC CSW server implementation written in Python.

Features

OGC API - Records support

  • Part 1: Core

OGC API - Features support

  • Part 3: Filtering
  • Part 4: Create, Replace, Update and Delete

CQL

  • Common Query Language (CQL2)

Supported Output Formats

  • JSON (default)
  • XML

Supported Filters

  • q
  • datetime
  • filter / filter-lang (CQL)
  • bbox
  • all properties (property=value)

Paging

  • limit
  • offset

CSW Support

Supported Operations

Request Optionality Supported HTTP method binding(s)
GetCapabilities mandatory yes GET (KVP) / POST (XML) / SOAP
DescribeRecord mandatory yes GET (KVP) / POST (XML) / SOAP
GetRecords mandatory yes GET (KVP) / POST (XML) / SOAP
GetRecordById optional yes GET (KVP) / POST (XML) / SOAP
GetRepositoryItem optional yes GET (KVP)
GetDomain optional yes GET (KVP) / POST (XML) / SOAP
Harvest optional yes GET (KVP) / POST (XML) / SOAP
UnHarvest optional no  
Transaction optional yes POST (XML) / SOAP

Note

Asynchronous processing supported for GetRecords and Harvest requests (via csw:ResponseHandler)

Note

Supported Harvest Resource Types are listed in Transactions using CSW

Supported Output Formats

  • XML (default)
  • JSON

Supported Output Schemas

  • Dublin Core
  • ISO 19139
  • FGDC CSDGM
  • NASA DIF
  • Atom
  • GM03
  • DataCite

Supported Sorting Functionality

  • ogc:SortBy
  • ascending or descending
  • aspatial (queryable properties)
  • spatial (geometric area)

Supported Filters

Geometry Operands

  • gml:Point
  • gml:LineString
  • gml:Polygon
  • gml:Envelope

Note

Coordinate transformations are supported

Spatial Operators

  • BBOX
  • Beyond
  • Contains
  • Crosses
  • Disjoint
  • DWithin
  • Equals
  • Intersects
  • Overlaps
  • Touches
  • Within

Logical Operators

  • Between
  • EqualTo
  • LessThanEqualTo
  • GreaterThan
  • Like
  • LessThan
  • GreaterThanEqualTo
  • NotEqualTo
  • NullCheck

Functions

  • length
  • lower
  • ltrim
  • rtrim
  • trim
  • upper

OAI-PMH Support

Supported Operations

  • GetRecord
  • Identify
  • ListIdentifiers
  • ListMetadataFormats
  • ListRecords
  • ListSets

Supported Filters

  • from
  • until
  • set

Paging

  • resumptionToken