From 3e44c7ab91561ebb4f0276f2c152227b4fd02dea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20K=C3=BChn?= Date: Mon, 9 Mar 2026 21:59:20 +0100 Subject: [PATCH 1/5] enforce black language versions --- pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 703b31c..14fb6c4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -80,3 +80,6 @@ verboseOutput = true testpaths = [ "unittests", ] + +[tool.black] +target-version = ["py38", "py39","py310", "py311", "py312", "py313", "py314"] From 55886311390ba46ded086e708b808cf219de7855 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20K=C3=BChn?= Date: Mon, 9 Mar 2026 21:59:33 +0100 Subject: [PATCH 2/5] blacken code --- asyncstdlib/asynctools.py | 1 - asyncstdlib/builtins.py | 1 - unittests/test_asynctools.py | 1 - unittests/test_heapq.py | 1 - unittests/utility.py | 1 - 5 files changed, 5 deletions(-) diff --git a/asyncstdlib/asynctools.py b/asyncstdlib/asynctools.py index 556832a..dd23948 100644 --- a/asyncstdlib/asynctools.py +++ b/asyncstdlib/asynctools.py @@ -20,7 +20,6 @@ from ._core import aiter from .contextlib import nullcontext - S = TypeVar("S") diff --git a/asyncstdlib/builtins.py b/asyncstdlib/builtins.py index 1387f35..717dbae 100644 --- a/asyncstdlib/builtins.py +++ b/asyncstdlib/builtins.py @@ -22,7 +22,6 @@ Sentinel, ) - __ANEXT_DEFAULT = Sentinel("") diff --git a/unittests/test_asynctools.py b/unittests/test_asynctools.py index 119f537..b519711 100644 --- a/unittests/test_asynctools.py +++ b/unittests/test_asynctools.py @@ -4,7 +4,6 @@ from .utility import sync, asyncify - CLOSED = "closed" diff --git a/unittests/test_heapq.py b/unittests/test_heapq.py index 201b684..425e412 100644 --- a/unittests/test_heapq.py +++ b/unittests/test_heapq.py @@ -7,7 +7,6 @@ from .utility import sync, asyncify, awaitify - MERGE_SAMPLES = [ [[1, 2], [3, 4]], [[1, 2, 3], [4, 5, 6], [7, 8, 9]], diff --git a/unittests/utility.py b/unittests/utility.py index 479278d..ca2ff9e 100644 --- a/unittests/utility.py +++ b/unittests/utility.py @@ -13,7 +13,6 @@ from collections import deque from random import randint - T = TypeVar("T") From a4c8a7da5811d0e574d6edece5a5c8550900beab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20K=C3=BChn?= Date: Mon, 9 Mar 2026 22:24:13 +0100 Subject: [PATCH 3/5] use forwards and backwards compatible annotation check --- unittests/test_functools_lru.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/unittests/test_functools_lru.py b/unittests/test_functools_lru.py index 1a509bc..a46eed0 100644 --- a/unittests/test_functools_lru.py +++ b/unittests/test_functools_lru.py @@ -2,6 +2,7 @@ import sys import pytest +from typing_extensions import get_annotations, Format import asyncstdlib as a @@ -175,5 +176,5 @@ async def other_method(self): if name != "method": continue # test direct and literal annotation styles - assert Bar.method.__annotations__["int_arg"] in {int, "int"} - assert Bar().method.__annotations__["int_arg"] in {int, "int"} + assert get_annotations(Bar.method, format=Format.STRING)['int_arg'] == "int" + assert get_annotations(Bar().method, format=Format.STRING)['int_arg'] == "int" From 0b472d44a8b588af0c15a8ed0c4b52a7f4305a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20K=C3=BChn?= Date: Mon, 9 Mar 2026 22:27:50 +0100 Subject: [PATCH 4/5] black... --- unittests/test_functools_lru.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/unittests/test_functools_lru.py b/unittests/test_functools_lru.py index a46eed0..f85c994 100644 --- a/unittests/test_functools_lru.py +++ b/unittests/test_functools_lru.py @@ -176,5 +176,7 @@ async def other_method(self): if name != "method": continue # test direct and literal annotation styles - assert get_annotations(Bar.method, format=Format.STRING)['int_arg'] == "int" - assert get_annotations(Bar().method, format=Format.STRING)['int_arg'] == "int" + assert get_annotations(Bar.method, format=Format.STRING)["int_arg"] == "int" + assert ( + get_annotations(Bar().method, format=Format.STRING)["int_arg"] == "int" + ) From b518fd36177d63c96fcaa8fd8a4ee00805f5099c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20K=C3=BChn?= Date: Mon, 9 Mar 2026 22:29:18 +0100 Subject: [PATCH 5/5] support 3.14 --- .github/workflows/unittests.yml | 2 +- pyproject.toml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index 138070c..bf61a1d 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: python-version: [ - '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', + '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14', 'pypy-3.8', 'pypy-3.10' ] diff --git a/pyproject.toml b/pyproject.toml index 14fb6c4..8f4b52a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,6 +21,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] license = {"file" = "LICENSE"} keywords = ["async", "enumerate", "itertools", "builtins", "functools", "contextlib"]