/ocfl-go

OCFL implementation for Go

Primary LanguageGoMIT LicenseMIT

An OCFL implementation for Go

godocs

This is an implementation of the Oxford Common File Layout (OCFL) for Go. The API is under heavy development and will have constant breaking changes.

What is OCFL?

This Oxford Common File Layout (OCFL) specification describes an application-independent approach to the storage of digital information in a structured, transparent, and predictable manner. It is designed to promote long-term object management best practices within digital repositories. (https://ocfl.io/)

Functionality

Here is a high-level overview of what's working and what's not:

  • Filesystme and S3 backends
    • S3: support writing/copying large files (>5GiB).
  • Storage root creation and validation
  • Object creation and validation
  • Flexible API for 'staging' object changes between versions.
  • Support for OCFL v1.0 and v1.1
  • Reasonable test coverage
  • Ability to purge objects from a storage root
  • Consistent, informative error/log messages
  • Well-documented API
  • Stable API

Development

Requires go >= 1.21.