oras-go is a Go library for managing OCI artifacts, compliant with the OCI Image Format Specification and the OCI Distribution Specification. It provides unified APIs for pushing, pulling, and managing artifacts across OCI-compliant registries, local file systems, and in-memory stores.
Note
The main and v2 branches follow Go's Security Policy and support the two latest versions of Go (currently 1.24 and 1.25).
Gain insights into the fundamental concepts:
Follow the step-by-step tutorial to use oras-go v2:
Check out sample code for common use cases:
Find more API examples at pkg.go.dev.
This project follows Semantic Versioning (MAJOR.MINOR.PATCH), with MAJOR for breaking changes, MINOR for backward-compatible features, and PATCH for backward-compatible fixes.
The main branch is under active development for v3 and may contain breaking changes. Not recommended for production use.
The v2 branch contains the latest stable release and is recommended for production use.
New features and bug fixes from main will be backported to v2 if applicable.
The v1 branch is in maintenance mode and receives only dependency updates and security fixes. No new features are planned.
To migrate from v1 to v2, see MIGRATION_GUIDE.md.
- Code of Conduct: CODE_OF_CONDUCT.md
- Security Policy: SECURITY.md
- Reviewing Guide: Reviewing Guide
- Slack:
#oraschannel on CNCF Slack