Metadata Publishing Just Got Easier

pycsw is an OGC CSW server implementation written in Python. Started in 2010 (more formally announced in 2011), pycsw allows for the publishing and discovery of geospatial metadata, providing a standards-based metadata and catalogue component of spatial data infrastructures. pycsw is Open Source, released under an MIT license, and runs on all major platforms (Windows, Linux, Mac OS X).

Deploy in 4 Minutes

        # 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 csw.wsgi
        
        # See that it works!
        $ curl http://localhost:8000/?service=CSW&version=2.0.2&request=GetCapabilities
        

Lightweight, Fast

pycsw stays out of your way:
  • Just a Python library
  • Install in just 4 minutes
  • Run multiple CSW endpoints with a single install
  • Headless: no GUI, just simple, scriptable command line configuration/deployment
  • Fully compliant, transactional, extensible metadata server in less than 250KB

Features

Flexible

Everything is callable and configurable:

  • Embed within your Python application, or use standalone
  • Deploy via mod_wsgi, Django, Flask, Pylons, or CGI
  • Integrated with popular open data portal software: GeoNode, CKAN, Open Data Catalog
  • Hook up to your existing metadata database, or use pycsw's native model and import your XML files
  • Choose your backend: PostgreSQL (with or without PostGIS), MySQL, or hack with SQLite
  • Manage settings in a configuration file, database, or even pass a Python dict
  • Robust, byte-level testing / continuous integration

Read the Docs

Compliant

pycsw is Certified OGC Compliant and is an OGC Reference Implementation

This product conforms to the OpenGIS Catalogue Service Implementation Specification [Catalogue Service for the Web], Revision 2.0.2. OGC, OGC®, and CERTIFIED OGC COMPLIANT are trademarks or registered trademarks of the Open Geospatial Consortium, Inc. in the United States and other countries.

This product conforms to the OpenGIS Catalogue Service Implementation Specification [Catalogue Service for the Web], Revision 2.0.2. OGC, OGC®, and CERTIFIED OGC COMPLIANT are trademarks or registered trademarks of the Open Geospatial Consortium, Inc. in the United States and other countries.

OSGeo Project in Incubation

View the Demos