From 4ac124401c800aefa5674c3594cc65e061cb09af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Gr=C3=BCter?= Date: Sat, 18 Oct 2025 16:13:21 +0200 Subject: [PATCH 1/4] Test on Python 3.14 --- .github/workflows/ci.yml | 2 +- pyproject.toml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6b9573..998cf51 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,7 @@ jobs: - { short: linux, name: ubuntu-latest } - { short: win, name: windows-latest } - { short: macos, name: macos-latest } - python-version: ["3.12", "3.13"] + python-version: ["3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v5 diff --git a/pyproject.toml b/pyproject.toml index 18be2a1..699b40b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,6 +27,7 @@ classifiers = [ "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Software Development :: Code Generators", "Topic :: Scientific/Engineering", ] From aa8b5224a502bdf4d6190b194e43a5d17090b521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Gr=C3=BCter?= Date: Sat, 18 Oct 2025 16:32:05 +0200 Subject: [PATCH 2/4] Ignore stubtest warnings about missing `__conditional_annotations__` I haven't been able to find a lot of information on this attribute. But it seems like something that should not be included in stub files. --- stubtest_allow.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/stubtest_allow.txt b/stubtest_allow.txt index d7d72b3..3d39868 100644 --- a/stubtest_allow.txt +++ b/stubtest_allow.txt @@ -1,2 +1,3 @@ docstub\._version\..* docstub._cache.FuncSerializer.__type_params__ +docstub\..*__conditional_annotations__ From bd7f57f90c226167b5faabecab3256f378a4ede9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Gr=C3=BCter?= Date: Sat, 18 Oct 2025 16:40:07 +0200 Subject: [PATCH 3/4] Ignore unused __conditional_annotations__ rule pre Python 3.14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pre 3.14 this rule will never match which causes stubtest to complain. From the stubtest docs [1]: > Note if an allowlist entry is a regex that matches the empty string, > stubtest will never consider it unused. For example, to get > –ignore-unused-allowlist behaviour for a single allowlist entry like > foo.bar you could add an allowlist entry (foo\.bar)?. This can be > useful when an error only occurs on a specific platform. [1] https://mypy.readthedocs.io/en/stable/stubtest.html --- stubtest_allow.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stubtest_allow.txt b/stubtest_allow.txt index 3d39868..572288a 100644 --- a/stubtest_allow.txt +++ b/stubtest_allow.txt @@ -1,3 +1,3 @@ docstub\._version\..* docstub._cache.FuncSerializer.__type_params__ -docstub\..*__conditional_annotations__ +(docstub\..*__conditional_annotations__)? From e13a1b57a8e6656ea050b9c6d901d5bf5789b34a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Gr=C3=BCter?= Date: Sat, 18 Oct 2025 16:46:02 +0200 Subject: [PATCH 4/4] Only check Python 3.13 on Linux --- .github/workflows/ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 998cf51..5ee2f57 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,10 @@ jobs: - { short: linux, name: ubuntu-latest } - { short: win, name: windows-latest } - { short: macos, name: macos-latest } - python-version: ["3.12", "3.13", "3.14"] + python-version: ["3.12", "3.14"] + include: + - runs-on: { short: linux, name: ubuntu-latest } + python-version: "3.13" steps: - uses: actions/checkout@v5