feat: ZipStore accepts open binary file-like objects#4187
Open
jhamman wants to merge 1 commit into
zarr-developers:mainzarr-developers/zarr-python:mainfrom
jhamman:feature/zipstore-file-likejhamman/zarr-python:feature/zipstore-file-likeCopy head branch name to clipboard
Open
feat: ZipStore accepts open binary file-like objects#4187jhamman wants to merge 1 commit intozarr-developers:mainzarr-developers/zarr-python:mainfrom jhamman:feature/zipstore-file-likejhamman/zarr-python:feature/zipstore-file-likeCopy head branch name to clipboard
jhamman wants to merge 1 commit into
zarr-developers:mainzarr-developers/zarr-python:mainfrom
jhamman:feature/zipstore-file-likejhamman/zarr-python:feature/zipstore-file-likeCopy head branch name to clipboard
Conversation
jhamman
force-pushed
the
feature/zipstore-file-like
branch
from
July 26, 2026 04:22
e980c52 to
ebc18e5
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4187 +/- ##
==========================================
+ Coverage 93.84% 93.86% +0.01%
==========================================
Files 91 91
Lines 12549 12588 +39
==========================================
+ Hits 11777 11816 +39
Misses 772 772
🚀 New features to boost your workflow:
|
jhamman
force-pushed
the
feature/zipstore-file-like
branch
from
July 26, 2026 04:59
ebc18e5 to
dc84c55
Compare
d-v-b
reviewed
Jul 26, 2026
jhamman
force-pushed
the
feature/zipstore-file-like
branch
from
July 26, 2026 13:25
dc84c55 to
896d25b
Compare
Allows constructing a ZipStore from any seekable binary reader, enabling zip archives on remote storage: - io objects (BytesIO, fsspec file objects) are used directly - minimal readers that are not io.IOBase instances and whose read() may return buffer-protocol objects rather than bytes (e.g. obstore.ReadableFile) are adapted via a small io.RawIOBase wrapper when opened for reading clear()/move() raise NotImplementedError for file-object-backed stores. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
jhamman
force-pushed
the
feature/zipstore-file-like
branch
from
July 26, 2026 13:36
896d25b to
7d33da8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Allows constructing a
ZipStorefrom any seekable binary reader, enabling zip archives on remote storage:io.IOBaseinstances and whoseread()may return buffer-protocol objects rather than bytes (e.g.obstore.ReadableFile) are adapted via a smallio.RawIOBasewrapper when opened for readingclear()/move()raiseNotImplementedErrorfor file-object-backed stores.For reviewers
This is the first of a series of Pull Requests toward #2943.
Author attestation
TODO
docs/user-guide/*.mdchanges/