Skip to main content

Django app for IIIF Presentation book content

Project description

Django application to index and display IIIF Manifests for books

Build Status Code Coverage Code Health Requirements Status!-1EAEDB.svg

djiffy is intended to be a reusable Django application for working with digitized book content provided via IIIF Presentation manifests. This is an alpha version and it does not yet support the full IIIF Presentation specification.


djiffy is compatible with Django 1.10 and 1.11, but is not yet compatible with Django 2.0.


Use pip to install:

pip install djiffy

You can also install from GitHub. Use a branch or tag name, e.g. @develop or @1.0, to install a specific tagged release or branch:

pip install git+


Add djiffy to installed applications and make sure that django.contrib.humanize is also enabled:


Include the default djiffy urls at the desired base url with the namespace djiffy:

urlpatterns = [
    url(r'^iiif-books/', include('djiffy.urls', namespace='djiffy')),

Run migrations to create database tables:

python migrate


The templates included require that you have a url configured with the name site-index.

If you are need to use djiffy to access manifests that require an authorization token, use DJIFFY_AUTH_TOKENS in your project settings to configure each domain that requires an auth token. The configuration should be formatted like this:

    '': 'myauthtoken',


Import IIIF content using the import_manifest manage command. This command can take an IIIF Collection or single Manifest, via local file or URL. Imported content can be viewed in Django admin.:

python import_manifest http://url.for/iiif/manifest
python import_manifest /path/to/local/collection

Development instructions

This git repository uses git flow branching conventions.

Initial setup and installation:

  • recommended: create and activate a python 3.5 virtualenv:

    virtualenv djiffy -p python3.5
    source djiffy/bin/activate
  • pip install the package with its python dependencies:

    pip install -e .

Unit Testing

Unit tests are written with py.test but use some Django test classes for convenience and compatibility with django test suites. Running the tests requires a minimal settings file for Django required configurations.

  • Copy sample test settings and add a SECRET_KEY:

    cp ci/
  • To run the tests, either use the configured test command:

    python test
  • Or install test requirements and use py.test directly:

    pip install -e '.[test]'

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for djiffy, version 0.5.0
Filename, size File type Python version Upload date Hashes
Filename, size djiffy-0.5.0-py3-none-any.whl (379.9 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size djiffy-0.5.0.tar.gz (322.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page