{"_id":"@carbonplan/icechunk-js","_rev":"6-19161f0eff2c52f6e7bbf1fc495181ad","name":"@carbonplan/icechunk-js","dist-tags":{"latest":"0.2.3"},"versions":{"0.1.0":{"name":"@carbonplan/icechunk-js","version":"0.1.0","keywords":["icechunk","zarr","zarrita"],"license":"MIT","_id":"@carbonplan/icechunk-js@0.1.0","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/icechunk/tree/main/icechunk-js","bugs":{"url":"https://github.com/carbonplan/icechunk/issues"},"dist":{"shasum":"e8521eb91f13d48768719e4939838a563262b9ab","tarball":"https://registry.npmjs.org/@carbonplan/icechunk-js/-/icechunk-js-0.1.0.tgz","fileCount":8,"integrity":"sha512-mU6aHm572Y5wRtLWT7hw0gPU6hmhEzhc9PpZicKAfhr5tzaWFUPzs1dYaQRjQOlCBP1xkzXWDy1IOgqF6Vp4jw==","signatures":[{"sig":"MEUCIAaP0iHP9WMfDJaJ1azwYs03SRrrR4dwwrPRCEzY3i2zAiEAkv8Js5g3ptjzcJMLnwuTKbSAae9QX54dOTdYx3DhCBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":419981},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7ef94e83f61482da8245e6251801a670bdd0dfd2","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"repository":{"url":"git+https://github.com/carbonplan/icechunk.git","type":"git","directory":"icechunk-js"},"_npmVersion":"10.9.2","description":"Read-only JavaScript/TypeScript reader for Icechunk repositories","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"fzstd":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.0","vitest":"^1.4.0","zarrita":"^0.5.0","prettier":"^3.8.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"peerDependencies":{"zarrita":"^0.5.0"},"peerDependenciesMeta":{"zarrita":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/icechunk-js_0.1.0_1770329459711_0.02265081873585406","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has moved to icechunk-js."},"0.2.0":{"name":"@carbonplan/icechunk-js","version":"0.2.0","keywords":["icechunk","zarr","zarrita"],"license":"MIT","_id":"@carbonplan/icechunk-js@0.2.0","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/icechunk/tree/main/icechunk-js","bugs":{"url":"https://github.com/carbonplan/icechunk/issues"},"dist":{"shasum":"62b3bdfc32c981ca861304405cfc69a824b1db67","tarball":"https://registry.npmjs.org/@carbonplan/icechunk-js/-/icechunk-js-0.2.0.tgz","fileCount":8,"integrity":"sha512-/sTWrtnKqHDb/NBzTGOlhZf4Q086CmAfuKhAfHvH51XVcdYQWz1X6I+wEss9doAsKN8g1yyiYIrwTE+miwI7Dw==","signatures":[{"sig":"MEQCICd/TjOh0DTpZUW8DYOwFjhGwPhgVGQT38t5vNDORARRAiBGRK0m6Q5cjFCv3GjQYRMv6UZvmLhqbBg0jGk1Hw565A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":418508},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ec80e4987dbcb04721ab217cab63f37cc46cdafe","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"repository":{"url":"git+https://github.com/carbonplan/icechunk.git","type":"git","directory":"icechunk-js"},"_npmVersion":"10.9.2","description":"Read-only JavaScript/TypeScript reader for Icechunk repositories","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"fzstd":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.0","vitest":"^1.4.0","zarrita":"^0.5.0","prettier":"^3.8.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"peerDependencies":{"zarrita":"^0.5.0"},"peerDependenciesMeta":{"zarrita":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/icechunk-js_0.2.0_1771444316586_0.6844305501182204","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has moved to icechunk-js."},"0.2.1":{"name":"@carbonplan/icechunk-js","version":"0.2.1","keywords":["icechunk","zarr","zarrita"],"license":"MIT","_id":"@carbonplan/icechunk-js@0.2.1","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/icechunk/tree/main/icechunk-js","bugs":{"url":"https://github.com/carbonplan/icechunk/issues"},"dist":{"shasum":"f7ceb6477a5e33091f4a887d79695689594ec3c0","tarball":"https://registry.npmjs.org/@carbonplan/icechunk-js/-/icechunk-js-0.2.1.tgz","fileCount":8,"integrity":"sha512-/knoaUy99xpfc20VtCBJIbzHeDnMcGLS4cwHYnaY+EImT5dgtveBPWbp/kHjMw2VHh20Z3xQ6WygmW5ysIilVQ==","signatures":[{"sig":"MEQCIC7LYJQuXNAqP2fiKTypAhkADFzKS0jWxK3ZH9pHPUsRAiA12/e0rhHwftRTcJkU2/MVCpetcGQxEODx7l2KUTJ8Ag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":418690},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7b1ff2ed14270ed2276e022e1eb09ea22a46662d","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"repository":{"url":"git+https://github.com/carbonplan/icechunk.git","type":"git","directory":"icechunk-js"},"_npmVersion":"10.9.2","description":"Read-only JavaScript/TypeScript reader for Icechunk repositories","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"fzstd":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.0","vitest":"^1.4.0","zarrita":"^0.5.0","prettier":"^3.8.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"peerDependencies":{"zarrita":"^0.5.0"},"peerDependenciesMeta":{"zarrita":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/icechunk-js_0.2.1_1771459781620_0.28179349377259366","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has moved to icechunk-js."},"0.2.2":{"name":"@carbonplan/icechunk-js","version":"0.2.2","keywords":["icechunk","zarr","zarrita"],"license":"MIT","_id":"@carbonplan/icechunk-js@0.2.2","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/icechunk/tree/main/icechunk-js","bugs":{"url":"https://github.com/carbonplan/icechunk/issues"},"dist":{"shasum":"fd821f86edb3514927cc4778268138609e691f52","tarball":"https://registry.npmjs.org/@carbonplan/icechunk-js/-/icechunk-js-0.2.2.tgz","fileCount":8,"integrity":"sha512-ReRnXOPKU3s65oSrx2NfT4s57XSu+uVdkgrZjj1yUPhoRVnzUxLn1KKX05wTJzciaZ+jY0biMacPj8N4DJWoUA==","signatures":[{"sig":"MEUCIQDI7OqqM2wIA28gldLywDOV6xp/XZDnsqhMPEjHKNKaSwIgL3738D5IYFra+K9w6YkGI0a3krqpDW9sbWk0m2VSkg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":518559},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b569b1e9aa87e9f65680c01786cba77a3e0e06cc","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","check:fbs":"flatc -T -o /tmp/fbs-check --gen-all ../icechunk/flatbuffers/all.fbs && node scripts/postgen-fbs.cjs /tmp/fbs-check && prettier --write /tmp/fbs-check/generated && diff -r /tmp/fbs-check/generated src/format/flatbuffers/generated","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","generate:fbs":"flatc -T -o ./src/format/flatbuffers --gen-all ../icechunk/flatbuffers/all.fbs && node scripts/postgen-fbs.cjs ./src/format/flatbuffers && prettier --write src/format/flatbuffers/generated","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"repository":{"url":"git+https://github.com/carbonplan/icechunk.git","type":"git","directory":"icechunk-js"},"_npmVersion":"10.9.2","description":"Read-only JavaScript/TypeScript reader for Icechunk repositories","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"fzstd":"^0.1.1","flatbuffers":"^25.9.23","@msgpack/msgpack":"^3.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.0","vitest":"^1.4.0","zarrita":"^0.5.0","prettier":"^3.8.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"peerDependencies":{"zarrita":"^0.5.0"},"peerDependenciesMeta":{"zarrita":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/icechunk-js_0.2.2_1771534232367_0.25632447665644165","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has moved to icechunk-js."},"0.2.3":{"name":"@carbonplan/icechunk-js","version":"0.2.3","keywords":["icechunk","zarr","zarrita"],"license":"MIT","_id":"@carbonplan/icechunk-js@0.2.3","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/icechunk/tree/main/icechunk-js","bugs":{"url":"https://github.com/carbonplan/icechunk/issues"},"dist":{"shasum":"49ea5f328b582e03ad846c3bdd24f92d818bd2c2","tarball":"https://registry.npmjs.org/@carbonplan/icechunk-js/-/icechunk-js-0.2.3.tgz","fileCount":8,"integrity":"sha512-raSdtu4ce1P0Ytaa9Dc5ekBrRx/8efCeuWJoQiCWuRJjQn2DF0fjQ9mOkDh08G8iR1YUDD0IX//QAx/n4M9GVw==","signatures":[{"sig":"MEYCIQD4xa5DVxvZ1OSmgvjsuqlUyk0obDwF5qmcCktlDNtvDAIhALLdDe+9M14oeQRwEPL4ptSAV1yji4wvCJwR0dULZjQB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":561094},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8672937cb4c5acfab7779b7e7f53ba59cdfe7f34","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","check:fbs":"flatc -T -o /tmp/fbs-check --gen-all ../icechunk/flatbuffers/all.fbs && node scripts/postgen-fbs.cjs /tmp/fbs-check && prettier --write /tmp/fbs-check/generated && diff -r /tmp/fbs-check/generated src/format/flatbuffers/generated","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","generate:fbs":"flatc -T -o ./src/format/flatbuffers --gen-all ../icechunk/flatbuffers/all.fbs && node scripts/postgen-fbs.cjs ./src/format/flatbuffers && prettier --write src/format/flatbuffers/generated","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"repository":{"url":"git+https://github.com/carbonplan/icechunk.git","type":"git","directory":"icechunk-js"},"_npmVersion":"10.9.2","description":"Read-only JavaScript/TypeScript reader for Icechunk repositories","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"fzstd":"^0.1.1","flatbuffers":"^25.9.23","@msgpack/msgpack":"^3.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.0","vitest":"^1.4.0","zarrita":"^0.5.0","prettier":"^3.8.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"peerDependencies":{"zarrita":"^0.5.0"},"peerDependenciesMeta":{"zarrita":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/icechunk-js_0.2.3_1771890237712_0.11236793002413958","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has moved to icechunk-js."}},"time":{"created":"2026-02-05T22:10:59.602Z","modified":"2026-03-31T14:12:12.755Z","0.1.0":"2026-02-05T22:10:59.860Z","0.2.0":"2026-02-18T19:51:56.759Z","0.2.1":"2026-02-19T00:09:41.782Z","0.2.2":"2026-02-19T20:50:32.498Z","0.2.3":"2026-02-23T23:43:57.904Z"},"bugs":{"url":"https://github.com/carbonplan/icechunk/issues"},"license":"MIT","homepage":"https://github.com/carbonplan/icechunk/tree/main/icechunk-js","keywords":["icechunk","zarr","zarrita"],"repository":{"url":"git+https://github.com/carbonplan/icechunk.git","type":"git","directory":"icechunk-js"},"description":"Read-only JavaScript/TypeScript reader for Icechunk repositories","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"readme":"# Icechunk JavaScript\n\nRead-only JavaScript/TypeScript reader for Icechunk repositories, designed for\nuse with [zarrita](https://github.com/manzt/zarrita.js).\n\n## Getting Started\n\n```bash\nnpm install @carbonplan/icechunk-js\n```\n\n### Basic Usage with zarrita\n\n```typescript\nimport { IcechunkStore } from \"@carbonplan/icechunk-js\";\nimport { open, get } from \"zarrita\";\n\n// Open a store from a URL\nconst store = await IcechunkStore.open(\"https://bucket.s3.amazonaws.com/repo\");\n\n// Open an array and read data\nconst array = await open(store, { kind: \"array\", path: \"/temperature\" });\nconst data = await get(array, [0, 0, null]);\n```\n\n### For Development\n\n```bash\nnpm install\n\nnpm run dev\n\nnpm run test\n\nnpm run typecheck\n```\n\n## API\n\n### IcechunkStore\n\nThe main class for zarrita integration. Implements zarrita's `AsyncReadable`\ninterface.\n\n```typescript\nimport { IcechunkStore } from \"@carbonplan/icechunk-js\";\n\nconst store = await IcechunkStore.open(\"https://example.com/repo\", {\n  branch: \"main\", // default; or use tag/snapshot\n  // tag: 'v1.0',\n  // snapshot: 'ABC123...',\n  // formatVersion: 'v1',  // skip format auto-detection for v1 repos\n});\n```\n\n### Repository\n\nFor direct access to branches, tags, and checkouts.\n\n```typescript\nimport { Repository, HttpStorage } from \"@carbonplan/icechunk-js\";\n\nconst storage = new HttpStorage(\"https://example.com/repo\");\n\n// Auto-detect format (default)\nconst repo = await Repository.open({ storage });\n\n// Or with format version hint (skips /repo request for v1 stores)\n// const repo = await Repository.open({ storage, formatVersion: 'v1' });\n\n// List branches and tags\nconst branches = await repo.listBranches();\nconst tags = await repo.listTags();\n\n// Checkout to get a ReadSession\nconst session = await repo.checkoutBranch(\"main\");\n// or: repo.checkoutTag('v1.0')\n// or: repo.checkoutSnapshot('ABCDEFGHIJKLMNOP')\n```\n\n### ReadSession\n\nLow-level access to nodes and chunks.\n\n```typescript\n// Get snapshot info\nconst snapshotId = session.getSnapshotId();\nconst message = session.getMessage();\nconst timestamp = session.getFlushedAt();\n\n// Navigate the hierarchy\nconst nodes = session.listNodes();\nconst children = session.listChildren(\"/group\");\n\n// Get metadata and chunks\nconst metadata = session.getMetadata(\"/array\");\nconst chunk = await session.getChunk(\"/array\", [0, 0, 0]);\n```\n\n### HttpStorage\n\nHTTP/HTTPS storage backend using the Fetch API. Works in Node.js 18+ and\nbrowsers.\n\n```typescript\nimport { HttpStorage } from \"@carbonplan/icechunk-js\";\n\nconst storage = new HttpStorage(\"https://bucket.s3.amazonaws.com/repo\", {\n  headers: { Authorization: \"Bearer token\" },\n  credentials: \"include\",\n  cache: \"no-store\",\n});\n```\n\n### Custom Storage\n\nImplement the `Storage` interface for other backends:\n\n```typescript\nimport type { Storage, ByteRange, RequestOptions } from '@carbonplan/icechunk-js';\n\nclass MyStorage implements Storage {\n  async getObject(path: string, range?: ByteRange, options?: RequestOptions): Promise<Uint8Array> { ... }\n  async exists(path: string, options?: RequestOptions): Promise<boolean> { ... }\n  async *listPrefix(prefix: string): AsyncIterable<string> { ... }\n}\n```\n\nThe `RequestOptions` type contains an optional `signal: AbortSignal` for\ncancellation support.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}