Skip to content

chore(python): bump Python runtime from 3.9 to 3.11 - #9005

Open
DoDiODev wants to merge 1 commit into
apache:mainfrom
DoDiODev:pr/python-311
Open

chore(python): bump Python runtime from 3.9 to 3.11#9005
DoDiODev wants to merge 1 commit into
apache:mainfrom
DoDiODev:pr/python-311

Conversation

@DoDiODev

Copy link
Copy Markdown
Contributor

Summary

Bump the Python runtime used across the project from 3.9 to 3.11. This is a
pure runtime bump: no library versions are changed and the existing Pydantic v1
code keeps working on 3.11.

Changes

File Change
backend/Dockerfile server image base python:3.9-slim-bookwormpython:3.11-slim-bookworm
backend/python/uv.sh default uv venv python 3.93.11
backend/python/pydevlake/pyproject.toml python = "~3.9"">=3.11,<3.12"
backend/python/plugins/azuredevops/pyproject.toml python = "~3.9"">=3.11,<3.12"
backend/python/test/fakeplugin/pyproject.toml python = "~3.9"">=3.11,<3.12"
.devcontainer/devcontainer.json python feature 3.93.11
backend/python/DevelopmentSetup.md docs now reference python3.11

Explicitly out of scope

  • No library upgrades. sqlmodel, pydantic, pytest, inflect, fire,
    jsonpointer etc. stay unchanged. Pydantic v2 / SQLModel migration and the
    corresponding poetry.lock regeneration are handled in a follow-up PR to keep
    this change reviewable and independently revertable.
  • No Node/frontend changes (the devcontainer Node feature stays at 18).

Testing

Automated (on Python 3.11.15):

  • make build-pydevlake ✅ (resolves with pydantic 1.10.26, sqlmodel 0.0.8)
  • make unit-test-python ✅ (azuredevops: 8 passed / 1 skipped, pydevlake: 10 passed)

Manual:

  • Built the server image base stage from backend/Dockerfile → image reports
    Python 3.11.15, Python remote plugins build successfully.
  • Started the azuredevops remote plugin and validated its plugin-info RPC
    handshake payload (name, extension, 12 subtasks, 14 migration scripts) on 3.11.
  • Ran a real data-collection flow (Jira, git, SonarQube) end to end.

Known unrelated issue

devcontainer build currently fails to pull mcr.microsoft.com/devcontainers/go:1-1.26-bookworm
(.devcontainer/Dockerfile). This base-image reference is not touched by this PR
and fails identically on main; it is independent of the Python 3.11 change.

Rollback

Revert this single commit; it only changes version strings and has no schema or data impact.

Bump the Python runtime used across the project from 3.9 to 3.11:

- backend/Dockerfile: server image base python:3.9 -> python:3.11
- backend/python/uv.sh: default uv venv python 3.9 -> 3.11
- pydevlake / azuredevops / fakeplugin pyproject.toml: python
  constraint "~3.9" -> ">=3.11,<3.12"
- .devcontainer/devcontainer.json: python feature 3.9 -> 3.11
- backend/python/DevelopmentSetup.md: docs reference python3.11

This is a pure runtime bump. No library versions are changed and the
existing Pydantic v1 code keeps working on 3.11 (verified with
build-pydevlake and unit-test-python). Library upgrades (Pydantic v2,
SQLModel, ...) and the corresponding poetry.lock regeneration are done
in a follow-up PR.

Signed-off-by: DoDiODev <DoDiDev@proton.me>

@klesh klesh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why are you bumping python runtime? Are you using any python plugin?

@DoDiODev

Copy link
Copy Markdown
Contributor Author

@klesh We - the company for which I'm working - would like to use devlake. The precondition is that all dependencies and the used tooling is up to date. Therefore I'm working on this step by step. The reason behind this is to reduce security issues in the software used.
When I see it correctly there is only the Azure DevOps plugin using Python. In the first step this will not be used. But we have teams also using Azure.

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