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 ocfl-py documentation on ReadTheDocs.
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-root.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.
See also OCFL-Core which is another Python implementation of OCFL, designed to support the InvenioRDM repository, and other OCFL implementations.
Copyright 2018--2025 Simeon Warner and contributors. Provided under the MIT license, see LICENSE.txt.