Published October 3, 2025 | Version 1.0
Computational notebook Open

Undate: computing with uncertain and partially-unknown dates

  • 1. ROR icon Princeton University

Description

This notebook provides a demonstration of the functionality of the Python library Undate. Undate is an ambitious, in-progress effort to develop a pragmatic Python library for computation and analysis of temporal information in humanistic and cultural data, with a particular emphasis on uncertain, incomplete, or imprecise dates and with support for multiple calendars. Researchers in the humanities often work with historical or cultural data, and knowing when particular materials were created or events happened is important for understanding the context, interpreting correctly, and determining relationships and sequencing. However, these kind of materials rarely have full precision dates with known year, month, and day. In some contexts, scholars may be happy if they can determine even just a century based on handwriting or mentions of historic coins.

Humanistic and cultural data also often includes dates in different calendars, or even a mix of calendars within the same project or system. It's important to preserve the original date and calendar information, but it's also valuable to convert dates to a standard calendar so they can be compared and sorted together. Undate objects are calendar aware and calendar explicit, with a default of the Gregorian calendar. Currently, we support parsing and calendar conversion for dates
in the Hebrew Anno Mundi calendar and Islamic Hijri calendar.


This notebook demonstrates current use and functionality of the core Undate and UndateInterval objects, along with some examples showing use-cases from two projects that fed into development on undate : Shakespeare and Company Project, and Princeton Geniza Project.

 

This notebook is written with marimo. This record includes the python source code and a static HTML snapshot of the notebook. The full code and accompanying data is available in the accompanying GitHub repository (https://github.com/rlskoeser/undate-notebook-usrse25). A runnable HTML+WASM export of the notebook is avialable at the GitHub pages site for that repository: https://rlskoeser.github.io/undate-notebook-usrse25/

Files

Files (2.7 MB)

Name Size Download all
md5:715154c36f033e58aa9a20f6bcb2b4a1
2.6 MB Download
md5:ba564aecb00e4ef9a58eca5bdad5c2a4
60.4 kB Download

Additional details

Related works

Describes
Software: 10.5281/zenodo.16328670 (DOI)
References
Dataset: 10.34770/kf6c-b079 (DOI)
Dataset: 10.5281/zenodo.15839056 (DOI)
Dataset: 10.18737/552626 (DOI)

Software

Repository URL
https://github.com/rlskoeser/undate-notebook-usrse25
Programming language
Python

References