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.
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/)
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
Requires go >= 1.21.