Skip to content

feat: drop Python 3.9 support (EOL)#1329

Merged
mikahanninen merged 3 commits into
masterfrom
feat/drop-python-3.9
May 3, 2026
Merged

feat: drop Python 3.9 support (EOL)#1329
mikahanninen merged 3 commits into
masterfrom
feat/drop-python-3.9

Conversation

@mikahanninen
Copy link
Copy Markdown
Collaborator

Summary

  • Bumps requires-python to >=3.10 in all 11 packages
  • Removes py39 matrix from all CI workflows (11 yaml files)
  • Pins rpaframework-windows and rpaframework-core to local workspace paths in packages/main [tool.uv.sources] so the lock resolves from local sources instead of stale PyPI releases
  • Regenerates packages/main/uv.lock:
    • pyobjc-core 9.2 → 12.1 (universal2 wheels — no source compilation on macOS)
    • pynput-robocorp-fork removed
    • 36 other packages updated to latest compatible versions

Why

Python 3.9 reached EOL in October 2025. pyobjc-core 12.0+ dropped Python 3.9 support, which was the root cause of macOS build failures when running tests locally on macOS 16 (Darwin 25) — the resolver was stuck on pyobjc 9.2 (which requires compilation from source and fails on newer Xcode/clang).

Test plan

  • CI passes on all remaining matrix entries (py310, py311 × windows/ubuntu/macos)
  • uv run pytest tests/python/test_database.py runs cleanly on macOS (no pyobjc build error)

🤖 Generated with Claude Code

- Bump requires-python to >=3.10 in all packages
- Remove Python 3.9 CI matrix entries from all workflows
- docs.yaml and codeql-analysis.yml updated to Python 3.10
- Pin rpaframework-windows and rpaframework-core to local path
  in packages/main [tool.uv.sources] so the lock resolves local
  workspace sources instead of stale PyPI releases
- Regenerate packages/main/uv.lock: pyobjc 9.2 → 12.1 (universal2
  wheels, no source compilation on macOS), pynput-robocorp-fork removed,
  36 other packages updated to latest compatible versions

pyobjc 12.0+ dropped Python 3.9; this was the root cause of the
macOS build failures when running tests locally on macOS 16.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 3, 2026

Wheel artifact

Built from commit 712f7ac — download from the workflow run (Artifacts section at the bottom of the page).

Artifact name: rpaframework-wheel (retained 14 days)

mikahanninen and others added 2 commits May 3, 2026 18:18
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
rpaframework 31.2.0 requires Python >=3.10, so uv cannot resolve the
dependency split for the 3.9 range in the root workspace metapackage.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@mikahanninen mikahanninen merged commit 4d58695 into master May 3, 2026
57 checks passed
@mikahanninen mikahanninen deleted the feat/drop-python-3.9 branch May 3, 2026 17: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