Skip to content

build(python): align tooling/config to Python 3.14 (#10872 Tier 1)#10874

Merged
mrveiss merged 1 commit into
Dev_new_guifrom
issue-10872-py314-t1
Jul 3, 2026
Merged

build(python): align tooling/config to Python 3.14 (#10872 Tier 1)#10874
mrveiss merged 1 commit into
Dev_new_guifrom
issue-10872-py314-t1

Conversation

@mrveiss

@mrveiss mrveiss commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Closes #10883.

Thinking Path

Runtime Docker images (backend + SLM) and all CI workflows already run Python 3.14, but tooling/config still targeted 3.12 — so mypy checked against the wrong interpreter and requires-python was inconsistent across packages.

What Changed

  • pyproject.toml: mypy python_version 3.12→3.14
  • autobot_shared/pyproject.toml: requires-python >=3.12 → >=3.14 (matches sibling packages)
  • .pre-commit-config.yaml: black hook language_version python3.12→python3.14 (black now runs under 3.14)
  • .github/actions/setup-python-ci/action.yml: default '3.12''3.14' (every caller already overrides; stale default)
  • requirements-ci.txt / requirements.txt: interpreter-version comments 3.12→3.14 (dependency pins untouched)

Deliberately NOT changed: black target-version stays py312

Bumping black target to py314 makes black emit PEP 758 unparenthesized except A, B: across 146 files. That syntax is a SyntaxError under Python 3.11, and the NPU/OpenVINO worker runs 3.11 on shared code. Holding target-version = ["py312"] keeps emitted syntax compatible across the mixed 3.11–3.14 fleet. Tracked in #10877 (unblock when the worker leaves 3.11). language_version: python3.14 is safe because target-version — not the runtime — controls emitted syntax.

Verification

  • YAML + TOML parse OK.
  • Confirmed the auto-fix-formatting workflow runs black with no --target-version, so it honors pyproject py312 → no PEP 758 rewrite (verified: a py314-target autofix produced a 146-file diff; reverted).
  • Dependency/CVE notes (aiohttp, numpy<2, protobuf<7, graspologic) left unchanged.

Model Used

Opus 4.8

Part of #10872 (Tier 1). Discoveries: #10877 (black target vs 3.11 NPU fleet).

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

✅ SSOT Configuration Compliance: Passing

🎉 No hardcoded values detected that have SSOT config equivalents!

…thon, pre-commit runtime, CI default); hold black target at py312 for the 3.11 NPU worker (#10872)
@mrveiss mrveiss force-pushed the issue-10872-py314-t1 branch from 2987970 to ff87fc8 Compare July 3, 2026 05:36
@mrveiss mrveiss merged commit 32fd346 into Dev_new_gui Jul 3, 2026
25 of 27 checks passed
@mrveiss mrveiss deleted the issue-10872-py314-t1 branch July 3, 2026 06:10
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