Skip to content

Conversation

@kieran-ryan
Copy link
Contributor

@kieran-ryan kieran-ryan commented Dec 31, 2025

Context

Enables usage of PEP 563 postponed evaluation of annotations (from __future__ import annotations) towards #878 - which would break for users who attempt to install and run the latest releases using Python 3.6.

Enables removal of attrs dependency through migration to the 3.7+ native dataclasses (PEP 557) without installing backports and which provides improved type hinting and associated IDE support towards #878 - provided there are no constraints on retaining attrs.

@kieran-ryan kieran-ryan marked this pull request as draft December 31, 2025 17:12
@kieran-ryan kieran-ryan force-pushed the debt/drop-deprecated-python-versions branch from ee58c12 to de17ae9 Compare December 31, 2025 17:20
- Declares minimimum supported Python version as 3.7 in all packages
- Removes compatibility code for Python <3.7
- Migrates to PEP563 style postponed evaluation of annotations
- Applies ruff upgrade fixes for Python 3.7+ (`ruff check --target-version="py37" --select=UP --fix`)

  - UP008 Use `super()` instead of `super(__class__, self)`
  - UP015 [*] Unnecessary mode argument
  - UP020 [*] Use builtin `open`
  - UP026 [*] `mock` is deprecated, use `unittest.mock`
  - UP030 Use implicit references for positional format fields
  - UP032 [*] Use f-string instead of `format` call
@kieran-ryan kieran-ryan force-pushed the debt/drop-deprecated-python-versions branch from de17ae9 to 2ab5982 Compare December 31, 2025 17:22
@kieran-ryan kieran-ryan marked this pull request as ready for review December 31, 2025 17:23
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.

1 participant