undate-notebook-usrse25

Notebook submission on Undate python library for US-RSE'25

https://github.com/rlskoeser/undate-notebook-usrse25

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 1 committers (100.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary
Last synced: 9 months ago · JSON representation ·

Repository

Notebook submission on Undate python library for US-RSE'25

Basic Info
  • Host: GitHub
  • Owner: rlskoeser
  • License: apache-2.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 7.83 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed 9 months ago
Metadata Files
Readme License Citation

README.md

Undate: computing with uncertain and partially-unknown dates

by Rebecca Sutton Koeser

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 is a notebook submission for US-RSE'25.

Instructions

Python dependencies are specified in pyproject.toml; use pip, uv pip, or similar to install them.

Developed with Python 3.12 using Marimo; the use of a python virtual environment is recommended.

To install and run with with uv:

sh uv sync uv run marimo edit undate-overview.py

Scripts

A utility script (filter_data.py) was added to pre-filter data used by the notebook, to make data loading more efficient.

Owner

  • Name: Rebecca Sutton Koeser
  • Login: rlskoeser
  • Kind: user
  • Company: @Princeton-CDH

Lead Research Software Engineer @Princeton-CDH. Previously software engineer at @emory-libraries and contributor to @ecds, @emory-lits-labs

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: "Undate: computing with uncertain and partially-unknown dates"
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Rebecca Sutton
    family-names: Koeser
    affiliation: 'Center for Digital Humanities, Princeton University'
    orcid: 'https://orcid.org/0000-0002-8762-8057'
repository-code: 'https://github.com/rlskoeser/undate-notebook-usrse25'
abstract: >-
  A Jupyter notebook that provides an overview of the
  functionality of the Undate python library, with
  background information explaining why it was developed and
  how it is useful.
keywords:
  - dates
  - digital humanities
  - uncertainty
  - partial information
license: Apache-2.0
commit: '1.0'
version: '1.0'
date-released: '2025-05-16'

GitHub Events

Total
  • Delete event: 1
  • Push event: 18
  • Create event: 6
Last Year
  • Delete event: 1
  • Push event: 18
  • Create event: 6

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 17
  • Total Committers: 1
  • Avg Commits per committer: 17.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 17
  • Committers: 1
  • Avg Commits per committer: 17.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
rlskoeser r****r@p****u 17
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/check.yml actions
pyproject.toml pypi
  • jupyterlab >=4.4.2
  • undate >=0.4.0
requirements.txt pypi
  • jupyterlab >=4.4.2
  • undate >=0.4.0
uv.lock pypi
  • 102 dependencies