Skip to content

Align Python support with 3.10–3.14 (#684) - #717

Merged
iskandr merged 4 commits into
mainfrom
fix/python-310-314-support
Oct 19, 2026
Merged

iskandr merged 4 commits into
mainfrom
fix/python-310-314-support

Conversation

@iskandr

@iskandr iskandr commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Align Hitlist's supported Python range with #684: minimum 3.10, tested 3.10–3.14, no upper bound. Update package classifiers, Ruff target, CI unit matrix, contributor guidance and README. Refresh uv.lock for the new floor. Ruff's 3.10 target activates six compatibility rules; the small import, annotation and itertools.pairwise changes preserve behavior. Python 3.14 added argparse's own default colors, so disable those within Hitlist's custom-color parser to preserve its established help layout. The expanded CI matrix exposed #718: full integration tests passed but the 20-minute job cap canceled coverage upload. Give that job 30 minutes without changing any test or step. Bump to 1.82.10.

Dependency

PR #716 is merged and published as Hitlist 1.82.9. This PR is based on main.

Verification

  • uv lock --check passes; the lock resolves 64 packages for >=3.10 without forced incompatibilities or package downgrades. Most lockfile deletions remove Python 3.9 branches and wheel entries.
  • ./format.sh and ./lint.sh pass.
  • Post-fix local ./test.sh: 3,129 passed, 89% coverage (Python 3.12).
  • Isolated Python 3.10 and 3.14 lockfile installs each pass scripts/check_dev_install.py and 92 focused proteome, CLI/version and installer tests. The shared editable environment remains on the original checkout.
  • Full Python 3.14 local unit suite with localhost fixture access: 3,128 passed, one skipped; CLI-help cases pass on both 3.10 and 3.14.
  • On the previous final head, five Python unit legs passed; the retried integration job logged 96 passed and pytest exit status 0 after 18m34s, then GitHub canceled at the 20-minute cap. The identical timeout-only change in draft Give full-corpus integration CI measured timeout headroom (#718) #719 passed 57 focused tests and a full 3,129-test local suite. A new local full-suite attempt here was held by the 2.5 GB memory guard during a separate active mhctools run.
  • Final-head CI passes: lint, all five Python unit jobs, corpus integration, coverage and release-build artifact checks.

Refs #684.
Fixes #718.

@coveralls

coveralls commented Oct 19, 2026 •

Copy link
Copy Markdown

Coverage Report for CI Build 39314067183

Warning

No base build found for commit 2504479 on fix/engineering-control-claims.
Coverage changes can't be calculated without a base build.
If a base build is processing, this comment will update automatically when it completes.

Coverage: 88.839%

Details

  • Patch coverage: No coverable lines changed in this PR.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

Requires a base build to compare against. How to fix this →


Coverage Stats

Coverage Status
Relevant Lines: 13977
Covered Lines: 12417
Line Coverage: 88.84%
Coverage Strength: 0.89 hits per line

💛 - Coveralls

@iskandr
iskandr changed the base branch from fix/engineering-control-claims to main October 19, 2026 20:31
@iskandr
iskandr marked this pull request as ready for review October 19, 2026 20:31
@iskandr
iskandr merged commit 8355d15 into main Oct 19, 2026
9 checks passed
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.

Integration CI exceeds its 20-minute timeout during hosted-runner slowdowns

2 participants