Skip to content

Drop EOL Python versions, support 3.10–3.14, fix all CI failures#171

Merged
whtsky merged 3 commits intomasterfrom
copilot/update-python-version-support
Feb 28, 2026
Merged

Drop EOL Python versions, support 3.10–3.14, fix all CI failures#171
whtsky merged 3 commits intomasterfrom
copilot/update-python-version-support

Conversation

Copy link
Contributor

Copilot AI commented Feb 28, 2026

CI was failing across all jobs because poetry.lock was not regenerated after the Python version bump to ^3.10, and several dev dependencies were either unavailable or incompatible with Python 3.13/3.14.

pyproject.toml

  • Migrate from deprecated [tool.poetry.dev-dependencies] to [tool.poetry.group.dev.dependencies]
  • Remove codecov (deprecated, no longer on PyPI; CI already uses codecov/codecov-action)
  • Bump dev deps to modern versions compatible with Python 3.10–3.14:
    • black >=24.0, pytest >=8.0, pytest-cov >=5.0, pillow >=10.0, pytest-benchmark >=4.0, mypy >=1.0, pytest-mypy >=0.10.3

poetry.lock

  • Regenerated to match updated pyproject.toml

pixelmatch/contrib/PIL.py

  • Fix mypy errors surfaced by newer mypy: avoid reassigning img1/img2 from Image to MutableImageSequence
  • Add type: ignore[attr-defined] for ImagingCore iteration (runtime-iterable, but Pillow stubs don't expose __iter__)
# Before: variable type changes from Image → MutableImageSequence
img1 = from_PIL_to_raw_data(img1)  # mypy: Incompatible types in assignment

# After: separate variable names
raw_img1 = from_PIL_to_raw_data(img1)

.github/workflows/test.yml

  • Test matrix: [3.10, 3.11, 3.12, 3.13, 3.14]
  • Bump actions: checkout v4, setup-python v5, codecov v4, cache v4
  • Default Python in utility jobs: 3.13

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

….10-3.14), update GitHub Actions

Co-authored-by: whtsky <876694+whtsky@users.noreply.github.com>
Copilot AI changed the title [WIP] Update pyproject.toml and GitHub Actions for EOL-ed Python version Drop EOL Python versions, add support for 3.11–3.14 Feb 28, 2026
Co-authored-by: whtsky <876694+whtsky@users.noreply.github.com>
Copilot AI changed the title Drop EOL Python versions, add support for 3.11–3.14 Drop EOL Python versions, support 3.10–3.14, fix all CI failures Feb 28, 2026
@whtsky whtsky marked this pull request as ready for review February 28, 2026 13:06
@whtsky whtsky merged commit 2fbeedd into master Feb 28, 2026
18 checks passed
@whtsky whtsky deleted the copilot/update-python-version-support branch February 28, 2026 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants