python Languages & Runtimes
Shell-less Python 3 runtime built on Wolfi.
Pull this image
docker pull ghcr.io/rtvkiz/minimal-python:latest docker pull ghcr.io/rtvkiz/minimal-python:latest-dev The -dev variant adds a shell, package manager and build toolchain. For CI and debugging — not production.
Details
- Repository
- ghcr.io/rtvkiz/minimal-python
- Size (compressed)
- 63 MB
- Built
- 2026-08-13T13:51:11Z (today)
- Architectures
- x86_64, aarch64
- Primary package
- python-3
- Entrypoint
- /usr/bin/python3
- User
- nonroot (65532)
- Working dir
- /app
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-python org.opencontainers.image.description Hardened shell-less Python 3 image built on Wolfi with daily CVE patches org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/python org.opencontainers.image.licenses Apache-2.0
- Entrypoint
- /usr/bin/python3
- User
- nonroot (65532)
- Working dir
- /app
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-python-dev org.opencontainers.image.description Dev variant of minimal-python: same Python runtime + shell + build toolchain + pip/uv. Not for production. org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/python org.opencontainers.image.licenses Apache-2.0 dev.minimal.variant dev
| Tag | Pull | Published |
|---|---|---|
| 3 | ghcr.io/rtvkiz/minimal-python:3 | 2026-08-13 |
| 3.14 | ghcr.io/rtvkiz/minimal-python:3.14 | 2026-08-13 |
| 3.14.7-r0 | ghcr.io/rtvkiz/minimal-python:3.14.7-r0 | 2026-08-13 |
| 3.14.7-r0-20260813 | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260813 | 2026-08-13 |
| latest | ghcr.io/rtvkiz/minimal-python:latest | 2026-08-13 |
| 3-dev | ghcr.io/rtvkiz/minimal-python:3-dev | 2026-08-13 |
| 3.14-dev | ghcr.io/rtvkiz/minimal-python:3.14-dev | 2026-08-13 |
| 3.14.7-r0-20260813-dev | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260813-dev | 2026-08-13 |
| 3.14.7-r0-dev | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-dev | 2026-08-13 |
| latest-dev | ghcr.io/rtvkiz/minimal-python:latest-dev | 2026-08-13 |
| 3.14.7-r0-20260812 | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260812 | 2026-08-12 |
| 3.14.7-r0-20260812-dev | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260812-dev | 2026-08-12 |
| 3.14.7-r0-20260811 | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260811 | 2026-08-11 |
| 3.14.7-r0-20260811-dev | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260811-dev | 2026-08-11 |
| 3.14.7-r0-20260810 | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260810 | 2026-08-10 |
| 3.14.7-r0-20260810-dev | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260810-dev | 2026-08-10 |
| 3.14.7-r0-20260809-dev | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260809-dev | 2026-08-09 |
| 3.14.7-r0-20260809 | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260809 | 2026-08-09 |
| 3.14.7-r0-20260808 | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260808 | 2026-08-08 |
| 3.14.7-r0-20260808-dev | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260808-dev | 2026-08-08 |
| 3.14.7-r0-20260807 | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260807 | 2026-08-07 |
| 3.14.7-r0-20260807-dev | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260807-dev | 2026-08-07 |
| 3.14.7-r0-20260806 | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260806 | 2026-08-06 |
| 3.14.7-r0-20260806-dev | ghcr.io/rtvkiz/minimal-python:3.14.7-r0-20260806-dev | 2026-08-06 |
| 3.14.6-r4 | ghcr.io/rtvkiz/minimal-python:3.14.6-r4 | 2026-08-05 |
| 3.14.6-r4-20260805 | ghcr.io/rtvkiz/minimal-python:3.14.6-r4-20260805 | 2026-08-05 |
| 3.14.6-r4-20260806 | ghcr.io/rtvkiz/minimal-python:3.14.6-r4-20260806 | 2026-08-05 |
| 3.14.6-r4-20260805-dev | ghcr.io/rtvkiz/minimal-python:3.14.6-r4-20260805-dev | 2026-08-05 |
| 3.14.6-r4-20260806-dev | ghcr.io/rtvkiz/minimal-python:3.14.6-r4-20260806-dev | 2026-08-05 |
| 3.14.6-r4-dev | ghcr.io/rtvkiz/minimal-python:3.14.6-r4-dev | 2026-08-05 |
| 3.14.6-r4-20260804 | ghcr.io/rtvkiz/minimal-python:3.14.6-r4-20260804 | 2026-08-04 |
| 3.14.6-r4-20260804-dev | ghcr.io/rtvkiz/minimal-python:3.14.6-r4-20260804-dev | 2026-08-04 |
116 packages in the image, resolved from the SPDX SBOM.
| Package | Version | License |
|---|---|---|
| alpine/ca-certificates | 20260413 | MPL-2.0 AND MIT |
| bzip2.yaml | 1c365e274ed1d2bf6498b96c5044300262b1bbcf | Apache-2.0 |
| ca-certificates-bundle | 20260413-r1 | MPL-2.0 AND MIT |
| ca-certificates-bundle | 20260413-r1 | (MPL-2.0 AND MIT) |
| ca-certificates-bundle | 20260413-r1 | — |
| ca-certificates.yaml | 70f58e72ab3f2139f773ba5c148b573e8d835baa | Apache-2.0 |
| cpython | v3.14.7 | PSF-2.0 |
| expat.yaml | 82cb5e4b97103dd06a6ff290c2194be5027dcd5c | Apache-2.0 |
| gcc.yaml | ee52ebd3c186a06b70547dbfa69282385da38f2b | Apache-2.0 |
| gdbm | 1.26-r5 | GPL-3.0-or-later |
| gdbm | 1.26-r5 | GPL-3.0-or-later |
| gdbm | 1.26-r5 | — |
| gdbm.yaml | 74465ff25399be9a58446991d3c4f364c30df9f3 | Apache-2.0 |
| git/bzip2 | bzip2-1.0.8 | MPL-2.0 AND MIT |
| git/gdbm | v1.26 | GPL-3.0-or-later |
| git/readline | readline-8.3 | GPL-3.0-or-later |
| glibc | 2.43-r13 | LGPL-2.1-or-later |
| glibc | 2.43-r13 | LGPL-2.1-or-later |
| glibc | 2.43-r13 | — |
| glibc-locale-posix | 2.43-r13 | LGPL-2.1-or-later |
| glibc-locale-posix | 2.43-r13 | LGPL-2.1-or-later |
| glibc-locale-posix | 2.43-r13 | — |
| glibc.yaml | 837e260c2c4077f1183995935db101a5fa325205 | Apache-2.0 |
| gnutools/gcc | releases/gcc-16.1.0 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| gnutools/glibc | dae425b554207f7c4599c7fac707ad4c08545674 | LGPL-2.1-or-later |
| idna | v3.15 | MIT |
| ld-linux | 2.43-r13 | LGPL-2.1-or-later |
| ld-linux | 2.43-r13 | LGPL-2.1-or-later |
| ld-linux | 2.43-r13 | — |
| libbz2-1 | 1.0.8-r23 | MPL-2.0 AND MIT |
| libbz2-1 | 1.0.8-r23 | (MPL-2.0 AND MIT) |
| libbz2-1 | 1.0.8-r23 | — |
| libcrypto3 | 3.6.3-r4 | Apache-2.0 |
| libcrypto3 | 3.6.3-r4 | Apache-2.0 |
| libcrypto3 | 3.6.3-r4 | — |
| libexpat | R_2_8_3 | MIT |
| libexpat1 | 2.8.3-r0 | MIT |
| libexpat1 | 2.8.3-r0 | MIT |
| libexpat1 | 2.8.3-r0 | — |
| libffi | 3.8.0-r0 | MIT |
| libffi | v3.8.0 | MIT |
| libffi | 3.8.0-r0 | MIT |
| libffi | 3.8.0-r0 | — |
| libffi.yaml | 18d04e04ea41fa85fb2c7729a523086b5783c79b | Apache-2.0 |
| libgcc | 16.1.0-r4 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| libgcc | 16.1.0-r4 | (GPL-3.0-or-later WITH GCC-exception-3.1) |
| libgcc | 16.1.0-r4 | — |
| libssl3 | 3.6.3-r4 | Apache-2.0 |
| libssl3 | 3.6.3-r4 | Apache-2.0 |
| libssl3 | 3.6.3-r4 | — |
| libstdc++ | 16.1.0-r4 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| libstdc++ | 16.1.0-r4 | (GPL-3.0-or-later WITH GCC-exception-3.1) |
| libstdc++ | 16.1.0-r4 | — |
| libuuid | 2.42.2-r1 | GPL-3.0-or-later AND GPL-2.0-or-later AND GPL-2.0-only AND GPL-1.0-only AND LGPL-2.1-or-later AND BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND MIT AND CC-PDDC |
| libuuid | 2.42.2-r1 | (GPL-3.0-or-later AND GPL-2.0-or-later AND GPL-2.0-only AND GPL-1.0-only AND LGPL-2.1-or-later AND BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND MIT AND CC-PDDC) |
| libuuid | 2.42.2-r1 | — |
| libzstd1 | 1.5.7-r8 | BSD-2-Clause AND GPL-2.0-only |
| libzstd1 | 1.5.7-r8 | (BSD-2-Clause AND GPL-2.0-only) |
| libzstd1 | 1.5.7-r8 | — |
| mpdecimal | 4.0.1-r3 | BSD-2-Clause |
| mpdecimal | 4.0.1 | — |
| mpdecimal.yaml | 816f399eca16c98994a5f607d6a8de6df29939b9 | — |
| ncurses | 6.6.20260808-r0 | MIT |
| ncurses | 6.6.20260808-r0 | MIT |
| ncurses | 6.6.20260808-r0 | — |
| ncurses-snapshots | v6_6_20260808 | MIT |
| ncurses-terminfo-base | 6.6.20260808-r0 | MIT |
| ncurses-terminfo-base | 6.6.20260808-r0 | MIT |
| ncurses-terminfo-base | 6.6.20260808-r0 | — |
| ncurses.yaml | 82872c2de99075f34ec81627860453e04d5b92f2 | Apache-2.0 |
| openssl | openssl-3.6.3 | Apache-2.0 |
| openssl.yaml | c48ecb7ef94ace77404e694cdd5e791557ae3279 | Apache-2.0 |
| pip | 26.2.1 | MIT |
| pip | 26.2.1 | — |
| py3-pip-wheel | 26.2.1-r0 | MIT |
| py3-pip-wheel | 26.2.1-r0 | MIT |
| py3-pip-wheel | 26.2.1-r0 | — |
| py3-pip.yaml | 63cd926b33b27191222a4f10559e0a8fd6a9c1ae | Apache-2.0 |
| python-3.14 | 3.14.7-r0 | PSF-2.0 |
| python-3.14 | 3.14.7-r0 | PSF-2.0 |
| python-3.14 | 3.14.7-r0 | — |
| python-3.14-base | 3.14.7-r0 | PSF-2.0 |
| python-3.14-base | 3.14.7-r0 | PSF-2.0 |
| python-3.14-base | 3.14.7-r0 | — |
| python-3.14.yaml | 556eaae25b59ef72a4c209323f0c0efdc8ed5f87 | Apache-2.0 |
| readline | 8.3-r2 | GPL-3.0-or-later |
| readline | 8.3-r2 | GPL-3.0-or-later |
| readline | 8.3-r2 | — |
| readline.yaml | e402be2d67f6e4ed597bbaca3f84cc9215071ff5 | Apache-2.0 |
| sha256:4e9d3643c5100a50a7c400633cc1c4ffb3ef88439dbf7adbe7ec0a1bf484f548 | 20230201 | — |
| sha256:8b222df8a54156e38398ccf376ee7382fd2af4d7f205fb6b4eb989264dcc02d3 | sha256:8b222df8a54156e38398ccf376ee7382fd2af4d7f205fb6b4eb989264dcc02d3 | — |
| sqlite | 3.53.4 | — |
| sqlite-libs | 3.53.4-r0 | blessing |
| sqlite-libs | 3.53.4-r0 | blessing |
| sqlite-libs | 3.53.4-r0 | — |
| sqlite.yaml | 844ca914d9a57afd75d3fed20edfbe8bb629a962 | Apache-2.0 |
| urllib3 | 2.7.0 | MIT |
| util-linux | 2.42.2 | — |
| util-linux.yaml | 04d9f5671d893a884105dcded367aac020649a61 | Apache-2.0 |
| wolfi | 20230201 | — |
| wolfi-baselayout | 20230201-r29 | MIT |
| wolfi-baselayout | 20230201-r29 | MIT |
| wolfi-baselayout | 20230201-r29 | — |
| wolfi-baselayout.yaml | 35e7b4713442869116936fae3fe8cf7c69bc9054 | Apache-2.0 |
| xz | 5.8.3-r1 | GPL-3.0-or-later |
| xz | v5.8.3 | GPL-3.0-or-later |
| xz | 5.8.3-r1 | GPL-3.0-or-later |
| xz | 5.8.3-r1 | — |
| xz.yaml | 7dd9d5556869de1b3bb2f13a8addceb8a192570e | Apache-2.0 |
| zlib | 1.3.2-r4 | MPL-2.0 AND MIT |
| zlib | v1.3.2 | MPL-2.0 AND MIT |
| zlib | 1.3.2-r4 | (MPL-2.0 AND MIT) |
| zlib | 1.3.2-r4 | — |
| zlib.yaml | a27721c97b2bffc54141307e511a494d464d5459 | Apache-2.0 |
| zstd | v1.5.7 | BSD-2-Clause AND GPL-2.0-only |
| zstd.yaml | c039504cb9226463ea6c7e1b81484e8480208722 | Apache-2.0 |
2 high1 medium 0 fixable
| CVE | Severity | Package | Installed | Fixed in |
|---|---|---|---|---|
| CVE-2026-54876 | High | libcrypto3 | 3.6.3-r4 | — |
| CVE-2026-54876 | High | libssl3 | 3.6.3-r4 | — |
| CVE-2025-15367 | Medium | python-3.14 | 3.14.7-r0 | — |
Everything is verifiable without an account. Copy and run:
Build provenance (SLSA L3)
gh attestation verify oci://ghcr.io/rtvkiz/minimal-python:latest --owner rtvkiz Cosign signature
cosign verify \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-python:latest SBOM attestation (SPDX)
cosign verify-attestation --type spdxjson \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-python:latest \
| jq -r '.payload | @base64d | fromjson | .predicate' Signatures are logged in the public Rekor transparency log.