2024-09 - WARNING - THIS CODE IS UNDERGOING A SIGNIFICANT REWORKING TO PREPARE FOR VERSION 2.0 SPECIFICATION WORK. THE LATEST STABLE VERSION IS v1.3.0, ALSO AVAILABLE ON PyPI
ocfl-py is a Python reference implementation of the Oxford Common File Layout (OCFL). It also provides a number of command-line tools that may be useful for validating and manipulating OCFL Objects and OCFL Storage Roots. The code implements the current OCFL specification v1.1 while retaining support for v1.0. See implementation status for errors and warnings for details of validator support.
See also OCFL-Core which is another Python implementation of OCFL, designed to support the InvenioRDM repository, and other OCFL implementations.
This code requires Python 3.
This supports the OCFL specifications v1.1 and v1.0. To get the most
up to date version check out the main
branch from github.
I hope to keep a fairly current version on PyPI, which can be installed or upgraded with:
pip install --upgrade ocfl-py
The latest version is in the main branch on github.
There should then be four command-line scripts available:
ocfl.py
- add or access OCFL objects under an OCFL storage rootocfl-validate.py
- validate OCFL objects, OCFL storage roots or standalone OCFL inventory filesocfl-object.py
- build, manipulate, extract from or validate a stand-alonde OCFL objectocfl-sidecar.py
- update OCFL inventory sidecar file (useful for manually building examples and test cases)
Each script takes -h
for help.
See examples in docs folder for use of these scripts.
The code is also available as a module ocfl
for other python code to use.
Bug reports welcome as github issues.
See CONTRIBUTING.md for guidelines for contributing.
Copyright 2018--2024 Simeon Warner and contributors. Provided under the MIT license, see LICENSE.txt.