{"id":13481379,"url":"https://github.com/containers/image","last_synced_at":"2025-05-08T23:35:17.688Z","repository":{"id":37286305,"uuid":"61739430","full_name":"containers/image","owner":"containers","description":"Work with containers' images","archived":false,"fork":false,"pushed_at":"2025-05-07T21:59:53.000Z","size":12020,"stargazers_count":913,"open_issues_count":136,"forks_count":394,"subscribers_count":33,"default_branch":"main","last_synced_at":"2025-05-08T20:53:44.906Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/containers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-06-22T17:46:41.000Z","updated_at":"2025-05-06T13:51:54.000Z","dependencies_parsed_at":"2023-12-10T14:28:53.274Z","dependency_job_id":"2c54857d-ac1a-4e20-94ea-22d1ee72bd85","html_url":"https://github.com/containers/image","commit_stats":{"total_commits":3645,"total_committers":143,"mean_commits":25.48951048951049,"dds":0.493278463648834,"last_synced_commit":"717b49b0ac3dd684a66bb9cd81fea68c26a8a5d2"},"previous_names":[],"tags_count":101,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containers%2Fimage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containers%2Fimage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containers%2Fimage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containers%2Fimage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/containers","download_url":"https://codeload.github.com/containers/image/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253155347,"owners_count":21862682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T17:00:51.348Z","updated_at":"2025-05-08T23:35:17.651Z","avatar_url":"https://github.com/containers.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"[![Go Reference](https://pkg.go.dev/badge/github.com/containers/image/v5.svg)](https://pkg.go.dev/github.com/containers/image/v5) [![Build Status](https://api.cirrus-ci.com/github/containers/image.svg)](https://cirrus-ci.com/github/containers/image)\n=\n\n`image` is a set of Go libraries aimed at working in various way with\ncontainers' images and container image registries.\n\nThe containers/image library allows application to pull and push images from\ncontainer image registries, like the docker.io and quay.io registries. It also\nimplements \"simple image signing\".\n\nThe containers/image library also allows you to inspect a repository on a\ncontainer registry without pulling down the image. This means it fetches the\nrepository's manifest and it is able to show you a `docker inspect`-like json\noutput about a whole repository or a tag. This library, in contrast to `docker\ninspect`, helps you gather useful information about a repository or a tag\nwithout requiring you to run `docker pull`.\n\nThe containers/image library also allows you to translate from one image format\nto another, for example docker container images to OCI images. It also allows\nyou to copy container images between various registries, possibly converting\nthem as necessary, and to sign and verify images.\n\n## Command-line usage\n\nThe containers/image project is only a library with no user interface;\nyou can either incorporate it into your Go programs, or use the `skopeo` tool:\n\nThe [skopeo](https://github.com/containers/skopeo) tool uses the\ncontainers/image library and takes advantage of many of its features,\ne.g. `skopeo copy` exposes the `containers/image/copy.Image` functionality.\n\n## Dependencies\n\nThis library ships as a [Go module].\n\n## Building\n\nIf you want to see what the library can do, or an example of how it is called,\nconsider starting with the [skopeo](https://github.com/containers/skopeo) tool\ninstead.\n\nTo integrate this library into your project, include it as a [Go module],\nput it into `$GOPATH` or use your preferred vendoring tool to include a copy\nin your project. Ensure that the dependencies documented [in go.mod][go.mod]\nare also available (using those exact versions or different versions of\nyour choosing).\n\nThis library also depends on some C libraries. Either install them:\n```sh\nFedora$ dnf install gpgme-devel libassuan-devel # potentially also ostree-devel\nmacOS$ brew install gpgme\n```\nor use the build tags described below to avoid the dependencies (e.g. using `go build -tags …`)\n\n[Go module]: https://github.com/golang/go/wiki/Modules\n[go.mod]: https://github.com/containers/image/blob/master/go.mod\n\n### Supported build tags\n\n- `containers_image_docker_daemon_stub`: Don’t import the `docker-daemon:` transport in `github.com/containers/image/transports/alltransports`, to decrease the amount of required dependencies.  Use a stub which reports that the transport is not supported instead.\n- `containers_image_openpgp`: Use a Golang-only OpenPGP implementation for signature verification instead of the default cgo/gpgme-based implementation;\nthe primary downside is that creating new signatures with the Golang-only implementation is not supported.\n- `containers_image_ostree`: Import `ostree:` transport in `github.com/containers/image/transports/alltransports`. This builds the library requiring the `libostree` development libraries. Otherwise a stub which reports that the transport is not supported gets used. The `github.com/containers/image/ostree` package is completely disabled\nand impossible to import when this build tag is not in use.\n- `containers_image_storage_stub`: Don’t import the `containers-storage:` transport in `github.com/containers/image/transports/alltransports`, to decrease the amount of required dependencies.  Use a stub which reports that the transport is not supported instead.\n- `containers_image_fulcio_stub`: Don't import sigstore/fulcio code, all fulcio operations will return an error code\n- `containers_image_rekor_stub`: Don't import sigstore/reckor code, all rekor operations will return an error code\n\n## [Contributing](CONTRIBUTING.md)\n\nInformation about contributing to this project.\n\nWhen developing this library, please use `make` (or `make … BUILDTAGS=…`) to take advantage of the tests and validation.\n\n## License\n\nApache License 2.0\n\nSPDX-License-Identifier: Apache-2.0\n\n## Contact\n\n- Mailing list: [containers-dev](https://groups.google.com/forum/?hl=en#!forum/containers-dev)\n- IRC: #[container-projects](irc://irc.freenode.net:6667/#container-projects) on freenode.net\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontainers%2Fimage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcontainers%2Fimage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontainers%2Fimage/lists"}