Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Supporting BrowserFS-based store #78

Open
oeway opened this issue Feb 27, 2021 · 1 comment
Open

Supporting BrowserFS-based store #78

oeway opened this issue Feb 27, 2021 · 1 comment

Comments

@oeway
Copy link
Contributor

oeway commented Feb 27, 2021

Hi, the Zarr-Python librarry can use fsspec for supporting different backend, I am wondering what you think about supporting BrowserFS based file system, so we can also easily swap between different storage backend.

@manzt
Copy link
Collaborator

manzt commented Feb 28, 2021

I'm not very familiar with the library, but generally I'm hesitant to add this package as a dependency to Zarr.js for a couple reasons:

1.) The project appears to be mostly unmaintained and is only distributed as a UMD bundle. (Last commit was Jan 2020, and there were only three commits in 2019). Zarr.js is intentionally minimal and adds the "core" features of Zarr.

2.) Due to the various runtimes for JavaScript (web browsers, Node, Deno, etc), adding storage implementations that are platform-specific complicate bundling and the compatibility of Zarr.js in these different environments. BrowserFS relies on WebAPIs that would break in Node for example. It is for this reason that we don't implement a DirectoryStore, which would rely on Node builtins like fs zarr-developers/zarr_implementations#21.

With that said, it should be straight forward to implement a valid Store interface around BrowserFS in an independent library that is browser specific. I'd be very excited to see npm libraries like zarr-storage-browser, zarr-storage-node, etc that can be composed with Zarr.js and reused by others in the community.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants