From bef2120c93c80e7e889a84fa886378826c6f20a3 Mon Sep 17 00:00:00 2001 From: Suke0811 <49264928+Suke0811@users.noreply.github.com> Date: Thu, 9 Oct 2025 13:39:49 +0900 Subject: [PATCH 1/2] Add Python 3.14 compatibility metadata and test --- setup/package_info.py | 1 + tests/test_python_version_support.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 tests/test_python_version_support.py diff --git a/setup/package_info.py b/setup/package_info.py index 4c28068..348f83a 100644 --- a/setup/package_info.py +++ b/setup/package_info.py @@ -19,6 +19,7 @@ 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', 'Programming Language :: Python :: 3.13', + 'Programming Language :: Python :: 3.14', ] ###################################### diff --git a/tests/test_python_version_support.py b/tests/test_python_version_support.py new file mode 100644 index 0000000..e76e52c --- /dev/null +++ b/tests/test_python_version_support.py @@ -0,0 +1,16 @@ +from importlib.util import module_from_spec, spec_from_file_location +from pathlib import Path + + +def load_package_info_module(): + package_info_path = Path(__file__).resolve().parents[1] / "setup" / "package_info.py" + spec = spec_from_file_location("package_info", package_info_path) + module = module_from_spec(spec) + assert spec.loader is not None + spec.loader.exec_module(module) + return module + + +def test_python_314_classifier_present(): + package_info = load_package_info_module() + assert 'Programming Language :: Python :: 3.14' in package_info.CLASSIFIERS From e86d9e51c7a627c138e9c7cb17c3c5d0c8beb42e Mon Sep 17 00:00:00 2001 From: Suke0811 <49264928+Suke0811@users.noreply.github.com> Date: Thu, 9 Oct 2025 13:45:40 +0900 Subject: [PATCH 2/2] Extend CI matrix to Python 3.14 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 14380d6..a0222cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5