Skip to content

fix: declare the supported Python runtime - #240

Open
ryanduguid wants to merge 2 commits into
XeroAPI:masterfrom
ryanduguid:agent/update-python-runtime-policy
Open

fix: declare the supported Python runtime#240
ryanduguid wants to merge 2 commits into
XeroAPI:masterfrom
ryanduguid:agent/update-python-runtime-policy

Conversation

@ryanduguid

@ryanduguid ryanduguid commented Aug 12, 2026

Copy link
Copy Markdown

Summary

  • raise the declared Python floor from 3.5 to 3.8, matching the existing setuptools>=75.1.0 runtime constraint
  • advertise and configure tox for Python 3.8 through 3.13; companion CI PR ci: test the Python event source #241 executes the exact floor and ceiling
  • stop producing a deprecated Python 2/3 universal wheel for this Python 3-only package

Validation

  • parsed all 609 package and test modules with Python 3.8 grammar
  • companion CI PR ci: test the Python event source #241 adds hosted execution on Python 3.8, 3.12 and 3.13 and builds the package on 3.13; that exact-head run is required evidence before treating 3.13 as supported
  • built both sdist and wheel with python -m build
  • verified wheel metadata contains Requires-Python: >=3.8
  • verified the wheel tag is py3-none-any
  • git diff --check

PyPI metadata for setuptools 75.1.0 declares Python 3.8 or newer, so the former >=3.5 package metadata could promise an installation that its own dependency list rejects. This metadata PR remains draft pending the companion hosted runtime matrix.

@ryanduguid
ryanduguid marked this pull request as ready for review August 18, 2026 15:06
CONTRIBUTING still asked for Python3.5+ and walked contributors through
pyenv installs of 3.5.9/3.6.10/3.7.6/3.8.2, so anyone following it and
running tox (the document's own pre-PR gate) had an interpreter for one of
the six envs in the rewritten envlist. Ask for 3.8 through 3.13 instead.

Use MAJOR.MINOR prefixes for pyenv install, which resolve to the latest
patch in each line, and resolve the pyenv local arguments with pyenv latest
so the instructions do not pin patch releases that go stale.

Point the setup.py classifiers at the tox envlist, which is the matrix that
actually exercises 3.8 through 3.13; the CI workflow runs only a subset.
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