Skip to content
Merged
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,5 +1,5 @@
# [Choice] Python version (use -bookworm or -bullseye variants on local arm64/Apple Silicon): 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, 3-buster, 3.12-buster, 3.11-buster, 3.10-buster, 3.9-buster
ARG VARIANT=3-bookworm
ARG VARIANT=3-trixie
FROM python:${VARIANT}

RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
Expand Down
20 changes: 10 additions & 10 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.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)) |
| *Available image variants* | 3 / 3-trixie, 3.9 / 3.9-trixie, 3.10 / 3.10-trixie, 3.11-trixie / 3.11, 3.12-trixie / 3.12, 3.13-trixie / 3.13, 3-bookworm, 3.9-bookworm, 3.10-bookworm, 3.11-bookworm, 3.12-bookworm, 3.13-bookworm, 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,21 +24,21 @@ 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.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)
- `mcr.microsoft.com/devcontainers/python:3.9` (or `3.9-trixie`, `3.9-bookworm`, `3.9-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/python:3.10` (or `3.10-trixie`, `3.10-bookworm`, `3.10-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/python:3.11` (or `3.11-trixie`, `3.11-bookworm`, `3.11-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/python:3.12` (or `3.12-trixie`, `3.12-bookworm`, `3.12-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/python:3.13` (or `3.13-trixie`, `3.13-bookworm`, `3.13-bullseye` to pin to an OS version)

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

You can decide how often you want updates by referencing a [semantic version](https://semver.org/) of each image. For example:

- `mcr.microsoft.com/devcontainers/python:1-3.9` (or `1-3.9-bullseye`)
- `mcr.microsoft.com/devcontainers/python:1.0-3.9` (or `1.0-3.9-bullseye`)
- `mcr.microsoft.com/devcontainers/python:1.0.0-3.9` (or `1.0.0-3.9-bullseye`)
- `mcr.microsoft.com/devcontainers/python:2-3.13` (or `2-3.13-bullseye`)
- `mcr.microsoft.com/devcontainers/python:2.0-3.13` (or `2.0-3.13-bullseye`)
- `mcr.microsoft.com/devcontainers/python:2.0.0-3.13` (or `2.0.0-3.13-bullseye`)

However, we only do security patching on the latest [non-breaking, in support](https://github.com/devcontainers/images/issues/90) versions of images (e.g. `1-3`).
However, we only do security patching on the latest [non-breaking, in support](https://github.com/devcontainers/images/issues/90) versions of images (e.g. `2-3`).
You may want to run `apt-get update && apt-get upgrade` in your Dockerfile if you lock to a more specific version to at least pick up OS security updates.

See [history](history) for information on the contents of each version and [here for a complete list of available tags](https://mcr.microsoft.com/v2/devcontainers/python/tags/list).
Expand Down
57 changes: 43 additions & 14 deletions src/python/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
{
"version": "1.3.1",
"version": "2.0.0",
"variants": [
"3.13-trixie",
"3.12-trixie",
"3.11-trixie",
"3.10-trixie",
"3.9-trixie",
"3.13-bookworm",
"3.12-bookworm",
"3.11-bookworm",
Expand All @@ -13,9 +18,29 @@
"3.9-bullseye"
],
"build": {
"latest": "3.13-bookworm",
"latest": "3.13-trixie",
"rootDistro": "debian",
"architectures": {
"3.13-trixie": [
"linux/amd64",
"linux/arm64"
],
"3.12-trixie": [
"linux/amd64",
"linux/arm64"
],
"3.11-trixie": [
"linux/amd64",
"linux/arm64"
],
"3.10-trixie": [
"linux/amd64",
"linux/arm64"
],
"3.9-trixie": [
"linux/amd64",
"linux/arm64"
],
"3.13-bookworm": [
"linux/amd64",
"linux/arm64"
Expand Down Expand Up @@ -61,24 +86,28 @@
"python:${VERSION}-${VARIANT}"
],
"variantTags": {
"3.13-bookworm": [
"3.13-trixie": [
"python:${VERSION}-3.13",
"python:${VERSION}-3",
"python:${VERSION}-3-bookworm",
"python:${VERSION}-bookworm"
],
"3.12-bookworm": [
"python:${VERSION}-3-trixie",
"python:${VERSION}-trixie"
],
"3.12-trixie": [
"python:${VERSION}-3.12"
],
"3.11-bookworm": [
],
"3.11-trixie": [
"python:${VERSION}-3.11"
],
"3.10-bookworm": [
],
"3.10-trixie": [
"python:${VERSION}-3.10"
],
"3.9-bookworm": [
],
"3.9-trixie": [
"python:${VERSION}-3.9"
],
],
"3.13-bookworm": [
"python:${VERSION}-3-bookworm",
"python:${VERSION}-bookworm"
],
"3.13-bullseye": [
"python:${VERSION}-3-bullseye",
"python:${VERSION}-bullseye"
Expand Down