Skip to content

Update python support to 3.15 and use new features - #31

Merged
rezhajulio merged 3 commits into
mainfrom
update-python-support-13340290670059484399
Sep 12, 2026
Merged

rezhajulio merged 3 commits into
mainfrom
update-python-support-13340290670059484399

Conversation

@rezhajulio

Copy link
Copy Markdown
Owner

This PR addresses the following:

  • Updates CI/CD pipeline to remove Python 3.10 and add support for Python 3.15.
  • Bumps .python-version to target Python 3.15.
  • Adds Python 3.11 features, specifically leveraging typing.Self in src/bot/group_config.py for correct self-referential typings.
  • Updates dependencies via uv lock --upgrade and runs the linter across the project to clean up resulting style issues.

PR created automatically by Jules for task 13340290670059484399 started by @rezhajulio

@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

Adds Python 3.15 to the test matrix, targets it in .python-version, and
uses typing.Self for GroupRegistry.register. Dependencies refreshed and
the resulting style issues cleaned up.

Rebased onto main: the branch previously carried main's own commits as
diffs, which both conflicted and reverted the recently merged CaptchaData
/TrustedUserData DTOs and the tool-cache gitignore entries. Those files
now come from main and the branch carries only its own change.

Ruff is pinned below 0.16 and given an explicit rule selection. Ruff 0.16
widens the default rule set from ~59 to ~413 rules, which reflagged 154
pre-existing findings and would have failed the lint job on its own.
@rezhajulio
rezhajulio force-pushed the update-python-support-13340290670059484399 branch from 6f748c3 to 77fa62e Compare September 12, 2026 00:12
The matrix was decorative: `uv sync` resolves the interpreter from
.python-version, which overrode actions/setup-python, so all five jobs
downloaded and ran CPython 3.15.0rc2. The 3.11-3.14 checks proved nothing
about those versions. Each job now sets UV_PYTHON to its matrix entry, so
every supported version is genuinely exercised.

.python-version returns to the latest stable (3.14). Pinning it to 3.15
forced every local `uv sync` onto a release candidate and silently moved
the dev interpreter off stable. 3.15 remains covered by the matrix, which
is the right place to test a prerelease.

The lint job likewise ran on 3.15 despite setup-python requesting 3.11;
it is now pinned to 3.11, so linting and type-checking cover the declared
floor of requires-python.

Freezes the ruff rule set via an explicit select. Ruff 0.16 widened its
defaults from ~59 to ~413 rules, reflagging 154 pre-existing findings that
would have failed the lint job; the explicit select keeps the dependency
upgrade while making linting independent of version-dependent defaults.
Hoists UV_PYTHON to the job level so every step in a job uses the same
interpreter, including steps added later, instead of repeating the env
block per step.

Adds UV_PYTHON_DOWNLOADS: never so a missing interpreter fails loudly
rather than silently downloading a different one. Downloads were how the
matrix bug stayed invisible: uv fetched an interpreter instead of
reporting that setup-python's build was not the one it used.

Drops the dead empty [tool.ruff] table left behind by the lint config.
@rezhajulio
rezhajulio merged commit cfa537b into main Sep 12, 2026
6 checks passed
@rezhajulio
rezhajulio deleted the update-python-support-13340290670059484399 branch September 12, 2026 00:33
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