-
-
Notifications
You must be signed in to change notification settings - Fork 365
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
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.85% 61.84% -0.01%
==========================================
Files 85 85
Lines 10150 10145 -5
==========================================
- Hits 6278 6274 -4
+ Misses 3872 3871 -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 |
|
@d-v-b Would it be an idea to merge the two commits needed for SWIFT access to work, before the larger path handling effort? My two commits only remove code, fixing the path handling seems a lot more complex. |
|
I'm inclined to merge this in order to unblock SWIFT access. |
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/*.rstchanges/