https://github.com/artefactual-labs/mets-reader-writer
Library to parse and create METS files, especially for Archivematica.
https://github.com/artefactual-labs/mets-reader-writer
archivematica mets premis
Last synced: 8 months ago
JSON representation
Library to parse and create METS files, especially for Archivematica.
- Host: GitHub
- URL: https://github.com/artefactual-labs/mets-reader-writer
- Owner: artefactual-labs
- License: agpl-3.0
- Created: 2015-09-08T18:32:19.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2025-03-10T14:55:44.000Z (over 1 year ago)
- Last Synced: 2025-03-30T19:05:47.459Z (about 1 year ago)
- Topics: archivematica, mets, premis
- Language: Python
- Homepage: https://mets-reader-writer.readthedocs.io
- Size: 821 KB
- Stars: 21
- Watchers: 14
- Forks: 13
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# METS Reader & Writer
By [Artefactual](https://www.artefactual.com/)
[](https://badge.fury.io/py/metsrw)
[](https://github.com/artefactual-labs/mets-reader-writer/actions/workflows/test.yml)
[](https://codecov.io/gh/artefactual-labs/mets-reader-writer)
METSRW is a library to help with parsing and creating METS files.
It provides an API, and abstracts away the actual creation of the XML.
METSRW was initially created for use in [Archivematica](https://github.com/artefactual/archivematica/)
and is managed as part of that project.
You are free to copy, modify, and distribute metsrw with attribution under the
terms of the AGPL license. See the [LICENSE](LICENSE) file for details.
## Installation & Dependencies
METSRW can be installed with pip.
`pip install metsrw`
METSRW is tested with the all the [supported versions](https://devguide.python.org/versions/#supported-versions)
of Python.
## Basic Usage
Read a METS file
mets = metsrw.METSDocument.fromfile('path/to/file') # Reads a file
mets = metsrw.METSDocument.fromstring('') # Parses a string
mets = metsrw.METSDocument.fromtree(lxml.ElementTree) # Parses an lxml.Element or lxml.ElementTree
Create a new METS file
mets = metsrw.METSDocument()
## Contributing
METSRW is in early development and welcomes feedback on the API and overall design!
Design goals, use cases, and a proposed API are in the [Github wiki](https://github.com/artefactual-labs/mets-reader-writer/wiki)