-
-
Notifications
You must be signed in to change notification settings - Fork 358
fsspec path handling #3343
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
base: main
Are you sure you want to change the base?
fsspec path handling #3343
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3343 +/- ##
==========================================
- Coverage 61.24% 61.24% -0.01%
==========================================
Files 83 83
Lines 9907 9902 -5
==========================================
- Hits 6068 6064 -4
+ Misses 3839 3838 -1
🚀 New features to boost your workflow:
|
Proposed as fix for zarr-developers#3201. Some filesystems need the scheme as part of the path, while others don't. FsspecStore.from_url() throws an exception if the scheme is left in the path, for any filesystem except http and https. However, the swift fs also needs the scheme in the path. This commit removes the exception, rather than adding more special cases.
94183fc
to
e3273e8
Compare
@jhamman could you have a look |
I would really like the I understand that fsspec has some design choices that make this tricky, but we should see what we can do to hide that stuff instead of propagating forward |
@fjansson take a look at https://github.com/d-v-b/zarr-python/tree/remove-fsspec-path-check, would that work for you? Basically I ensure that the |
I like the idea: zarr internally has a path without scheme, and passes to fsspec what it wants to see. I already made a comment on Then I'm confused: we now pass a full url where it previously was a path. But some of the fsspec file systems cannot handle a scheme in their paths, others demand it. This has previously been handled by calling |
Proposed as fix for #3201, as an alternative to the one in #3302.
Some filesystems need the scheme as part of the path, while others don't. FsspecStore.from_url() throws an exception if the scheme is left in the path, for any filesystem except http and https. However, the swift fs also needs the scheme in the path. This commit removes the path check, rather than adding more special cases which are difficult to unit test (discussed in #3302).
TODO:
docs/user-guide/*.rst
changes/