Skip to content

Update GitHub workflows to Python 3.13#194

Open
mishushakov wants to merge 2 commits intomainfrom
mishushakov/py313-workflows
Open

Update GitHub workflows to Python 3.13#194
mishushakov wants to merge 2 commits intomainfrom
mishushakov/py313-workflows

Conversation

@mishushakov
Copy link
Member

@mishushakov mishushakov commented Feb 9, 2026

Summary

  • Upgrade all Python workflow jobs from Python 3.12 (and 3.10 for linting) to Python 3.13
  • Update setup-python action from v4 to v6 to support Python 3.13

Affected Workflows

  • charts_tests.yml
  • lint.yml
  • performance_tests.yml
  • python_tests.yml
  • release.yml (multiple jobs)
  • release_candidates.yml

🤖 Generated with Claude Code


Note

Low Risk
CI-only workflow changes; main risk is unexpected breakage if Python 3.13/Poetry 1.8.1 or the .tool-versions parsing step behaves differently across jobs.

Overview
Workflows now centralize Python/Poetry versioning by adding a .tool-versions file and parsing it in CI via wistia/parse-tool-versions, then wiring actions/setup-python and snok/install-poetry to use those parsed versions.

As part of this, multiple jobs switch actions/setup-python from v4 to v6 and move hardcoded Python versions (including prior 3.10/3.12 and template 3.13) to TOOL_VERSION_PYTHON, with Poetry similarly pinned via TOOL_VERSION_POETRY across test, lint, performance, release, and template build workflows.

Written by Cursor Bugbot for commit bea95cb. This will update automatically on new commits. Configure here.

Upgrade all Python workflow jobs from Python 3.12 (and 3.10 for linting) to Python 3.13, and update setup-python action from v4 to v6 to support the new version.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NumPy 1.26.4 incompatible with Python 3.13 in charts

High Severity

The chart_data_extractor project depends on numpy = "^1.26.4" (constrained to <2.0.0), but NumPy 1.26.4 has Requires-Python: <3.13,>=3.9 and is the last 1.x release. Upgrading Python to 3.13 makes it impossible to install numpy within that version constraint, so poetry install will fail. The pyproject.toml constraint needs to be updated to allow NumPy 2.x before switching to Python 3.13.

Additional Locations (1)

Fix in Cursor Fix in Web

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we will upgrade it

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NumPy 2.0.2 lacks Python 3.13 support in SDK

High Severity

The python/poetry.lock pins numpy to 2.0.2, which has no cp313 wheels. NumPy 2.1.0 was the first version to add Python 3.13 support (per its release notes). On Python 3.13, Poetry would fall back to building numpy 2.0.2 from source, which is expected to fail because the C code was not updated for Python 3.13 API changes. This breaks python_tests.yml, performance_tests.yml, and lint.yml at poetry install.

Additional Locations (2)

Fix in Cursor Fix in Web

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's fine, we can update it at later point

Copy link
Member

@jakubno jakubno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we use .tool-versions?

Add a .tool-versions file (python 3.13, poetry 1.8.1) and use
wistia/parse-tool-versions to read versions in all workflows,
replacing hardcoded version strings with env var references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mishushakov mishushakov requested a review from jakubno February 16, 2026 19: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.

2 participants

Comments