universal_pathlib
universal_pathlib copied to clipboard
Introduce a custom `StorageOptions` Mapping
Currently we rely on types.MappingProxyType to return storage_options as a read-only mapping under the .storage_options property. It would be a nice addition if we'd introduce a StorageOptions mapping class that would provide convenience methods for specific conversions:
-
.to_unchained()This style is supported byfsspec.open()where for a chained urlpath, every filesystem's options are provided under the corresponding protocol key. I.e."zip::file://tmp/archive.zip", {"zip": {'some': 'option'}, "file": {'another': 'option'}} -
.to_object_store()This could be used to translate toobject_storestorage_options froms3fs,az, andgcsfsstorage options, and would be interesting for use with polars, and all the other rust tools.
We could also add a nicer __repr__ with a pretty formatted dict.