-
Notifications
You must be signed in to change notification settings - Fork 526
Open
Description
This issue is for discussing the scheduling and motivations for deprecating old Python versions.
Deprecating 3.8 (May 1, 2023)
- Drop support for Python 3.8 #685
- Finish type hinting with
Queue. - Use builtin types for hinting (
listanddictinstead ofListandDict, for example) to reduce the occurrences offrom typing import ....
Deprecating 3.9 (Oct. 2025)
- In timer.py, replace
time.time()withtime.monotonic()so timing is not affected by clock changes (DST, e.g.). This function is available on MacOS starting with version 3.10. Fixed with PR Replace ints and floats with datetime.timedeltas #801 - Use
int | strinstead ofUnion[int, str], andint | Noneinstead ofOptional[int]. - Use TypeAlias, for example:
MOVE = Union[PlayResult, list[Move]]changes toMOVE: TypeAlias = Union[PlayResult, list[Move]]. - Replace long chains of
if-elif-elsewithmatchstatements - Remove 3.9 specific instructions from installation wiki.
Deprecating 3.10 (Oct. 2026)
- Use NotRequired and Required in TypedDicts.
Deprecating 3.11 (Oct. 2027)
- Use type instead of TypeAlias, to change
MOVE: TypeAlias = Union[PlayResult, list[Move]]totype MOVE = Union[PlayResult, list[Move]]. - Change nested f-strings to only use double quotes (see here).
Deprecating 3.12 (Oct. 2028)
- Use ReadOnly in TypedDict
- Possibly support iOS and android.
Deprecating 3.13 (Oct. 2029)
- Remove some (possibly all) from future import annotations statements.
Metadata
Metadata
Assignees
Labels
No labels