Universal Container Format (UCF) Ruby Library


Robert Haines





Source code



BSD (See Licence file or www.opensource.org/licenses/bsd-license.php)


© 2013, 2014 The University of Manchester, UK

Gem Version Build
Status Coverage Status


This is a Ruby library for working with UCF documents. See the specification for more details. UCF is a type of EPUB and very similar to the EPUB Open Container Format (OCF).

This library is a work in progress! Until we release version 1.0.0 you can expect the API to change in incompatible ways, although we will try to keep this to an absolute minimum. Once version 1.0.0 is released we will be following the principles of Semantic Versioning for our version numbering scheme.

Most of this library’s API is provided by the underlying zip-container gem so you will need to consult that documentation as well in addition to this.

There are some examples of how to use the library provided in the examples directory. See the contents of the tests directory for even more.

Files in the META-INF directory

The UCF specification requires that files in the META-INF directory are validated against a schema if they are present. If the nokogiri gem is available then this library will use it to validate the contents of the container.xml and manifest.xml files. This functionality is not enforced on the user in case they are not using the META-INF directory and so would not need the extra dependency on nokogiri.

What this library can not do yet

The basic requirements of a UCF document are all implemented but there are a number of optional features that are not yet provided.