Repository navigation
build: require Python 3.10 and pytest 9.0.3 - #12
Closed
scottmckenzie wants to merge 1 commit into
Closed
scottmckenzie wants to merge 1 commit into
scottmckenzie wants to merge 1 commit into
Conversation
Python 3.9 is past end of life and pytest 9 no longer supports it, so the lock file kept pytest 8.4.2 for 3.9. That version is affected by CVE-2025-71176 (GHSA-6w46-j5rx-g56g, vulnerable /tmp/pytest-of-{user} handling; fixed in 9.0.3, no 8.x backport), which raised Dependabot alert #1. - requires-python >=3.10; ruff and pyrefly target 3.10 - pytest >=9.0.3; the lock file now resolves a single pytest (9.1.1) - CI tests on Python 3.10 and 3.14 - README and CLAUDE.md updated for 3.10, including the syntax guidance Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T53VSjKogcDk3z3avG76Ay
Owner
Author
|
Superseded by #13. This PR closed when its branch was renamed from |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Raises the minimum Python from 3.9 to 3.10 so the dev environment can use a fixed pytest. This resolves Dependabot alert #1.
Why
/tmp/pytest-of-{user}directories, so another local user can cause a denial of service or possibly gain privileges.uv.lockkept pytest 8.4.2 for Python 3.9, which is affected.tmp_path. Fixing it at the source is still cleaner than a permanent dismissal.Changes
requires-python = ">=3.10"; rufftarget-version = "py310"; pyreflypython-version = "3.10". Ruff's 3.10 upgrade rules found nothing to change.pytest>=9.0.3.uv.locknow resolves a single pytest, 9.1.1, instead of 8.4.2 plus 9.1.1.X | Noneat runtime,typing.TypeAliasandmatchstatements.Compatibility
New releases won't install on Python 3.9. The current PyPI release, 0.1.0, is unaffected: it still installs on any Python 3.
The
protect-main-masterruleset requires a status check namedtest (3.9), which this PR removes. Replace it withtest (3.10)before merging, or this PR, and every PR after it, will wait forever for a check that never runs.Test plan
uv run pytestpasses on Python 3.10, 3.12 and 3.14 (47 tests)ruff check,ruff format --check,pyrefly checkuv sync --lockedmatches the lock filetest (3.9)totest (3.10)🤖 Generated with Claude Code
https://claude.ai/code/session_01T53VSjKogcDk3z3avG76Ay