{"id":13581514,"url":"https://github.com/ipld/go-car","last_synced_at":"2025-05-14T15:07:43.529Z","repository":{"id":37430174,"uuid":"143773660","full_name":"ipld/go-car","owner":"ipld","description":"A content addressible archive utility","archived":false,"fork":false,"pushed_at":"2025-03-28T18:05:59.000Z","size":2072,"stargazers_count":164,"open_issues_count":43,"forks_count":48,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-04-06T16:02:42.418Z","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":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ipld.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-06T19:30:05.000Z","updated_at":"2025-04-06T11:10:45.000Z","dependencies_parsed_at":"2023-12-13T05:24:36.729Z","dependency_job_id":"79262f9b-d47c-4e40-8a1d-eacca6a76230","html_url":"https://github.com/ipld/go-car","commit_stats":{"total_commits":559,"total_committers":33,"mean_commits":"16.939393939393938","dds":0.7853309481216458,"last_synced_commit":"1c4b5195acd64ac62a7083e710002d59f5b1e8b8"},"previous_names":[],"tags_count":58,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipld%2Fgo-car","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipld%2Fgo-car/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipld%2Fgo-car/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipld%2Fgo-car/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ipld","download_url":"https://codeload.github.com/ipld/go-car/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248759403,"owners_count":21157150,"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-08-01T15:02:04.094Z","updated_at":"2025-04-13T18:25:26.399Z","avatar_url":"https://github.com/ipld.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"go-car (go!)\n==================\n\n[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](https://protocol.ai)\n[![](https://img.shields.io/badge/project-ipld-orange.svg?style=flat-square)](https://github.com/ipld/ipld)\n[![](https://img.shields.io/badge/matrix-%23ipld-blue.svg?style=flat-square)](https://matrix.to/#/#ipld:ipfs.io)\n[![Go Reference](https://pkg.go.dev/badge/github.com/ipld/go-car.svg)](https://pkg.go.dev/github.com/ipld/go-car)\n[![Coverage Status](https://codecov.io/gh/ipld/go-car/branch/master/graph/badge.svg)](https://codecov.io/gh/ipld/go-car/branch/master)\n\n\u003e Work with car (Content addressed ARchive) files!\n\nThis is a Golang implementation of the [CAR specifications](https://ipld.io/specs/transport/car/), both [CARv1](https://ipld.io/specs/transport/car/carv1/) and [CARv2](https://ipld.io/specs/transport/car/carv2/).\n\nAs a format, there are two major module versions:\n\n* [`go-car/v2`](v2/) is geared towards reading and writing CARv2 files, and also\n  supports consuming CARv1 files and using CAR files as an IPFS blockstore.\n* `go-car`, in the root directory, only supports reading and writing CARv1 files.\n\nMost users should use v2, especially for new software, since the v2 API transparently supports both CAR formats.\n\n## Usage / Installation\n\nThis repository provides a `car` binary that can be used for creating, extracting, and working with car files.\n\nTo install the latest version of `car`, run:\n```shell script\ngo install github.com/ipld/go-car/cmd/car@latest\n```\n\nMore information about this binary is available in [`cmd/car`](cmd/car/)\n\n\n## Features\n\n[CARv2](v2) features:\n* [Generate index](https://pkg.go.dev/github.com/ipld/go-car/v2#GenerateIndex) from an existing CARv1 file\n* [Wrap](https://pkg.go.dev/github.com/ipld/go-car/v2#WrapV1) CARv1 files into a CARv2 with automatic index generation.\n* Random-access to blocks in a CAR file given their CID via [Read-Only blockstore](https://pkg.go.dev/github.com/ipld/go-car/v2/blockstore#NewReadOnly) API, with transparent support for both CARv1 and CARv2\n* Write CARv2 files via [Read-Write blockstore](https://pkg.go.dev/github.com/ipld/go-car/v2/blockstore#OpenReadWrite) API, with support for appending blocks to an existing CARv2 file, and resumption from a partially written CARv2 files.\n* Individual access to [inner CARv1 data payload]((https://pkg.go.dev/github.com/ipld/go-car/v2#Reader.DataReader)) and [index]((https://pkg.go.dev/github.com/ipld/go-car/v2#Reader.IndexReader)) of a CARv2 file via the `Reader` API.\n\n\n## API Documentation\n\nSee docs on [pkg.go.dev](https://pkg.go.dev/github.com/ipld/go-car).\n\n## Examples\n\nHere is a shortlist of other examples from the documentation\n\n* [Wrap an existing CARv1 file into an indexed CARv2 file](https://pkg.go.dev/github.com/ipld/go-car/v2#example-WrapV1File)\n* [Open read-only blockstore from a CAR file](https://pkg.go.dev/github.com/ipld/go-car/v2/blockstore#example-OpenReadOnly)\n* [Open read-write blockstore from a CAR file](https://pkg.go.dev/github.com/ipld/go-car/v2/blockstore#example-OpenReadWrite)\n* [Read the index from an existing CARv2 file](https://pkg.go.dev/github.com/ipld/go-car/v2/index#example-ReadFrom)\n* [Extract the index from a CARv2 file and store it as a separate file](https://pkg.go.dev/github.com/ipld/go-car/v2/index#example-WriteTo)\n\n## Maintainers\n\n* [Masih Derkani](https://github.com/masih)\n* [Will Scott](https://github.com/willscott)\n\n## Contribute\n\nPRs are welcome!\n\nWhen editing the Readme, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification.\n\n## License\n\nApache-2.0/MIT © Protocol Labs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipld%2Fgo-car","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fipld%2Fgo-car","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipld%2Fgo-car/lists"}