Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Python 3.13 #1218

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/python/.devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# [Choice] Python version (use -bookworm or -bullseye variants on local arm64/Apple Silicon): 3, 3.12, 3.11, 3.10, 3.9, 3.8, 3-bookworm, 3.12-bookworm, 3.11-bookworm, 3.10-bookworm, 3.9-bookworm, 3.8-bookworm, 3-bullseye, 3.12-bullseye, 3.11-bullseye, 3.10-bullseye, 3.9-bullseye, 3.8-bullseye, 3-buster, 3.12-buster, 3.11-buster, 3.10-buster, 3.9-buster, 3.8-buster
# [Choice] Python version: 3, 3.13, 3.12, 3.11, 3.10, 3.9, 3-bookworm, 3.13-bookworm, 3.12-bookworm, 3.11-bookworm, 3.10-bookworm, 3.9-bookworm, 3-bullseye, 3.13-bullseye, 3.12-bullseye, 3.11-bullseye, 3.10-bullseye, 3.9-bullseye
ARG VARIANT=3-bookworm
FROM python:${VARIANT}

Expand Down
6 changes: 3 additions & 3 deletions src/python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
| *Categories* | Core, Languages |
| *Image type* | Dockerfile |
| *Published image* | mcr.microsoft.com/devcontainers/python |
| *Available image variants* | 3 / 3-bookworm, 3.8 / 3.8-bookworm, 3.9 / 3.9-bookworm, 3.10 / 3.10-bookworm, 3.11-bookworm / 3.11, 3.12-bookworm / 3.12, 3-bullseye, 3.8-bullseye, 3.9-bullseye, 3.10-bullseye, 3.11-bullseye, 12-bullseye ([full list](https://mcr.microsoft.com/v2/devcontainers/python/tags/list)) |
| *Available image variants* | 3 / 3-bookworm, 3.9 / 3.9-bookworm, 3.10 / 3.10-bookworm, 3.11-bookworm / 3.11, 3.12-bookworm / 3.12, 3.13-bookworm / 3.13, 3-bullseye, 3.9-bullseye, 3.10-bullseye, 3.11-bullseye, 3.12-bullseye, 3.13-bullseye ([full list](https://mcr.microsoft.com/v2/devcontainers/python/tags/list)) |
| *Published image architecture(s)* | x86-64, arm64/aarch64 for `bookworm`, and `bullseye` variants |
| *Container Host OS Support* | Linux, macOS, Windows |
| *Container OS* | Debian |
Expand All @@ -24,11 +24,11 @@ See **[history](history)** for information on the contents of published images.
You can directly reference [pre-built](https://containers.dev/implementors/reference/#prebuilding) versions of this image by using the `image` property in `.devcontainer/devcontainer.json` or updating the `FROM` statement in your own `Dockerfile` with one of the following:

- `mcr.microsoft.com/devcontainers/python:3` (latest)
- `mcr.microsoft.com/devcontainers/python:3.8` (or `3.8-bookworm`, `3.8-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/python:3.9` (or `3.9-bookworm`, `3.9-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/python:3.10` (or `3.10-bookworm`, `3.10-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/python:3.11` (or `3.11-bookworm`, `3.11-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/python:3.12` (or `3.12-bookworm`, `3.12-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/python:3.13` (or `3.13-bookworm`, `3.13-bullseye` to pin to an OS version)

Refer to [this guide](https://containers.dev/guide/dockerfile) for more details.

Expand Down Expand Up @@ -130,7 +130,7 @@ If you would prefer to have multiple Python versions in your container, use `Doc

```Dockerfile
FROM ubuntu:jammy
ARG PYTHON_PACKAGES="python3.8 python3.9 python3 python3-pip python3-venv"
ARG PYTHON_PACKAGES="python3.9 python3.10 python3 python3-pip python3-venv"
RUN apt-get update && apt-get install --no-install-recommends -yq software-properties-common \
&& add-apt-repository ppa:deadsnakes/ppa && apt-get update \
&& apt-get install -yq --no-install-recommends ${PYTHON_PACKAGES} \
Expand Down
30 changes: 15 additions & 15 deletions src/python/manifest.json
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
{
"version": "1.1.16",
"variants": [
"3.13-bookworm",
"3.12-bookworm",
"3.11-bookworm",
"3.10-bookworm",
"3.9-bookworm",
"3.8-bookworm",
"3.13-bullseye",
"3.12-bullseye",
"3.11-bullseye",
"3.10-bullseye",
"3.9-bullseye",
"3.8-bullseye"
"3.9-bullseye"
],
"build": {
"latest": "3.12-bookworm",
"latest": "3.13-bookworm",
"rootDistro": "debian",
"architectures": {
"3.13-bookworm": [
"linux/amd64",
"linux/arm64"
],
"3.12-bookworm": [
"linux/amd64",
"linux/arm64"
Expand All @@ -32,7 +36,7 @@
"linux/amd64",
"linux/arm64"
],
"3.8-bookworm": [
"3.13-bullseye": [
"linux/amd64",
"linux/arm64"
],
Expand All @@ -51,22 +55,21 @@
"3.9-bullseye": [
"linux/amd64",
"linux/arm64"
],
"3.8-bullseye": [
"linux/amd64",
"linux/arm64"
]
},
"tags": [
"python:${VERSION}-${VARIANT}"
],
"variantTags": {
"3.12-bookworm": [
"python:${VERSION}-3.12",
"3.13-bookworm": [
"python:${VERSION}-3.13",
"python:${VERSION}-3",
"python:${VERSION}-3-bookworm",
"python:${VERSION}-bookworm"
],
"3.12-bookworm": [
"python:${VERSION}-3.12"
],
"3.11-bookworm": [
"python:${VERSION}-3.11"
],
Expand All @@ -76,10 +79,7 @@
"3.9-bookworm": [
"python:${VERSION}-3.9"
],
"3.8-bookworm": [
"python:${VERSION}-3.8"
],
"3.12-bullseye": [
"3.13-bullseye": [
"python:${VERSION}-3-bullseye",
"python:${VERSION}-bullseye"
]
Expand Down