pycsw is an OGC CSW server implementation written in Python. pycsw fully implements the OpenGIS Catalogue Service Implementation Specification [Catalogue Service for the Web]. Initial development started in 2010 (more formally announced in 2011). The project is certified OGC Compliant, and is an OGC Reference Implementation. pycsw allows for the publishing and discovery of geospatial metadata via numerous APIs (CSW 2/CSW 3, OpenSearch, OAI-PMH, SRU). Existing repositories of geospatial metadata can also be exposed, 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). Please read the docs at https://pycsw.org/docs for more information.
File "/projects/harvesters/record-to-pycsw/metadata.py", line 78, in
record = metadata.parse_record(context, metadata_record, repo)
File "/projects/harvesters/lib/python3.10/site-packages/pycsw/core/metadata.py", line 119, in parse_record
return _parse_metadata(context, repos, record)
File "/projects//harvesters/lib/python3.10/site-packages/pycsw/core/metadata.py", line 134, in _parse_metadata
return [_parse_json_record(context, repos, record)]
File "/projects/harvesters/lib/python3.10/site-packages/pycsw/core/metadata.py", line 1707, in _parse_json_record
atom_xml = atom.write_record(recobj, 'full', context)
UnboundLocalError: local variable 'recobj' referenced before assignment
File "/projects/harvesters/record-to-pycsw/metadata.py", line 78, in
record = metadata.parse_record(context, metadata_record, repo)
File "/projects/harvesters/lib/python3.10/site-packages/pycsw/core/metadata.py", line 119, in parse_record
return _parse_metadata(context, repos, record)
File "/projects//harvesters/lib/python3.10/site-packages/pycsw/core/metadata.py", line 134, in _parse_metadata
return [_parse_json_record(context, repos, record)]
File "/projects/harvesters/lib/python3.10/site-packages/pycsw/core/metadata.py", line 1707, in _parse_json_record
atom_xml = atom.write_record(recobj, 'full', context)
UnboundLocalError: local variable 'recobj' referenced before assignment