From 007ad7da34fc7375651aa107c3c0f093b8d24e1b Mon Sep 17 00:00:00 2001 From: cvanelteren Date: Thu, 19 Mar 2026 15:52:13 +1000 Subject: [PATCH] Support Python 3.10 TOML loading --- tools/release/publish_zenodo.py | 6 +++++- ultraplot/tests/test_release_metadata.py | 4 +--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/release/publish_zenodo.py b/tools/release/publish_zenodo.py index 56dd80bb7..0e05c7b7f 100644 --- a/tools/release/publish_zenodo.py +++ b/tools/release/publish_zenodo.py @@ -6,10 +6,14 @@ import mimetypes import os import sys -import tomllib from pathlib import Path from urllib import error, parse, request +try: + import tomllib +except ModuleNotFoundError: # pragma: no cover + import tomli as tomllib + try: import yaml except ImportError as exc: # pragma: no cover - exercised in release workflow diff --git a/ultraplot/tests/test_release_metadata.py b/ultraplot/tests/test_release_metadata.py index 784fd14ed..c36fa170f 100644 --- a/ultraplot/tests/test_release_metadata.py +++ b/ultraplot/tests/test_release_metadata.py @@ -3,7 +3,6 @@ import importlib.util import re import subprocess -import tomllib from pathlib import Path import pytest @@ -87,8 +86,7 @@ def test_zenodo_release_metadata_is_built_from_repository_sources(): """ publish_zenodo = _load_publish_zenodo() citation = yaml.safe_load(CITATION_CFF.read_text(encoding="utf-8")) - with PYPROJECT.open("rb") as handle: - pyproject = tomllib.load(handle) + pyproject = publish_zenodo.load_pyproject(PYPROJECT) metadata = publish_zenodo.build_metadata(citation, pyproject) assert metadata["title"] == citation["title"] assert metadata["upload_type"] == "software"