The project is certified OGC Compliant, and is an OGC Reference Implementation for both CSW 2.0.2 and 3.0.0
pycsw is an official OSGeo Project
CSW 3.0.0 provides major features and improvements over CSW 2.0.2 as part of the evolution of OGC Catalogue Services, including Open Search Geo and Time Extensions, OpenSearch 1.1, and the Atom Syndication Format.
Other enhancements include:
pycsw.server.Csw.dispatch_wsgi
now returns the HTTP status code along with the response string)
http://localhost/csw # returns 3.0.0 Capabilities
http://localhost/csw?service=CSW&request=GetCapabilities # returns 3.0.0 Capabilities
http://localhost/csw?service=CSW&version=2.0.2&request=GetCapabilities # returns 2.0.2 Capabilities
http://localhost/csw?service=CSW&version=3.0.0&request=GetCapabilities # returns 3.0.0 Capabilities
To query pycsw via OpenSearch, requests must be specificed with mode=opensearch. The following parameters are supported:
Some examples:
More examples:
{
"tag": "csw30:SummaryRecord",
"children": [
{
"text": "urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f",
"tag": "dc:identifier"
},
{
"text": "Lorem ipsum",
"tag": "dc:title"
},
{
"text": "http:\/\/purl.org\/dc\/dcmitype\/Image",
"tag": "dc:type"
},
{
"text": "Tourism--Greece",
"tag": "dc:subject"
},
{
"text": "image\/svg+xml",
"tag": "dc:format"
},
{
"text": "Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu.",
"tag": "dct:abstract"
}
]
}
"csw30:SummaryRecord": [
{
"dc:identifier": "urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f",
"dc:title": "Lorem ipsum",
"dc:type": "http:\/\/purl.org\/dc\/dcmitype\/Image",
"dc:subject": "Tourism--Greece",
"dc:format": "image\/svg+xml",
"dct:abstract": "Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu."
}
# Setup a virtual environment:
$ virtualenv pycsw && cd pycsw && . bin/activate
# Grab the pycsw source code:
$ git clone https://github.com/geopython/pycsw.git && cd pycsw
$ pip install -e . && pip install -r requirements-standalone.txt
# Create and adjust a configuration file:
$ cp default-sample.cfg default.cfg
$ vi default.cfg
# adjust paths in
# - server.home
# - repository.database
# set server.url to http://localhost:8000/
# Setup the database:
$ pycsw-admin.py -c setup_db -f default.cfg
# Load records by indicating a directory of XML files, use -r for recursive:
$ pycsw-admin.py -c load_records -f default.cfg -p /path/to/xml/
# Run the server:
$ python ./pycsw/wsgi.py
# See that it works!
$ curl http://localhost:8000/?service=CSW&version=2.0.2&request=GetCapabilities
See more at the pycsw Live Deployments Map
http://pycsw.org/community.html
http://lists.osgeo.org/mailman/listinfo/pycsw-devel
#pycsw and #geopython on Freenode
https://github.com/geopython/pycsw
Oregon Coastal & Marine Data Network pycsw Workshop materials available at http://www.coastalmarinedata.net/?p=229
Workshop source code available on https://github.com/geopython/pycsw-workshop
The 2.0.0 release is codenamed “Doug” in honour of Doug Nebert of the FGDC. Doug was internationally recognized as a champion of metadata, discovery and interoperability. Involved in numerous international standards bodies and spatial data infrastructure initiatives, Doug was one of the editors of the CSW 3.0 specification and encouraged pycsw developers to adopt and implement CSW 3.0 as part of US data.gov efforts. Doug’s vision and expertise will always be remembered and appreciated by the pycsw development team.