google/go-containerregistry

Go library and CLIs for working with container registries

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 5 minutes ago
Added to GitGenius on September 17th, 2026
Created on March 14th, 2018
Open Issues & Pull Requests: 155 (+0)
GitHub issues: Enabled
Number of forks: 691
Total Stargazers: 4,054 (+0)
Total Subscribers: 35 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.4 days
Mean response time: 53.1 days
90th percentile: 122.0 days
Tracked items: 113

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 17% of issues opened in the past year have never received a reply. 93% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 83% of issues opened in the past year have been closed, leaving a working backlog. Three people close 87% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 43
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 637 days
Stale 30+ days: 31
Stale 90+ days: 25

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (83)
  • lifecycle/stale (54)
  • question (22)
  • lifecycle/frozen (8)
  • github_actions (3)
  • good first issue (2)
  • abstraction (1)

Most active issues this week

Detailed Description

go-containerregistry is a Go library and set of command-line tools for reading, writing, and manipulating container images and registries.

The library solves the problem of programmatically working with container images across different storage backends by defining immutable interface types that abstract away the underlying medium. An image can be loaded from a remote registry, a tarball, a Docker daemon, an OCI layout on disk, or generated randomly, and written back to any of these destinations. The design centers on composable functional mutations that transform images into new immutable views, allowing complex operations to be built from simple primitives without materializing intermediate results to disk.

Developers should adopt this tool if they are building Go applications that need to inspect, modify, or transfer container images programmatically. It suits projects ranging from container build tools to registry clients to image analysis utilities. The library's strength lies in its abstraction of storage backends through a common interface, making it straightforward to read from one source and write to another without backend-specific code. The mutation API enables operations like modifying image configuration, adding or removing layers, and creating multi-architecture image indexes without requiring external tools or temporary files.

The project maintains a steady stream of commits addressing bug fixes and incremental improvements. Pull requests receive timely review and feedback from maintainers. Issues are regularly triaged and responded to, with maintainers providing guidance on usage questions and design decisions. The codebase shows active maintenance focused on stability and compatibility with evolving container standards.