Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
build:
strategy:
matrix:
python-version: ['3.13']
python-version: ['3.14']
platform: [ubuntu-latest, windows-latest]

runs-on: ${{ matrix.platform }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-site.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@ jobs:
with:
documentation_path: docs/source
pyproject_extras: dev
python_version: '3.13'
python_version: '3.14'
sphinx_build_options: -W
publish: ${{ github.ref_name == 'main' }}
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.13']
python-version: ['3.14']
ci_pattern:
- tests/mock_vws/test_query.py::TestContentType
- tests/mock_vws/test_query.py::TestSuccess
Expand Down Expand Up @@ -185,7 +185,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.13']
python-version: ['3.14']
platform: [ubuntu-latest]

steps:
Expand Down Expand Up @@ -231,7 +231,7 @@ jobs:
runs-on: windows-latest
strategy:
matrix:
python-version: ['3.13']
python-version: ['3.14']

steps:
- uses: actions/checkout@v6
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,4 @@ This includes details on how to use the mock, options, and details of the differ
:target: https://github.com/VWS-Python/vws-python-mock/actions
.. |PyPI| image:: https://badge.fury.io/py/VWS-Python-Mock.svg
:target: https://badge.fury.io/py/VWS-Python-Mock
.. |minimum-python-version| replace:: 3.13
.. |minimum-python-version| replace:: 3.14
18 changes: 8 additions & 10 deletions conftest.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
"""Setup for Sybil."""
"""
Setup for Sybil.

Beartype is not applied to test functions because of a Python 3.14
annotation issue. See:
- https://github.com/beartype/beartype/discussions/594
- https://github.com/beartype/beartype/pull/440
"""

from doctest import ELLIPSIS

Expand All @@ -12,15 +19,6 @@

from tests.mock_vws.utils.retries import RETRY_EXCEPTIONS


@beartype
def pytest_collection_modifyitems(items: list[pytest.Item]) -> None:
"""Apply the beartype decorator to all collected test functions."""
for item in items:
if isinstance(item, pytest.Function):
item.obj = beartype(obj=item.obj)


pytest_collect_file = Sybil(
parsers=[
DocTestParser(optionflags=ELLIPSIS),
Expand Down
12 changes: 9 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ license = "MIT"
authors = [
{ name = "Adam Dangoor", email = "adamdangoor@gmail.com" },
]
requires-python = ">=3.13"
requires-python = ">=3.14"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Framework :: Pytest",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Python 3.13 support dropped instead of adding 3.14

High Severity

The PR description states "Add Python 3.14 to the test matrix and classifiers" but the implementation replaces Python 3.13 with 3.14 instead of adding 3.14 alongside it. The requires-python constraint was changed from >=3.13 to >=3.14, the test matrices now only include '3.14' instead of ['3.13', '3.14'], and the classifiers only list Python :: 3.14. This drops support for Python 3.13 users, which is a breaking change that contradicts the stated intent.

Additional Locations (1)

Fix in Cursor Fix in Web

]
dynamic = [
"version",
Expand Down Expand Up @@ -162,6 +162,12 @@ lint.ignore = [
# Ignore "too-many-*" errors as they seem to get in the way more than
# helping.
"PLR0913",
# Beartype requires imports to be available at runtime, not just for type
# checking. See https://github.com/beartype/beartype/discussions/594
# for when beartype will support `if TYPE_CHECKING` imports.
"TC001",
"TC002",
"TC003",
]

lint.per-file-ignores."ci/test_custom_linters.py" = [
Expand Down Expand Up @@ -350,7 +356,7 @@ DEP002 = [
[tool.pyproject-fmt]
indent = 4
keep_full_version = true
max_supported_python = "3.13"
max_supported_python = "3.14"

[tool.pytest.ini_options]

Expand Down
2 changes: 1 addition & 1 deletion src/mock_vws/_flask_server/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.13-slim AS base
FROM python:3.14-slim AS base
# We set this pretend version as we do not have Git in our path, and we do
# not care enough about having the version correct inside the Docker container
# to install it.
Expand Down
Loading