{
  "access": {
    "embargo": {
      "active": false,
      "reason": null
    },
    "files": "public",
    "record": "public",
    "status": "open"
  },
  "created": "2026-05-15T20:03:19.005471+00:00",
  "custom_fields": {
    "code:codeRepository": "https://github.com/Princeton-CDH/piffle"
  },
  "deletion_status": {
    "is_deleted": false,
    "status": "P"
  },
  "files": {
    "count": 1,
    "enabled": true,
    "entries": {
      "Princeton-CDH/piffle-0.8.0.zip": {
        "access": {
          "hidden": false
        },
        "checksum": "md5:83d1c3c14cf6056dfeac3a76b514a6bf",
        "ext": "zip",
        "id": "be53a1a1-69cd-41a9-9c5b-141fe070c93e",
        "key": "Princeton-CDH/piffle-0.8.0.zip",
        "links": {
          "content": "https://zenodo.org/api/records/20215588/files/Princeton-CDH/piffle-0.8.0.zip/content",
          "self": "https://zenodo.org/api/records/20215588/files/Princeton-CDH/piffle-0.8.0.zip"
        },
        "metadata": null,
        "mimetype": "application/zip",
        "size": 126042,
        "storage_class": "L"
      }
    },
    "order": [],
    "total_bytes": 126042
  },
  "id": "20215588",
  "is_draft": false,
  "is_published": true,
  "links": {
    "access": "https://zenodo.org/api/records/20215588/access",
    "access_grants": "https://zenodo.org/api/records/20215588/access/grants",
    "access_links": "https://zenodo.org/api/records/20215588/access/links",
    "access_request": "https://zenodo.org/api/records/20215588/access/request",
    "access_users": "https://zenodo.org/api/records/20215588/access/users",
    "archive": "https://zenodo.org/api/records/20215588/files-archive",
    "archive_media": "https://zenodo.org/api/records/20215588/media-files-archive",
    "communities": "https://zenodo.org/api/records/20215588/communities",
    "communities-suggestions": "https://zenodo.org/api/records/20215588/communities-suggestions",
    "doi": "https://doi.org/10.5281/zenodo.20215588",
    "draft": "https://zenodo.org/api/records/20215588/draft",
    "file_modification": "https://zenodo.org/api/records/20215588/file-modification",
    "files": "https://zenodo.org/api/records/20215588/files",
    "latest": "https://zenodo.org/api/records/20215588/versions/latest",
    "latest_html": "https://zenodo.org/records/20215588/latest",
    "media_files": "https://zenodo.org/api/records/20215588/media-files",
    "parent": "https://zenodo.org/api/records/13256210",
    "parent_doi": "https://doi.org/10.5281/zenodo.13256210",
    "parent_doi_html": "https://zenodo.org/doi/10.5281/zenodo.13256210",
    "parent_html": "https://zenodo.org/records/13256210",
    "preview_html": "https://zenodo.org/records/20215588?preview=1",
    "quota_increase": "https://zenodo.org/api/records/20215588/quota-increase",
    "request_deletion": "https://zenodo.org/api/records/20215588/request-deletion",
    "requests": "https://zenodo.org/api/records/20215588/requests",
    "reserve_doi": "https://zenodo.org/api/records/20215588/draft/pids/doi",
    "self": "https://zenodo.org/api/records/20215588",
    "self_doi": "https://doi.org/10.5281/zenodo.20215588",
    "self_doi_html": "https://zenodo.org/doi/10.5281/zenodo.20215588",
    "self_html": "https://zenodo.org/records/20215588",
    "self_iiif_manifest": "https://zenodo.org/api/iiif/record:20215588/manifest",
    "self_iiif_sequence": "https://zenodo.org/api/iiif/record:20215588/sequence/default",
    "versions": "https://zenodo.org/api/records/20215588/versions"
  },
  "media_files": {
    "count": 0,
    "enabled": false,
    "entries": {},
    "order": [],
    "total_bytes": 0
  },
  "metadata": {
    "creators": [
      {
        "affiliations": [
          {
            "name": "@Princeton-CDH"
          }
        ],
        "person_or_org": {
          "family_name": "Rebecca Sutton Koeser",
          "name": "Rebecca Sutton Koeser",
          "type": "personal"
        }
      },
      {
        "affiliations": [
          {
            "name": "The Alan Turing Institute"
          }
        ],
        "person_or_org": {
          "family_name": "Rosie Wood",
          "name": "Rosie Wood",
          "type": "personal"
        }
      },
      {
        "affiliations": [
          {
            "name": "MIT Libraries"
          }
        ],
        "person_or_org": {
          "family_name": "Graham Hukill",
          "name": "Graham Hukill",
          "type": "personal"
        }
      },
      {
        "affiliations": [
          {
            "name": "@Princeton-CDH"
          }
        ],
        "person_or_org": {
          "family_name": "Laure Thompson",
          "name": "Laure Thompson",
          "type": "personal"
        }
      },
      {
        "person_or_org": {
          "family_name": "Jay Varner",
          "name": "Jay Varner",
          "type": "personal"
        }
      },
      {
        "affiliations": [
          {
            "name": "@slub"
          }
        ],
        "person_or_org": {
          "family_name": "Klaus Rettinghaus",
          "name": "Klaus Rettinghaus",
          "type": "personal"
        }
      }
    ],
    "description": "<p><em>Maintenance release</em></p>\n<ul>\n<li>Restored <code>piffle.presentation</code> unit tests from v0.6.1; separated tests for <code>piffle.iiif_dataclasses</code> presentation implementation</li>\n<li>Drop Python 3.8, 3.9 support and add Python 3.14 support</li>\n<li>Adopted uv support and package src layout</li>\n<li>Adopt git-flow-next for git-flow branching conventions</li>\n<li>Add custom hooks for git-flow workflow in <code>gitflow-hooks</code></li>\n<li>Add custom script for configuring git-flow <code>setup_gitflow.sh</code></li>\n<li>Add additional pre-commit hooks and adopted Ruff-based formatting</li>\n<li>Adopt Dependabot version updates for GitHub Actions and pre-commit</li>\n<li>Add CodeQL GitHub Action</li>\n<li>Add GitHub Action for Ruff lint and format checks</li>\n<li>Add GitHub Action to check for changelog updates</li>\n<li>Add GitHub Action to check that pull requests align with git-flow workflow</li>\n<li>Add custom GitHub issue template for software releases</li>\n<li>Add custom config for codecov to create separate checks for the core package, tests, and experimental code</li>\n</ul>",
    "publication_date": "2026-05-15",
    "publisher": "Zenodo",
    "related_identifiers": [
      {
        "identifier": "https://github.com/Princeton-CDH/piffle/tree/0.8.0",
        "relation_type": {
          "id": "issupplementto",
          "title": {
            "de": "Erg\u00e4nzt",
            "en": "Is supplement to"
          }
        },
        "resource_type": {
          "id": "software",
          "title": {
            "de": "Software",
            "en": "Software"
          }
        },
        "scheme": "url"
      }
    ],
    "resource_type": {
      "id": "software",
      "title": {
        "de": "Software",
        "en": "Software"
      }
    },
    "rights": [
      {
        "description": {
          "en": "A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code."
        },
        "id": "apache-2.0",
        "props": {
          "scheme": "spdx",
          "url": "http://www.apache.org/licenses/LICENSE-2.0"
        },
        "title": {
          "en": "Apache License 2.0"
        }
      }
    ],
    "title": "Princeton-CDH/piffle: v0.8.0",
    "version": "0.8.0"
  },
  "parent": {
    "access": {
      "owned_by": {
        "user": "75075"
      },
      "settings": {
        "accept_conditions_text": null,
        "allow_guest_requests": false,
        "allow_user_requests": false,
        "secret_link_expiration": 0
      }
    },
    "communities": {
      "default": "8543026a-102b-410e-bd83-4faf91b10596",
      "entries": [
        {
          "access": {
            "member_policy": "open",
            "members_visibility": "public",
            "record_submission_policy": "closed",
            "review_policy": "open",
            "visibility": "public"
          },
          "children": {
            "allow": false
          },
          "created": "2024-09-27T14:15:43.380069+00:00",
          "custom_fields": {},
          "deletion_status": {
            "is_deleted": false,
            "status": "P"
          },
          "id": "8543026a-102b-410e-bd83-4faf91b10596",
          "links": {},
          "metadata": {
            "title": "The Center for Digital Humanities at Princeton University",
            "type": {
              "id": "organization"
            },
            "website": "https://cdh.princeton.edu/"
          },
          "revision_id": 8,
          "slug": "princetoncdh",
          "updated": "2025-08-06T20:51:21.995963+00:00"
        }
      ],
      "ids": [
        "8543026a-102b-410e-bd83-4faf91b10596"
      ]
    },
    "id": "13256210",
    "pids": {
      "doi": {
        "client": "datacite",
        "identifier": "10.5281/zenodo.13256210",
        "provider": "datacite"
      }
    }
  },
  "pids": {
    "doi": {
      "client": "datacite",
      "identifier": "10.5281/zenodo.20215588",
      "provider": "datacite"
    },
    "oai": {
      "identifier": "oai:zenodo.org:20215588",
      "provider": "oai"
    }
  },
  "revision_id": 4,
  "stats": {
    "all_versions": {
      "data_volume": 1931977.0,
      "downloads": 54,
      "unique_downloads": 53,
      "unique_views": 213,
      "views": 219
    },
    "this_version": {
      "data_volume": 0.0,
      "downloads": 0,
      "unique_downloads": 0,
      "unique_views": 0,
      "views": 0
    }
  },
  "status": "published",
  "swh": {},
  "updated": "2026-05-15T20:03:19.211620+00:00",
  "versions": {
    "index": 6,
    "is_latest": true
  }
}