Skip to main content

Interactive CLI to pick and digest-pin official container base images (Python, .NET, Java, Go, Node, Rust, C/C++, Ubuntu, Debian, Alpine).

Project description

🐳 image-inspector - select • inspect • pin

image-inspector

Find an official container base image and lock it to an exact, reproducible version in seconds.

CI status Latest release PyPI version MIT License


What is this?

When you write a Dockerfile, you start from a base image like python:3.13 or node:22. The problem: tags like python:3.13 are moving targets — the image behind that tag changes over time. So a build that works today might pull a different image tomorrow, and "it works on my machine" quietly breaks.

image-inspector fixes that. You pick a language or OS, a version, and a variant — all with the arrow keys — and it gives you a base image pinned to an exact, unchangeable version plus a ready-to-paste FROM line:

FROM python:3.13.14-slim@sha256:205e60d0b78f024817...

It also shows you, up front, how many known security vulnerabilities that image has, its size, and when it was built — so you can choose a good base image with confidence.

What's that @sha256:... part? It's the image's digest — a unique fingerprint of the exact image contents. Pinning to a digest means everyone who builds your Dockerfile gets the identical base image, every time. That's what makes a build reproducible.

You don't need Docker or any scanner installed to use it.

image-inspector demo

Quick start

1. Install it (pick whichever you have):

uv tool install base-image-inspector     # recommended
# or
pipx install base-image-inspector
# or
pip install base-image-inspector

2. Run it:

image-inspector

3. Pick with the arrow keys — language/OS → version → variant — and copy the FROM line it prints. That's it. 🎉

New here and want the full walkthrough? See the Getting started guide.

Features

  • 📌 Digest pinning — outputs a name:tag@sha256:… reference for reproducible builds.
  • 🛡️ Security at a glance — critical / high / total vulnerability counts for the chosen image, from a nightly Trivy scan that ships with the tool.
  • 🧱 Many ecosystems, one interface — Python, .NET, Java, Go, Node, Rust, C/C++, plus Ubuntu, Debian and Alpine base images.
  • 🤖 Automation-friendly--json for non-interactive use and --plain / NO_COLOR support.
  • 🎨 Modern UI — branded banner, themed menus, spinners, and a syntax-highlighted result panel.
  • ⌨️ Arrow-key everything — language, version, and variant are all pick-from-list menus. No typing.
  • 📋 Quick actions — after a result, copy the FROM line or digest to your clipboard.

Supported images

Languages & runtimes

Language Registry Repository Versioning
Python Docker Hub library/python semver (latest 5 minors)
.NET MCR mcr.microsoft.com/dotnet/sdk semver (latest 5 minors)
Java Docker Hub library/eclipse-temurin feature release (8 / 11 / 17 / 21 / 25 / 26)
Go Docker Hub library/golang semver (latest minors)
Node.js Docker Hub library/node semver (latest 5 minors)
Rust Docker Hub library/rust semver (latest 5 minors)
C / C++ Docker Hub library/gcc semver (latest 5 minors)

OS base images

Image Registry Repository Versioning
Ubuntu Docker Hub library/ubuntu calver YY.MM (latest 5 releases, LTS marked)
Debian Docker Hub library/debian major (11 / 12 / 13) + -slim variant
Alpine Docker Hub library/alpine semver (latest 5 minors)

Per-image details (Java feature releases, the gcc compiler image, Ubuntu LTS, Debian variants) are covered in the Getting started guide.

Examples

# Interactive — pick everything with the arrow keys:
image-inspector

# Non-interactive, machine-readable output for scripts/CI:
image-inspector --json -l ubuntu --version 24.04'

The full list of flags lives in the Getting started guide.

Documentation

🤝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md for the branch/PR flow, local checks, and where to ask questions.

License

Released under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

base_image_inspector-0.1.0.tar.gz (44.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

base_image_inspector-0.1.0-py3-none-any.whl (47.3 kB view details)

Uploaded Python 3

File details

Details for the file base_image_inspector-0.1.0.tar.gz.

File metadata

  • Download URL: base_image_inspector-0.1.0.tar.gz
  • Upload date:
  • Size: 44.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.22 {"installer":{"name":"uv","version":"0.11.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for base_image_inspector-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4cf22d6ba4abd7d77619929c4e2cbf9644b3fcd27329f586f720a93530fc23ac
MD5 d705799fe8aabafd53853e88f0eb8de9
BLAKE2b-256 39385c0bd7c6d519d7bb5e6c79d975033bca98c7a9306fd92315c5ec406616e3

See more details on using hashes here.

File details

Details for the file base_image_inspector-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: base_image_inspector-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 47.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.22 {"installer":{"name":"uv","version":"0.11.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for base_image_inspector-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 81ebd02662319fbbabee0f5f888f60e7b5e1a63730d1a0d63ed3f9cac1c62d7f
MD5 1d95172ec275e397d3b547c31855365c
BLAKE2b-256 a6832f8492549d83fb1c7b7608b836f45d4d142586f92c8030200f12c73ca068

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page