{"id":28059765,"url":"https://github.com/princeton-cdh/djiffy","last_synced_at":"2025-05-12T08:09:54.291Z","repository":{"id":19929837,"uuid":"80532462","full_name":"Princeton-CDH/djiffy","owner":"Princeton-CDH","description":"Django application to index and display IIIF Manifests for books","archived":false,"fork":false,"pushed_at":"2025-04-17T13:30:06.000Z","size":1307,"stargazers_count":6,"open_issues_count":2,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-05-12T08:09:49.467Z","etag":null,"topics":["django","iiif","iiif-presentation","python"],"latest_commit_sha":null,"homepage":"https://princeton-cdh.github.io/djiffy/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Princeton-CDH.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-01-31T15:22:02.000Z","updated_at":"2025-04-07T18:40:41.000Z","dependencies_parsed_at":"2025-04-16T09:17:31.216Z","dependency_job_id":null,"html_url":"https://github.com/Princeton-CDH/djiffy","commit_stats":{"total_commits":210,"total_committers":4,"mean_commits":52.5,"dds":0.1523809523809524,"last_synced_commit":"f608829a14167df3c417be4a9888c4593d9c0820"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Princeton-CDH%2Fdjiffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Princeton-CDH%2Fdjiffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Princeton-CDH%2Fdjiffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Princeton-CDH%2Fdjiffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Princeton-CDH","download_url":"https://codeload.github.com/Princeton-CDH/djiffy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253700620,"owners_count":21949696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","iiif","iiif-presentation","python"],"created_at":"2025-05-12T08:09:53.576Z","updated_at":"2025-05-12T08:09:54.258Z","avatar_url":"https://github.com/Princeton-CDH.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"djiffy\n======\n\n.. sphinx-start-marker-do-not-remove\n\nDjango application to index and display IIIF Manifests for books\n\n.. image:: https://github.com/Princeton-CDH/djiffy/actions/workflows/unit_tests.yml/badge.svg\n   :target: https://github.com/Princeton-CDH/djiffy/actions/workflows/unit_tests.yml\n   :alt: Unit Tests status\n.. image:: https://codecov.io/gh/Princeton-CDH/djiffy/branch/main/graph/badge.svg\n   :target: https://codecov.io/gh/Princeton-CDH/djiffy\n   :alt: Code Coverage\n.. image:: https://img.shields.io/pypi/pyversions/djiffy\n   :alt: PyPI - Python Version\n.. image:: https://img.shields.io/pypi/djversions/djiffy\n   :alt: PyPI - Django Version\n.. image:: https://github.com/Princeton-CDH/djiffy/actions/workflows/sphinx_docs.yml/badge.svg\n   :alt: Sphinx Docs build status\n\n\n**djiffy** is intended to be a reusable `Django`_ application for\nworking with digitized book-like content provided via `IIIF Presentation`_\nmanifests.  This is an *alpha* version and it does *not* yet support\nthe full IIIF Presentation specification.\n\n.. Note::\n    djiffy is tested against Django 4.1-5.2 and Python 3.9-3.11.\n\n.. _Django: https://www.djangoproject.com/\n.. _IIIF Presentation: http://iiif.io/api/presentation/2.1/\n\nCode documentation is available at https://princeton-cdh.github.io/djiffy/\n\n\nInstallation\n------------\n\nUse pip to install::\n\n    pip install djiffy\n\n\nYou can also install from GitHub.  Use a branch or tag name, e.g.\n``@develop`` or ``@1.0``, to install a specific tagged release or branch::\n\n    pip install git+https://github.com/Princeton-CDH/djiffy.git@develop#egg=djiffy\n\n\nConfiguration\n-------------\n\nAdd `djiffy` to installed applications and make sure that `django.contrib.humanize`\nis also enabled::\n\n    INSTALLED_APPS = (\n        ...\n        'django.contrib.humanize',\n        'dal',\n        'dal_select2',\n        'djiffy',\n        ...\n    )\n\n\nInclude the default djiffy urls at the desired base url with the namespace\n`djiffy`::\n\n    urlpatterns = [\n        ...\n        url(r'^iiif-books/', include('djiffy.urls', namespace='djiffy')),\n        ...\n    ]\n\nRun migrations to create database tables::\n\n    python manage.py migrate\n\n.. NOTE::\n\n    The templates included require that you have a url configured with\n    the name ``site-index``.\n\n\nIf you are need to use djiffy to access manifests that require an\nauthorization token, use **DJIFFY_AUTH_TOKENS** in your project settings\nto configure each domain that requires an auth token.  The configuration\nshould be formatted like this::\n\n    DJIFFY_AUTH_TOKENS = {\n        'example.com': 'myauthtoken',\n    }\n\nUsage\n-----\n\nImport IIIF content using the `import_manifest` manage command.  This\ncommand can take an IIIF Collection or single Manifest, via local file\nor URL.  Imported content can be viewed in Django admin.::\n\n    python manage.py import_manifest http://url.for/iiif/manifest\n    python manage.py import_manifest /path/to/local/collection\n\n\nDevelopment instructions\n------------------------\n\nThis git repository uses `git flow`_ branching conventions.\n\n.. _git flow: https://github.com/nvie/gitflow\n\nInitial setup and installation:\n\n- recommended: create and activate a python 3.9 virtualenv::\n\n    virtualenv djiffy -p python3.9\n    source djiffy/bin/activate\n\n- pip install the package with its python dependencies::\n\n    pip install -e .\n\n\nUnit Testing\n^^^^^^^^^^^^\n\nUnit tests are written with `py.test \u003chttp://doc.pytest.org/\u003e`_ but use some\nDjango test classes for convenience and compatibility with django test suites.\nRunning the tests requires a minimal settings file for Django required\nconfigurations.\n\n- Copy sample test settings and add a **SECRET_KEY**::\n\n    cp ci/testsettings.py testsettings.py\n\n- To run the tests, either use the configured setup.py test command::\n\n    python setup.py test\n\n- Or install test requirements and use py.test directly::\n\n    pip install -e '.[test]'\n    pytest\n\nDocumentation\n^^^^^^^^^^^^^\n\nDocumentation is generated using `sphinx \u003chttp://www.sphinx-doc.org/\u003e`_.\nTo generate documentation, first install development requirements::\n\n    pip install -r dev-requirements.txt\n\nThen build documentation using the customized make file in the `docs`\ndirectory::\n\n    cd sphinx-docs\n    make html\n\nAs of v0.7.3, documentation is automatically built with GitHub Actions\nand published using GitHub pages.\n\nAdding license images\n^^^^^^^^^^^^^^^^^^^^^\n\nWhen adding new license image SVG files to this repo, add ``id=\"licenseimg\"`` to\nthe ``\u003csvg\u003e`` element of each. This allows djiffy users to embed the SVG inline\nwith a ``\u003cuse\u003e`` tag, with its ``href`` attribute pointing to ``#licenseimg``.\n\nIf the image will need to be recolored for different backgrounds, as in the\ncase of the ``rightsstatement_org/`` SVG icons, you can enable this for up to\ntwo tones in each SVG. To do this, set ``fill`` attributes on paths to\n``fill=\"inherit\"`` (controlled by the ``fill`` CSS property) or\n``fill=\"currentColor\"`` (controlled by the ``color`` CSS property).\n\nLicense\n-------\n\n**djiffy** is distributed under the Apache 2.0 License.\n\n©2024 Trustees of Princeton University.  Permission granted via\nPrinceton Docket #20-3618 for distribution online under a standard Open Source\nlicense.  Ownership rights transferred to Rebecca Koeser provided software\nis distributed online via open source.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprinceton-cdh%2Fdjiffy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprinceton-cdh%2Fdjiffy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprinceton-cdh%2Fdjiffy/lists"}