Software developed by CDH

The CDH Development and Design Team creates and releases new, open source software as part of their work on sponsored projects. This list includes only software developed since the team’s formation in October 2016. It does not include projects created by project teams who did their own development work (such as bitKlavier, Digital Oulipo, and others).

All software is released under the Apache 2 open-source license. Our primary technical stack includes the Python programming language and Django, a web application framework written in Python.

Sponsored Projects

ppa-django

https://github.com/Princeton-CDH/ppa-django

A new implementation of Princeton Prosody Archive as a Python/Django web application. Intended to provide a reusable solution for creating curated collections of HathiTrust materials, and eventually materials from other sources. Provides a bulk import of HathiTrust materials, collection management, metadata correction, and advanced search capabilities.

Initial public release: version 3.0, December 2018.

Software citation:

Koeser, Rebecca Sutton, Nick Budak, Benjamin W. Hicks, and Gissoo Doroudian. Princeton-CDH/ppa-django: V3.0 Initial Public Release. Zenodo, 2018. https://doi.org/10.5281/zenodo.2400705.

derrida-django

https://github.com/Princeton-CDH/derrida-django

Python/Django web application for Derrida’s Margins. Provides a public interface to search and browse books in Derrida’s library, references in Of Grammatology, and Derrida’s annotations related to those references. Also provides a management interface for bibliographic and biographic data, and an annotation capture interface (implemented with django-annotator-store and djiffy; similar to winthrop-django annotation but customized for project-specific data needs).

Soft launch version 1.1 released June 2018, public launch version 1.2 released October 2018.

Software citation:

Koeser, Rebecca Sutton, Benjamin W. Hicks, Kevin Glover, Nick Budak, Xinyi Li, and Jean Bauer. Princeton-CDH/derrida-django: V1.2 Data Exports and Other Improvements and Fixes. Zenodo, 2018. https://doi.org/10.5281/zenodo.1453447.

mep-django

https://github.com/Princeton-CDH/mep-django

Python/Django web application for The Shakespeare and Company Project. Provides management interface and public search and browse for data about library members, account activity, and items that circulated in Sylvia Beach's private lending library.

Version 1.4 released January 2021; initial public launch version 1.0 released May 2020.

Software citation:

Koeser, Rebecca Sutton, Nick Budak, Gissoo Doroudian, Benjamin W. Hicks, Xinyi Li, and Kevin McElwee. (2021, January 22). Princeton-CDH/mep-django: v1.4 (Version 1.4). Zenodo. http://doi.org/10.5281/zenodo.4458099

winthrop-django

https://github.com/Princeton-CDH/winthrop-django

Python/Django web application for The Winthrop Family on the Page. Provides management interface for bibliographic and biographic data, and an annotation capture interface (implemented with django-annotator-store and djiffy). Preliminary public interface to search and browse books; future release will add search and browse functionality for people and annotations, along with accompanying scholarly materials.

No public releases; version 0.7 released January 2018.

Internal Projects

cdh-web

https://github.com/Princeton-CDH/cdh-web

The CDH website is implemented as a custom Python/Django/Wagtail web application with a custom data model to document sponsored projects, staff, and events. As a project, it also serves as a proving ground for development best practices and potentially reusable components. For example, django-pucas was first developed and used with cdh-web; it includes a multi-author blog component adapted for reuse on other projects.

Version 3.0 released March 2021

Utilities and Libraries

parasolr

https://github.com/Princeton-CDH/parasolr

Lightweight Python library for Solr indexing, searching and schema management with optional Django integration. Currently being developed in tandem with mep-django, with plans for eventually applying to other projects.

Version 0.4 released June 2019.

viapy

https://github.com/Princeton-CDH/viapy

Python module for interacting with Virtual International Authority File (VIAF) data and APIs, with optional Django integration. Developed for use in multiple projects.

Initial version 0.1 released October 2017.

django-pucas

https://github.com/Princeton-CDH/django-pucas

Reusable Python module for use with the Django web framework to streamline provisioning and managing user accounts with Central Authentication Service (CAS) and make use of LDAP for user attributes. Customized for Princeton University, but intended to be reusable for general use. Used in multiple CDH web applications and Research Computing applications, with some interest from other Princeton developers.

Initial version 0.5 released March 2017; version 0.6 released July 2019.

djiffy

https://github.com/Princeton-CDH/djiffy

Python module for use with the Django web framework to index and display IIIF Presentation manifests for digitized content. Developed to integrate Princeton University Library (PUL) digitized content for Derrida’s Margins and The Winthrop Family on the Page.

Initial version 0.1 released June 2017; version 0.5 released June 2018.

django-annotator-store

https://github.com/Princeton-CDH/django-annotator-store

Python/Django application that acts as a generic annotator.js storage back end. Adapted from the Readux project developed by the Emory Center for Digital Scholarship. Developed to support annotation functionality in Derrida’s Margins and The Winthrop Family on the Page. Pull requests on GitHub from students at the University of Bologna and Stanford University demonstrate this application’s potential for a much wider web annotation community.

Version 0.6 released August 2017.