Skip to content

Add Python 3.10 support#44

Open
Master0fFate wants to merge 2 commits into
CommonstackAI:mainfrom
Master0fFate:add-python-310-support
Open

Add Python 3.10 support#44
Master0fFate wants to merge 2 commits into
CommonstackAI:mainfrom
Master0fFate:add-python-310-support

Conversation

@Master0fFate

@Master0fFate Master0fFate commented Jun 9, 2026

Copy link
Copy Markdown

Summary

  • lower package metadata to Python >=3.10 and add the Python 3.10 classifier
  • add a tomllib/tomli fallback so runtime version loading works on Python 3.10
  • add a GitHub Actions pytest matrix for Python 3.10, 3.11, 3.12, and 3.13
  • update README badges and uv.lock to match the new support floor

Why Python 3.10 matters

Python 3.10 is still a common floor on LTS and enterprise systems, especially Ubuntu 22.04-era environments and managed developer machines. Supporting it lets those users install UncommonRoute without forcing a Python runtime upgrade, while keeping the compatibility delta small because the main blocker was stdlib tomllib, which has a standard tomli backport.

I realize adding another Python version also adds ongoing QA and CI matrix burden. Technically, though, this looks feasible with a narrow compatibility shim.

Test evidence

Local Python version: Python 3.10.6.

Passed locally:

  • uv lock --check
  • uv run --python 3.10 --extra dev python -m pytest tests/test_version.py -q
  • uv run --python 3.10 --extra dev python -m compileall -q uncommon_route tests
  • uv run --python 3.10 --extra dev python -m ruff check uncommon_route/version.py tests/test_version.py

Note: a full pytest run on this Windows machine reached 713 passed / 1 skipped after enabling UTF-8 mode, then failed on existing platform-specific assumptions around POSIX file modes and HOME/shell behavior. The added GitHub Actions matrix runs on ubuntu-latest to provide maintainer-visible 3.10 evidence in CI.

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