Skip to content

zimeon/ocfl-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ocfl-py - An OCFL implementation in Python

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.

Installing

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.

Use

There should then be four command-line scripts available:

  • ocfl.py - add or access OCFL objects under an OCFL storage root
  • ocfl-validate.py - validate OCFL objects, OCFL storage roots or standalone OCFL inventory files
  • ocfl-object.py - build, manipulate, extract from or validate a stand-alonde OCFL object
  • ocfl-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.

Contributing

Bug reports welcome as github issues.

See CONTRIBUTING.md for guidelines for contributing.

Copyright and License

Copyright 2018--2024 Simeon Warner and contributors. Provided under the MIT license, see LICENSE.txt.