Conversation
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>
There was a problem hiding this comment.
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.
.github/workflows/charts_tests.yml
Outdated
There was a problem hiding this comment.
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)
.github/workflows/python_tests.yml
Outdated
There was a problem hiding this comment.
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)
There was a problem hiding this comment.
it's fine, we can update it at later point
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>


Summary
Affected Workflows
🤖 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-versionsparsing step behaves differently across jobs.Overview
Workflows now centralize Python/Poetry versioning by adding a
.tool-versionsfile and parsing it in CI viawistia/parse-tool-versions, then wiringactions/setup-pythonandsnok/install-poetryto use those parsed versions.As part of this, multiple jobs switch
actions/setup-pythonfrom v4 to v6 and move hardcoded Python versions (including prior 3.10/3.12 and template 3.13) toTOOL_VERSION_PYTHON, with Poetry similarly pinned viaTOOL_VERSION_POETRYacross test, lint, performance, release, and template build workflows.Written by Cursor Bugbot for commit bea95cb. This will update automatically on new commits. Configure here.