pygeometa

pygeometa is a Python package to generate metadata for geospatial datasets.

community project

pygeometa

community projectgeopython

pygeometa provides a lightweight and Pythonic approach for users to easily create geospatial metadata in standards-based formats using simple configuration files (affectionately called Metadata Control Files [MCF]). Leveraging the simple but powerful YAML format, pygeometa can generate metadata in numerous standards. Users can also create their own custom metadata formats which can be plugged into pygeometa for custom metadata format output.

For developers, pygeometa provides a Pythonic API that allows developers to tightly couple metadata generation within their systems and integrate nicely into metadata production pipelines.

The project supports various metadata formats out of the box including ISO 19115, the WMO Core Metadata Profile, and the WIGOS Metadata Standard. Can’t find the format you’re looking for? Element(s) missing from a given format? Feel free to open an issue!

pygeometa has minimal dependencies (wheel install is less than 100 kB), and provides a flexible extension mechanism leveraging the Jinja2 templating system.

pygeometa is open source and released under an MIT license.

Core features

  • configuration

    • simple YAML-based configuration
  • validation

    • real-time MCF validation
  • extensibility

    • extensible: plugin architecture allows for easy addition of new metadata formats using Jinja2 templates or custom workflow (JSON, YAML, CSV, etc.)
  • flexibility

    • flexible: use as a command-line tool or integrate as a library
  • interoperability

    • import from external metadata sources
  • internationalization

    • multilingual support

Implemented Standards

  • Catalogue Service for the Web (CSW)
  • Data Catalog Vocabulary / Resource Description Framework (DCAT/RDF)
  • Geographic JSON (GeoJSON)
  • (ISO19115)
  • (OGC API - Records)
  • SpatioTemporal Asset Catalogs (STAC)