← All images

python Languages & Runtimes

Shell-less Python 3 runtime built on Wolfi.

Size 71 MB Arch x86_64, aarch64 User nonroot (65532) Updated today Upstream www.python.org

Pull this image

docker pull ghcr.io/rtvkiz/minimal-python:latest

Details

Repository
ghcr.io/rtvkiz/minimal-python
Size (compressed)
71 MB
Built
2026-09-28T23:20:50Z (today)
Architectures
x86_64, aarch64
Primary package
python-3
Entrypoint
/usr/bin/python3
User
nonroot (65532)
Working dir
/app
Architectures
x86_64, aarch64
Environment
PYTHONDONTWRITEBYTECODE=1PYTHONUNBUFFERED=1PYTHONHASHSEED=randomLANG=C.UTF-8PATH=/usr/bin:/bin
Labels
org.opencontainers.image.titleminimal-python
org.opencontainers.image.descriptionHardened shell-less Python 3 image built on Wolfi with daily CVE patches
org.opencontainers.image.urlhttps://github.com/rtvkiz/minimal
org.opencontainers.image.sourcehttps://github.com/rtvkiz/minimal/tree/main/images/python
org.opencontainers.image.licensesApache-2.0
TagPullPublished
3.14.7_git20260925-r0 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260925-r0 2026-09-28
3.14.7_git20260925-r0-20260928 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260925-r0-20260928 2026-09-28
latest ghcr.io/rtvkiz/minimal-python:latest 2026-09-28
3.14.7_git20260925-r0-20260928-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260925-r0-20260928-dev 2026-09-28
3.14.7_git20260925-r0-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260925-r0-dev 2026-09-28
latest-dev ghcr.io/rtvkiz/minimal-python:latest-dev 2026-09-28
3.14.7_git20260925-r0-20260927 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260925-r0-20260927 2026-09-27
3.14.7_git20260925-r0-20260927-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260925-r0-20260927-dev 2026-09-27
3.14.7_git20260925-r0-20260926 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260925-r0-20260926 2026-09-26
3.14.7_git20260925-r0-20260926-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260925-r0-20260926-dev 2026-09-26
3.14.7_git20260925-r0-20260925 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260925-r0-20260925 2026-09-25
3.14.7_git20260925-r0-20260925-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260925-r0-20260925-dev 2026-09-25
3.14.7_git20260918-r1 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r1 2026-09-24
3.14.7_git20260918-r1-20260924 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r1-20260924 2026-09-24
3.14.7_git20260918-r1-20260924-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r1-20260924-dev 2026-09-24
3.14.7_git20260918-r1-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r1-dev 2026-09-24
3.14.7_git20260918-r0 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0 2026-09-23
3.14.7_git20260918-r0-20260923 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0-20260923 2026-09-23
3.14.7_git20260918-r0-20260923-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0-20260923-dev 2026-09-23
3.14.7_git20260918-r0-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0-dev 2026-09-23
3.14.7_git20260918-r0-20260922 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0-20260922 2026-09-22
3.14.7_git20260918-r0-20260922-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0-20260922-dev 2026-09-22
3.14.7_git20260918-r0-20260921 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0-20260921 2026-09-21
3.14.7_git20260918-r0-20260921-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0-20260921-dev 2026-09-21
3.14.7_git20260918-r0-20260920 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0-20260920 2026-09-20
3.14.7_git20260918-r0-20260920-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0-20260920-dev 2026-09-20
3.14.7_git20260918-r0-20260919 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0-20260919 2026-09-19
3.14.7_git20260918-r0-20260919-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0-20260919-dev 2026-09-19
3.14.7_git20260918-r0-20260918 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0-20260918 2026-09-18
3.14.7_git20260918-r0-20260918-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260918-r0-20260918-dev 2026-09-18
3.14.7_git20260917-r3 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260917-r3 2026-09-18
3.14.7_git20260917-r3-20260918 ghcr.io/rtvkiz/minimal-python:3.14.7_git20260917-r3-20260918 2026-09-18
3.14.7_git20260917-r3-20260918-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260917-r3-20260918-dev 2026-09-18
3.14.7_git20260917-r3-dev ghcr.io/rtvkiz/minimal-python:3.14.7_git20260917-r3-dev 2026-09-18

142 packages in the image, resolved from the SPDX SBOM.

PackageVersionLicense
alpine/ca-certificates20260909MPL-2.0 AND MIT
brotliv1.2.0MIT
brotli.yaml9db3aeed30b6359289528ef564a4909f78faeac9Apache-2.0
bzip2.yaml8867ad015582e91734eb840c4363388869f71fc5Apache-2.0
ca-certificates-bundle20260909-r1MPL-2.0 AND MIT
ca-certificates-bundle20260909-r1(MPL-2.0 AND MIT)
ca-certificates-bundle20260909-r1—
ca-certificates.yamlee3eac73dda22e8dd32fa5fb3e3a1712a6e812d7Apache-2.0
cpython820753949bb54f147864b844eae603deb5cadd08PSF-2.0
expat.yamldab6a75a661461bd0df375aac57d6c62655d076fApache-2.0
gcc.yaml794cf72f88e1b408eca5da0dbf5c5ed25543606dApache-2.0
gdbm1.26-r6GPL-3.0-or-later
gdbm1.26-r6GPL-3.0-or-later
gdbm1.26-r6—
gdbm.yamlf003022285365e5de3bee7aa44caafa602eca04bApache-2.0
git/bzip2bzip2-1.0.8MPL-2.0 AND MIT
git/gdbmv1.26GPL-3.0-or-later
git/glibcb4f51887c48ac82acfdb13f96d9eab5d120cb2b7LGPL-2.1-or-later
git/readlinereadline-8.3GPL-3.0-or-later
glibc-2.442.44-r7LGPL-2.1-or-later
glibc-2.442.44-r7LGPL-2.1-or-later
glibc-2.442.44-r7—
glibc-2.44-locale-posix2.44-r7LGPL-2.1-or-later
glibc-2.44-locale-posix2.44-r7LGPL-2.1-or-later
glibc-2.44-locale-posix2.44-r7—
glibc-2.44.yaml2f4fbb70b55156f2d4cabff471b50dab0e75aa89Apache-2.0
gnutools/gccreleases/gcc-16.2.0GPL-3.0-or-later WITH GCC-exception-3.1
idnav3.15MIT
ld-linux-2.442.44-r7LGPL-2.1-or-later
ld-linux-2.442.44-r7LGPL-2.1-or-later
ld-linux-2.442.44-r7—
libbrotlicommon11.2.0-r5MIT
libbrotlicommon11.2.0-r5MIT
libbrotlicommon11.2.0-r5—
libbrotlidec11.2.0-r5MIT
libbrotlidec11.2.0-r5MIT
libbrotlidec11.2.0-r5—
libbrotlienc11.2.0-r5MIT
libbrotlienc11.2.0-r5MIT
libbrotlienc11.2.0-r5—
libbz2-11.0.8-r24MPL-2.0 AND MIT
libbz2-11.0.8-r24(MPL-2.0 AND MIT)
libbz2-11.0.8-r24—
libcrypto33.6.4-r8Apache-2.0
libcrypto33.6.4-r8Apache-2.0
libcrypto33.6.4-r8—
libexpatR_2_8_5MIT
libexpat12.8.5-r0MIT
libexpat12.8.5-r0MIT
libexpat12.8.5-r0—
libffi3.8.0-r1MIT
libffiv3.8.0MIT
libffi3.8.0-r1MIT
libffi3.8.0-r1—
libffi.yaml719d64d3fcaaae77a969bee96bbd6c1bbba9d9ddApache-2.0
libgcc16.2.0-r1GPL-3.0-or-later WITH GCC-exception-3.1
libgcc16.2.0-r1(GPL-3.0-or-later WITH GCC-exception-3.1)
libgcc16.2.0-r1—
libssl33.6.4-r8Apache-2.0
libssl33.6.4-r8Apache-2.0
libssl33.6.4-r8—
libstdc++16.2.0-r1GPL-3.0-or-later WITH GCC-exception-3.1
libstdc++16.2.0-r1(GPL-3.0-or-later WITH GCC-exception-3.1)
libstdc++16.2.0-r1—
libuuid2.42.4-r0GPL-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
libuuid2.42.4-r0(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)
libuuid2.42.4-r0—
libzstd11.5.7-r10BSD-2-Clause AND GPL-2.0-only
libzstd11.5.7-r10(BSD-2-Clause AND GPL-2.0-only)
libzstd11.5.7-r10—
mpdecimal4.0.1-r4BSD-2-Clause
mpdecimal4.0.1—
mpdecimal4.0.1-r4BSD-2-Clause
mpdecimal4.0.1-r4—
mpdecimal.yamlca139f6b8e2cd5077f2565e94731bbe8ccfe9ba0Apache-2.0
msgpack-pythonv1.2.1MIT
ncurses6.6.20260926-r0MIT
ncurses6.6.20260926-r0MIT
ncurses6.6.20260926-r0—
ncurses-snapshotsv6_6_20260926MIT
ncurses-terminfo-base6.6.20260926-r0MIT
ncurses-terminfo-base6.6.20260926-r0MIT
ncurses-terminfo-base6.6.20260926-r0—
ncurses.yaml49af4fd909fca8f288f9ca88f700cbb6bd987f33Apache-2.0
opensslopenssl-4.0.2Apache-2.0
opensslopenssl-3.6.4Apache-2.0
openssl-4.0-libcrypto4.0.2-r2Apache-2.0
openssl-4.0-libcrypto4.0.2-r2Apache-2.0
openssl-4.0-libcrypto4.0.2-r2—
openssl-4.0-libssl4.0.2-r2Apache-2.0
openssl-4.0-libssl4.0.2-r2Apache-2.0
openssl-4.0-libssl4.0.2-r2—
openssl-4.0.yamlb8f04118437fbbf25bbaad575ccb9f2ed62b8503Apache-2.0
openssl-provider-legacy-allowed4.0.2-r3Apache-2.0
openssl-provider-legacy-allowed4.0.2-r3Apache-2.0
openssl-provider-legacy-allowed4.0.2-r3—
openssl-provider-legacy-allowed.yamlb8f04118437fbbf25bbaad575ccb9f2ed62b8503Apache-2.0
openssl.yamlbe56cfaac075e77bffb92439e0438bb31a21a2c7Apache-2.0
pip26.2.1MIT
pip26.2.1—
py3-pip-wheel26.2.1-r1MIT
py3-pip-wheel26.2.1-r1MIT
py3-pip-wheel26.2.1-r1—
py3-pip.yamlbae801c8fe2d691ef6366301f33e76e049f4c736Apache-2.0
python-3.143.14.7_git20260925-r0PSF-2.0
python-3.143.14.7_git20260925-r0PSF-2.0
python-3.143.14.7_git20260925-r0—
python-3.14-base3.14.7_git20260925-r0PSF-2.0
python-3.14-base3.14.7_git20260925-r0PSF-2.0
python-3.14-base3.14.7_git20260925-r0—
python-3.14.yamleb8a88eab75c5df6d117d9b302c607fb82d80ee1Apache-2.0
readline8.3-r3GPL-3.0-or-later
readline8.3-r3GPL-3.0-or-later
readline8.3-r3—
readline.yaml20a5359ac0a7a6aca23efa343f0f29c8d3ea1453Apache-2.0
sha256:2dd32c3da589da1eb277abd7a917822a517e3972826ff403e055a0693c2c6882sha256:2dd32c3da589da1eb277abd7a917822a517e3972826ff403e055a0693c2c6882—
sha256:a01ce7b9df22623ac40ac5c3364ae429b999f56ad9f64abac9b2907b254e0c3020230201—
sqlite3.53.4—
sqlite-libs3.53.4-r2blessing
sqlite-libs3.53.4-r2blessing
sqlite-libs3.53.4-r2—
sqlite.yaml89df0d1a31c1a22d7d67ddf690145ffc5b9f759dApache-2.0
urllib32.7.0MIT
util-linuxv2.42.4GPL-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
util-linux.yamladae743872184acfea818f26f89967f7d8bd1d91Apache-2.0
wolfi20230201—
wolfi-baselayout20230201-r30MIT
wolfi-baselayout20230201-r30MIT
wolfi-baselayout20230201-r30—
wolfi-baselayout.yamla4472f6292a5e48d6d611bf24c6e119b1a483e66Apache-2.0
xz5.8.4-r0GPL-3.0-or-later
xzv5.8.4GPL-3.0-or-later
xz5.8.4-r0GPL-3.0-or-later
xz5.8.4-r0—
xz.yaml3976a1f9c66f7243a9af8522d471a9b10a99b75fApache-2.0
zlib1.3.2.1_rc20260601-r0MPL-2.0 AND MIT
zlibe3dc0a85b7032e98380dec011bc8f2c2ee0d8fcaMPL-2.0 AND MIT
zlib1.3.2.1_rc20260601-r0(MPL-2.0 AND MIT)
zlib1.3.2.1_rc20260601-r0—
zlib.yamlf2ad881d0053f3f3b6b639e041b171fc0e5b7244Apache-2.0
zstdv1.5.7BSD-2-Clause AND GPL-2.0-only
zstd.yamldf31c4c7ec10ae6f41a9433c0cb7ab03deabcf06Apache-2.0
6 medium 0 fixable
CVESeverityPackageInstalledFixed in
CVE-2025-15367 Medium python-3.14 3.14.7_git20260925-r0 —
CVE-2026-77117 Medium glibc-2.44 2.44-r7 —
CVE-2026-80489 Medium glibc-2.44 2.44-r7 —
CVE-2026-8674 Medium glibc-2.44 2.44-r7 —
CVE-2026-87910 Medium python-3.14 3.14.7_git20260925-r0 —
CVE-2026-89092 Medium glibc-2.44 2.44-r7 —

Everything is verifiable without an account. Copy and run:

Build provenance (SLSA v1.0, Build L2)

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.

More Languages & Runtimes images

Weighing this against another provider? The comparison pages publish head-to-head scan data with the raw dataset, including the images where Minimal comes off worse — or read the migration guide for what actually breaks when you switch.