Skip to content

Conversation

@dogukancagatay
Copy link
Contributor

@dogukancagatay dogukancagatay commented Oct 31, 2025

Drop support for Python 3.8. This change aligns with Python 3.8
reaching end-of-life and allows the codebase to use modern
Python features and type annotations.

  • Update minimum Python version from 3.8 to 3.9 in project metadata
    and documentation
  • Update mypy, black, ruff configuration to target Python 3.9
  • Update CI workflow to use Python 3.9 for linting and remove 3.8 from
    test matrix
  • Replace deprecated typing imports with collections.abc equivalents
    (Collection, Mapping, Sequence, Iterator, Container, Iterable)
  • Upgrade black from 23.3.0 to >=24.4.2 (Python 3.14 support)
  • Upgrade isort from >=5.11.5 to >=6.1.0 (Python 3.14 support)
  • Upgrade mypy from >=1.0.1 to >=1.17.1
  • Add autogenerated version.py to ruff exclusion list (similar to flake8)

Drop support for Python 3.8. This change aligns with Python 3.8
reaching end-of-life and allows the codebase to use modern
Python features and type annotations.

- Update minimum Python version from 3.8 to 3.9 in project metadata
  and documentation
- Update mypy, black, ruff configuration to target Python 3.9
- Update CI workflow to use Python 3.9 for linting and remove 3.8 from
  test matrix
- Replace deprecated typing imports with collections.abc equivalents
  (Collection, Mapping, Sequence, Iterator, Container, Iterable)
@dogukancagatay dogukancagatay marked this pull request as ready for review October 31, 2025 13:54
@dogukancagatay dogukancagatay requested review from a team as code owners October 31, 2025 13:54
@dogukancagatay dogukancagatay requested a review from jadkik October 31, 2025 13:54
Copy link
Contributor

@Prime541 Prime541 left a comment

Choose a reason for hiding this comment

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

Thanks for removing the support of Python 3.8, EOL on 2024-10-07

pyproject.toml Outdated
[tool.black]
line-length = 125
target-version = ['py38', 'py39', 'py310', 'py311']
target-version = ['py39', 'py310', 'py311']
Copy link
Contributor

Choose a reason for hiding this comment

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

Since this pyproject supports Python 3.14, shouldn't we also extend the target-version list?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Those target-version additions required black upgrade, and I had other plans for black (replace with ruff). That's why, I didn't bother, but for the sake of completeness, I added those changes as well.

black, isort versions were upgraded to downstream build environment versions.

- Upgrade black from 23.3.0 to >=24.4.2 (Python 3.14 support)
- Upgrade isort from >=5.11.5 to >=6.1.0 (Python 3.14 support)
- Upgrade mypy from >=1.0.1 to >=1.17.1
- Add Python 3.12, 3.13, and 3.14 to Black target versions
@Prime541 Prime541 merged commit accb13e into main Nov 3, 2025
20 checks passed
@Prime541 Prime541 deleted the dogukancagatay/drop-support-python-3-8 branch November 3, 2025 10:10
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.

3 participants