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 PyPI - Python Version PyPI - Django Version

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.

Installation

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+https://github.com/Princeton-CDH/djiffy.git@develop#egg=djiffy

Configuration

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

INSTALLED_APPS = (
    ...
    'django.contrib.humanize',
    'dal',
    'dal_select2',
    'djiffy',
    ...
)

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 manage.py migrate

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:

DJIFFY_AUTH_TOKENS = {
    'example.com': 'myauthtoken',
}

Usage

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 manage.py import_manifest http://url.for/iiif/manifest
python manage.py 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/testsettings.py testsettings.py
  • To run the tests, either use the configured setup.py test command:

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

    pip install -e '.[test]'
    py.test

License

djiffy is distributed under the Apache 2.0 License.

©2019 Trustees of Princeton University. Permission granted via Princeton Docket #20-3618 for distribution online under a standard Open Source license. Ownership rights transferred to Rebecca Koeser provided software is distributed online via open source.

Project details


Download files

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

Source Distribution

djiffy-0.6.0.tar.gz (322.4 kB view details)

Uploaded Source

Built Distribution

djiffy-0.6.0-py3-none-any.whl (384.3 kB view details)

Uploaded Python 3

File details

Details for the file djiffy-0.6.0.tar.gz.

File metadata

  • Download URL: djiffy-0.6.0.tar.gz
  • Upload date:
  • Size: 322.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.0

File hashes

Hashes for djiffy-0.6.0.tar.gz
Algorithm Hash digest
SHA256 867c0f9c61ded96709a3df7a4036ca1a070a84d591742c5b4041d9d4ed5b0141
MD5 2f32c76d43348d7ddda82af96f20258c
BLAKE2b-256 d94b828e56000c5947dd1b2064f511d30a20e17b8d21963ee3fe961d9073f70b

See more details on using hashes here.

File details

Details for the file djiffy-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: djiffy-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 384.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.0

File hashes

Hashes for djiffy-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8bfd9a1a4f59b63bfc8a42046366bc4a76691dba9e3e37334f13808184530783
MD5 00f156cdccfcf71c65b034f16d2c278c
BLAKE2b-256 c74d10f6c214a76cbc279fdc59848ad2ab0e089b4a07b4e9d9ad66fc380692f9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page