python

CPython 3 runtime for running Python services in production. No shell and no package manager in the image, signed and SBOM-attested, rebuilt daily.

Vulnerabilities
Compressed size
30 MB
Architectures
amd64, arm64
Default user
nonroot (65532)
Last built
today

Pull this image

docker pull ghcr.io/rtvkiz/minimal-python:latest
Repository
ghcr.io/rtvkiz/minimal-python
Digest
sha256:56e9cddd161c0ad3ec17d182a268bfe30acad9c1b7551f9bba381a051181078e
Built at
2026-11-12T07:07:27Z
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.licensesPSF-2.0
TagPullPublished
3 ghcr.io/rtvkiz/minimal-python:3 2026-11-12
3.15 ghcr.io/rtvkiz/minimal-python:3.15 2026-11-12
3.15.2_git20261106-r0 ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0 2026-11-12
3.15.2_git20261106-r0-20261112 ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0-20261112 2026-11-12
latest ghcr.io/rtvkiz/minimal-python:latest 2026-11-12
3-dev ghcr.io/rtvkiz/minimal-python:3-dev 2026-11-12
3.15-dev ghcr.io/rtvkiz/minimal-python:3.15-dev 2026-11-12
3.15.2_git20261106-r0-20261112-dev ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0-20261112-dev 2026-11-12
3.15.2_git20261106-r0-dev ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0-dev 2026-11-12
latest-dev ghcr.io/rtvkiz/minimal-python:latest-dev 2026-11-12
3.15.2_git20261106-r0-20261111-dev ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0-20261111-dev 2026-11-11
3.15.2_git20261106-r0-20261111 ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0-20261111 2026-11-11
3.15.2_git20261106-r0-20261110 ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0-20261110 2026-11-10
3.15.2_git20261106-r0-20261110-dev ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0-20261110-dev 2026-11-10
3.15.2_git20261106-r0-20261109 ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0-20261109 2026-11-09
3.15.2_git20261106-r0-20261109-dev ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0-20261109-dev 2026-11-09
3.15.2_git20261106-r0-20261108 ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0-20261108 2026-11-08
3.15.2_git20261106-r0-20261108-dev ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0-20261108-dev 2026-11-08
3.15.2_git20261106-r0-20261107 ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0-20261107 2026-11-07
3.15.2_git20261106-r0-20261107-dev ghcr.io/rtvkiz/minimal-python:3.15.2_git20261106-r0-20261107-dev 2026-11-07
3.15.2_git20261030-r0 ghcr.io/rtvkiz/minimal-python:3.15.2_git20261030-r0 2026-11-06
3.15.2_git20261030-r0-20261106 ghcr.io/rtvkiz/minimal-python:3.15.2_git20261030-r0-20261106 2026-11-06
3.15.2_git20261030-r0-20261106-dev ghcr.io/rtvkiz/minimal-python:3.15.2_git20261030-r0-20261106-dev 2026-11-06
3.15.2_git20261030-r0-dev ghcr.io/rtvkiz/minimal-python:3.15.2_git20261030-r0-dev 2026-11-06
3.15.2_git20261030-r0-20261105-dev ghcr.io/rtvkiz/minimal-python:3.15.2_git20261030-r0-20261105-dev 2026-11-05
3.15.2_git20261030-r0-20261105 ghcr.io/rtvkiz/minimal-python:3.15.2_git20261030-r0-20261105 2026-11-05
3.15.2_git20261030-r0-20261104-dev ghcr.io/rtvkiz/minimal-python:3.15.2_git20261030-r0-20261104-dev 2026-11-04
3.15.2_git20261030-r0-20261104 ghcr.io/rtvkiz/minimal-python:3.15.2_git20261030-r0-20261104 2026-11-04
3.15.2_git20261030-r0-20261103 ghcr.io/rtvkiz/minimal-python:3.15.2_git20261030-r0-20261103 2026-11-03
3.15.2_git20261030-r0-20261103-dev ghcr.io/rtvkiz/minimal-python:3.15.2_git20261030-r0-20261103-dev 2026-11-03
3.15.1_git20261024-r1 ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1 2026-11-02
3.15.1_git20261024-r1-20261102 ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1-20261102 2026-11-02
3.15.1_git20261024-r1-20261102-dev ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1-20261102-dev 2026-11-02
3.15.1_git20261024-r1-dev ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1-dev 2026-11-02
3.15.1_git20261024-r1-20261101 ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1-20261101 2026-11-01
3.15.1_git20261024-r1-20261101-dev ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1-20261101-dev 2026-11-01
3.15.1_git20261024-r1-20261031 ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1-20261031 2026-10-31
3.15.1_git20261024-r1-20261031-dev ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1-20261031-dev 2026-10-31
3.15.1_git20261024-r1-20261030-dev ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1-20261030-dev 2026-10-30
3.15.1_git20261024-r1-20261030 ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1-20261030 2026-10-30
3.15.1_git20261024-r1-20261029 ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1-20261029 2026-10-29
3.15.1_git20261024-r1-20261029-dev ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1-20261029-dev 2026-10-29
3.15.1_git20261024-r1-20261028-dev ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1-20261028-dev 2026-10-28
3.15.1_git20261024-r1-20261028 ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r1-20261028 2026-10-28
3.15.1_git20261024-r0 ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r0 2026-10-27
3.15.1_git20261024-r0-20261027 ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r0-20261027 2026-10-27
3.15.1_git20261024-r0-20261027-dev ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r0-20261027-dev 2026-10-27
3.15.1_git20261024-r0-dev ghcr.io/rtvkiz/minimal-python:3.15.1_git20261024-r0-dev 2026-10-27
3.15.0_git20261017-r4 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r4 2026-10-26
3.15.0_git20261017-r4-20261026 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r4-20261026 2026-10-26
3.15.0_git20261017-r4-20261026-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r4-20261026-dev 2026-10-26
3.15.0_git20261017-r4-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r4-dev 2026-10-26
3.15.0_git20261017-r4-20261025-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r4-20261025-dev 2026-10-25
3.15.0_git20261017-r4-20261025 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r4-20261025 2026-10-25
3.15.0_git20261017-r4-20261024-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r4-20261024-dev 2026-10-24
3.15.0_git20261017-r4-20261024 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r4-20261024 2026-10-24
3.15.0_git20261017-r4-20261023-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r4-20261023-dev 2026-10-23
3.15.0_git20261017-r4-20261023 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r4-20261023 2026-10-23
3.15.0_git20261017-r3-20261023-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r3-20261023-dev 2026-10-23
3.15.0_git20261017-r3-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r3-dev 2026-10-23
3.15.0_git20261017-r3 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r3 2026-10-23
3.15.0_git20261017-r3-20261023 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r3-20261023 2026-10-23
3.15.0_git20261017-r3-20261022-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r3-20261022-dev 2026-10-22
3.15.0_git20261017-r3-20261022 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r3-20261022 2026-10-22
3.15.0_git20261017-r2-20261021-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r2-20261021-dev 2026-10-21
3.15.0_git20261017-r2-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r2-dev 2026-10-21
3.15.0_git20261017-r2 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r2 2026-10-21
3.15.0_git20261017-r2-20261021 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r2-20261021 2026-10-21
3.15.0_git20261017-r1-20261020-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r1-20261020-dev 2026-10-20
3.15.0_git20261017-r1-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r1-dev 2026-10-20
3.15.0_git20261017-r1 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r1 2026-10-20
3.15.0_git20261017-r1-20261020 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r1-20261020 2026-10-20
3.15.0_git20261017-r0 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r0 2026-10-19
3.15.0_git20261017-r0-20261019 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r0-20261019 2026-10-19
3.15.0_git20261017-r0-20261019-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r0-20261019-dev 2026-10-19
3.15.0_git20261017-r0-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r0-dev 2026-10-19
3.15.0_git20261017-r0-20261018 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r0-20261018 2026-10-18
3.15.0_git20261017-r0-20261018-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261017-r0-20261018-dev 2026-10-18
3.15.0_git20261010-r0 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261010-r0 2026-10-16
3.15.0_git20261010-r0-20261016 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261010-r0-20261016 2026-10-16
3.15.0_git20261010-r0-20261017 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261010-r0-20261017 2026-10-16
3.15.0_git20261010-r0-20261016-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261010-r0-20261016-dev 2026-10-16
3.15.0_git20261010-r0-20261017-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261010-r0-20261017-dev 2026-10-16
3.15.0_git20261010-r0-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261010-r0-dev 2026-10-16
3.15.0_git20261010-r0-20261015 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261010-r0-20261015 2026-10-15
3.15.0_git20261010-r0-20261015-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261010-r0-20261015-dev 2026-10-15
3.15.0_git20261010-r0-20261014 ghcr.io/rtvkiz/minimal-python:3.15.0_git20261010-r0-20261014 2026-10-14
3.15.0_git20261010-r0-20261014-dev ghcr.io/rtvkiz/minimal-python:3.15.0_git20261010-r0-20261014-dev 2026-10-14

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

PackageVersionLicense
alpine/ca-certificates20261020MPL-2.0 AND MIT
brotliv1.2.1MIT
brotli.yamlf5ef816d1cb2bd0e165a402c4e8a4c4622464bf3Apache-2.0
bzip2.yaml6ea997c2746016cbc0225ce27cb992c09feefd2aApache-2.0
ca-certificates-bundle20261020-r0MPL-2.0 AND MIT
ca-certificates-bundle20261020-r0(MPL-2.0 AND MIT)
ca-certificates-bundle20261020-r0—
ca-certificates.yaml8061afafa65af5a9026707a8880e14120dd6f4a0Apache-2.0
cpython4af98bdb94beb37453a33b989f8ef466f8ef0e21PSF-2.0
expat.yaml5aeb575ed7ca64fb21dfda042e170d08f1654bbcApache-2.0
gcc.yaml4d188060cbd00821a95f1ef60605da4817e781bbApache-2.0
gdbm1.26-r9GPL-3.0-or-later
gdbm1.26-r9GPL-3.0-or-later
gdbm1.26-r9—
gdbm.yamlbdc197227f39597f43727c03854efbb4e834c5efApache-2.0
git/bzip2bzip2-1.0.8bzip2-1.0.6
git/gdbmv1.26GPL-3.0-or-later
git/readlinereadline-8.3GPL-3.0-or-later
glibc-2.442.44-r16LGPL-2.1-or-later
glibc-2.442.44-r16LGPL-2.1-or-later
glibc-2.442.44-r16—
glibc-2.44-locale-posix2.44-r16LGPL-2.1-or-later
glibc-2.44-locale-posix2.44-r16LGPL-2.1-or-later
glibc-2.44-locale-posix2.44-r16—
glibc-2.44.yaml69c2b75e0711c38be3c5881e3a141667ccf54341Apache-2.0
gnutools/gccreleases/gcc-16.2.0GPL-3.0-or-later WITH GCC-exception-3.1
gnutools/glibc47e2b570410fab606de29f550534a721184852c3LGPL-2.1-or-later
ld-linux-2.442.44-r16LGPL-2.1-or-later
ld-linux-2.442.44-r16LGPL-2.1-or-later
ld-linux-2.442.44-r16—
libbrotlicommon11.2.1-r3MIT
libbrotlicommon11.2.1-r3MIT
libbrotlicommon11.2.1-r3—
libbrotlidec11.2.1-r3MIT
libbrotlidec11.2.1-r3MIT
libbrotlidec11.2.1-r3—
libbrotlienc11.2.1-r3MIT
libbrotlienc11.2.1-r3MIT
libbrotlienc11.2.1-r3—
libbz2-11.0.8-r31bzip2-1.0.6
libbz2-11.0.8-r31bzip2-1.0.6
libbz2-11.0.8-r31—
libexpatR_2_10_0MIT
libexpat12.10.0-r1MIT
libexpat12.10.0-r1MIT
libexpat12.10.0-r1—
libffi3.8.0-r2MIT
libffiv3.8.0MIT
libffi3.8.0-r2MIT
libffi3.8.0-r2—
libffi.yamlaaa2344b75ef8b19889f087c91e10b11f191e15cApache-2.0
libgcc16.2.0-r3GPL-3.0-or-later WITH GCC-exception-3.1
libgcc16.2.0-r3(GPL-3.0-or-later WITH GCC-exception-3.1)
libgcc16.2.0-r3—
libstdc++16.2.0-r3GPL-3.0-or-later WITH GCC-exception-3.1
libstdc++16.2.0-r3(GPL-3.0-or-later WITH GCC-exception-3.1)
libstdc++16.2.0-r3—
libuuid2.42.4-r2GPL-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-r2(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-r2—
libzstd11.5.7-r13BSD-2-Clause AND GPL-2.0-only
libzstd11.5.7-r13(BSD-2-Clause AND GPL-2.0-only)
libzstd11.5.7-r13—
mpdecimal4.0.1-r6BSD-2-Clause
mpdecimal4.0.1—
mpdecimal4.0.1-r6BSD-2-Clause
mpdecimal4.0.1-r6—
mpdecimal.yaml491b184c82ef2868d73a46a98997db789342ff15Apache-2.0
msgpack-pythonv1.2.3MIT
ncurses6.6.20261107-r0MIT
ncurses6.6.20261107-r0MIT
ncurses6.6.20261107-r0—
ncurses-snapshotsv6_6_20261107MIT
ncurses-terminfo-base6.6.20261107-r0MIT
ncurses-terminfo-base6.6.20261107-r0MIT
ncurses-terminfo-base6.6.20261107-r0—
ncurses.yaml57b90c0084b0bc101663cdfcaa44f4ce83312443Apache-2.0
opensslopenssl-4.1.0Apache-2.0
opensslopenssl-4.0.3Apache-2.0
opensslopenssl-3.6.5Apache-2.0
openssl-3.6-libcrypto3.6.5-r6Apache-2.0
openssl-3.6-libcrypto3.6.5-r6Apache-2.0
openssl-3.6-libcrypto3.6.5-r6—
openssl-3.6-libssl3.6.5-r6Apache-2.0
openssl-3.6-libssl3.6.5-r6Apache-2.0
openssl-3.6-libssl3.6.5-r6—
openssl-4.0-libcrypto4.0.3-r8Apache-2.0
openssl-4.0-libcrypto4.0.3-r8Apache-2.0
openssl-4.0-libcrypto4.0.3-r8—
openssl-4.0-libssl4.0.3-r8Apache-2.0
openssl-4.0-libssl4.0.3-r8Apache-2.0
openssl-4.0-libssl4.0.3-r8—
openssl-4.0.yaml53fb2f6751f832fa61ddba06cb8a40dbba5f409fApache-2.0
openssl-provider-legacy-allowed4.1.0-r0Apache-2.0
openssl-provider-legacy-allowed4.1.0-r0Apache-2.0
openssl-provider-legacy-allowed4.1.0-r0—
openssl-provider-legacy-allowed.yamlaeae4801330be6fd269d5ed5640dc37b58ccab09Apache-2.0
openssl.yaml106006908276f73e5d13ceca9bc7038ea2d46446Apache-2.0
pip26.2.2MIT
pip26.2.2—
py3-pip-wheel26.2.2-r2MIT
py3-pip-wheel26.2.2-r2MIT
py3-pip-wheel26.2.2-r2—
py3-pip.yaml58b78718f8e8947523a1ad3eb0deb82aee6911d7Apache-2.0
python-3.153.15.2_git20261106-r0PSF-2.0
python-3.153.15.2_git20261106-r0PSF-2.0
python-3.153.15.2_git20261106-r0—
python-3.15-base3.15.2_git20261106-r0PSF-2.0
python-3.15-base3.15.2_git20261106-r0PSF-2.0
python-3.15-base3.15.2_git20261106-r0—
python-3.15-runtime3.15.2_git20261106-r0PSF-2.0
python-3.15-runtime3.15.2_git20261106-r0PSF-2.0
python-3.15-runtime3.15.2_git20261106-r0—
python-3.15.yaml63e77f02b4f646b06f5a5688d4432724be817ca5Apache-2.0
python-certifi2026.10.23MIT
readline8.3-r3GPL-3.0-or-later
readline8.3-r3GPL-3.0-or-later
readline8.3-r3—
readline.yaml20a5359ac0a7a6aca23efa343f0f29c8d3ea1453Apache-2.0
sha256:15d5fe510e8d9f876f9fc93e8db9a00826751ad5bd7a8f68217af341d6c7828esha256:15d5fe510e8d9f876f9fc93e8db9a00826751ad5bd7a8f68217af341d6c7828e—
sha256:33938acdb56802540a749ccfccf4cad93926a562763c3a41b68bd638ce18a02f20230201—
sqlite3.54.1—
sqlite-libs3.54.1-r0blessing
sqlite-libs3.54.1-r0blessing
sqlite-libs3.54.1-r0—
sqlite.yamlb0ca8c95606371be2557980059c10b34df30fa9fApache-2.0
urllib32.8.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.yaml8298ba7be686605b03c1943f22ccf5a0640e0042Apache-2.0
wolfi20230201—
wolfi-baselayout20230201-r31MIT
wolfi-baselayout20230201-r31MIT
wolfi-baselayout20230201-r31—
wolfi-baselayout.yamled415005c84750f03c4a9252137813734a224ae7Apache-2.0
xz5.8.4-r1GPL-3.0-or-later
xzv5.8.4GPL-3.0-or-later
xz5.8.4-r1GPL-3.0-or-later
xz5.8.4-r1—
xz.yaml5aeb575ed7ca64fb21dfda042e170d08f1654bbcApache-2.0
zlib1.3.2.1_rc20260921-r2MPL-2.0 AND MIT
zlib767c4c947852e143f582c85f14cf573411df1b35MPL-2.0 AND MIT
zlib1.3.2.1_rc20260921-r2(MPL-2.0 AND MIT)
zlib1.3.2.1_rc20260921-r2—
zlib.yaml5aeb575ed7ca64fb21dfda042e170d08f1654bbcApache-2.0
zstdv1.5.7BSD-2-Clause AND GPL-2.0-only
zstd.yaml0d1cb8462683e2c06d7591b8b4ad4d1f2797a0f7Apache-2.0
1 high1 medium1 low 0 fixable
CVESeverityPackageInstalledFixed in
CVE-2026-84243 High glibc-2.44 2.44-r16 —
CVE-2026-116566 Medium python-3.15 3.15.2_git20261106-r0 —
CVE-2026-103995 Low python-3.15 3.15.2_git20261106-r0 —

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.