diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 43be1c4..1638fbb 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -39,7 +39,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python_version: ["3.10", "3.12", "3.13"] + python_version: ["3.10", "3.11", "3.12", "3.13", "3.14"] runs-on: ${{ matrix.os }} diff --git a/confection/util.py b/confection/util.py index 066a50a..d1859b9 100644 --- a/confection/util.py +++ b/confection/util.py @@ -1,17 +1,10 @@ import functools -import sys from copy import deepcopy -from typing import Any, Callable, Iterator, TypeVar +from typing import Any, Callable, Iterator, Protocol, TypeVar from pydantic import GetCoreSchemaHandler from pydantic_core import core_schema -if sys.version_info < (3, 8): - # Ignoring type for mypy to avoid "Incompatible import" error (https://github.com/python/mypy/issues/4427). - from typing_extensions import Protocol # type: ignore -else: - from typing import Protocol - _DIn = TypeVar("_DIn") diff --git a/requirements.txt b/requirements.txt index 2e361be..9777041 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,12 +1,10 @@ pydantic>=2.0,<3.0 -typing_extensions>=3.7.4.1,<5.0.0; python_version < "3.8" srsly>=2.4.0,<3.0.0 # Development requirements catalogue>=2.0.3,<2.1.0 pathy>=0.3.5 pytest>=5.2.0,!=7.1.0 -mypy>=1.7.0,<1.8.0; platform_machine != 'aarch64' and python_version >= '3.8' -types-dataclasses>=0.1.3; python_version < '3.7' +mypy>=1.7.0,<1.8.0; platform_machine != 'aarch64' numpy>=1.15.0 black>=22.0,<23.0 flake8>=3.8.0,<6.0.0 diff --git a/setup.cfg b/setup.cfg index 60eda83..b4e04e4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -17,22 +17,19 @@ classifiers = Operating System :: MacOS :: MacOS X Operating System :: Microsoft :: Windows Programming Language :: Python :: 3 - Programming Language :: Python :: 3.6 - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 + Programming Language :: Python :: 3.13 + Programming Language :: Python :: 3.14 Topic :: Scientific/Engineering [options] zip_safe = true include_package_data = true -python_requires = >=3.9,<3.14 +python_requires = >=3.10 install_requires = pydantic>=2.0,<3.0 - typing_extensions>=3.7.4.1,<5.0.0; python_version < "3.8" srsly>=2.4.0,<3.0.0 [sdist]