Summary
Track and implement changes required for supporting the free-threaded build of CPython (PEP 703).
This work was split out from #79 (Python 3.14 support).
Background
- Python 3.14 introduces official support for free-threaded builds.
- Current code has class variables that may cause race conditions or unsafe access in a free-threaded environment.
- To ensure compatibility and stability, these class variables should be migrated to instance variables or local variables.
Tasks
Investigation Targets
- mahjong/
- __init__.py
- agari.py
- constants.py
- meld.py
- shanten.py
- tile.py
- utils.py
- hand_calculating/
- __init__.py
- divider.py
- fu.py
- hand_config.py
- hand_response.py
- hand.py
- scores.py
- yaku_config.py
- yaku.py
- yaku_list/