diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d47faaf..99a06e5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,12 +20,10 @@ jobs: strategy: matrix: python: - - "3.10" - "3.11" - "3.12" - "3.13" - "3.14" - - "pypy-3.10" - "pypy-3.11" - "pypy-3.12" steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b6e1bc..d5713ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ For the purpose of determining breaking changes: ### :house: Internal +- End of Python 3.10 support - Add tests for PyPy 3.12 - Update dev dependencies diff --git a/pyproject.toml b/pyproject.toml index 741bbda..bd23e90 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,6 @@ classifiers = [ "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", @@ -21,7 +20,7 @@ classifiers = [ "Topic :: Utilities", "Topic :: Text Processing :: Markup :: XML", ] -requires-python = ">=3.10" +requires-python = ">=3.11" dependencies = [ "defusedxml>=0.7.1", "typing-extensions>=4.6.0 ; python_version<'3.12'", @@ -138,7 +137,7 @@ testpaths = ["docs", "tests"] [tool.ruff] src = ["src"] -target-version = "py310" +target-version = "py311" [tool.ruff.lint] select = ["ALL"] diff --git a/src/bigxml/handle_mgr.py b/src/bigxml/handle_mgr.py index 48f1997..384b4be 100644 --- a/src/bigxml/handle_mgr.py +++ b/src/bigxml/handle_mgr.py @@ -1,6 +1,5 @@ from collections.abc import Callable, Iterable, Iterator -import sys -from typing import TYPE_CHECKING, Any, Optional, Union, overload +from typing import TYPE_CHECKING, Any, Never, Optional, Union, overload from bigxml.handler_creator import create_handler from bigxml.typing import ( @@ -10,11 +9,6 @@ ) from bigxml.utils import last_item_or_none -if sys.version_info < (3, 11): # pragma: no cover - from typing_extensions import Never -else: # pragma: no cover - from typing import Never - if TYPE_CHECKING: from bigxml.nodes import XMLElement, XMLText diff --git a/tests/integration/test_typing.py b/tests/integration/test_typing.py index fee4752..749d5cd 100644 --- a/tests/integration/test_typing.py +++ b/tests/integration/test_typing.py @@ -1,6 +1,6 @@ from collections.abc import Iterable, Iterator from dataclasses import dataclass -import sys +from typing import Never, assert_type from bigxml import ( HandlerTypeHelper, @@ -11,12 +11,6 @@ xml_handle_text, ) -if sys.version_info < (3, 11): - from typing_extensions import Never, assert_type -else: - from typing import Never, assert_type - - # Note: the aim of this file is to test the typing of return-values # for iter_from and return_from as they would be used in the wild. # As a result, we don't try to factor code or do anything smart here. diff --git a/tox.ini b/tox.ini index 80b1833..4c58e55 100644 --- a/tox.ini +++ b/tox.ini @@ -2,7 +2,7 @@ [tox] envlist = - py, py310, py311, py312, py313, py314, pypy3 + py, py311, py312, py313, py314, pypy3 build, docs, lint, type [testenv]