Permit composite URL protocol schemes in infer_storage_options - #2085
Conversation
eb8ca54 to
9e6585d
Compare
|
What is fsspec supposed to do with there composite protocols, though - do they map onto omniload only and exactly? Aside: omniload and intake should probably talk. Intake is caring less about writing yaml catalogues and pipelines, and (if anything) more about guessing file types and providing dataset summaries. Enumerating in detail all the things duckdb knows how to do, and providing a clear way to determine dataset invocation and summary all sound like good ideas. |
|
Hi Martin, thanks for your swift reply.
In our case, omniload is responsible for routing and dispatching of protocol schemes to dlt-based components that wrap the fsspec filesystem implementations. In this spirit, fsspec will probably not do anything specific to them today other than treating them opaquely, which seems to work well. We just recently discovered
Thank you for quickly demonstrating ingredients of Intake. Indeed, that sounds nice. I've started a discussion thread so the conversation can grow beyond this specific PR discussion. 🙇 With kind regards, |
9e6585d to
09691f2
Compare
09691f2 to
0feb3de
Compare
|
Please check the test failures: I think they are all cases where the protocol is omitted completely, which should result in the default "file", but the URL otherwise unchanged. These protocol-less URLs can contain some variants (not just "/...") due to windows. |
0feb3de to
5b5ede6
Compare
Examples: https+webdav://, mongodb+srv://, mysql+pymysql://
5b5ede6 to
39d94ba
Compare
|
Apologies. I made a mistake when refactoring the code block a bit to make it more readable. Should be fixed now. |
|
Thank you for merging! |
Hi there. In omniload, we are using composite URL protocol schemes like
https+webdav://,mongodb+srv://, ormysql+pymysql://. While the code used custom auxiliary/helper functions before, we are now aiming to modernize and refactor a bit, for example towards usingfsspec.utils.infer_storage_optionsacross the board. On this occasion, we found that a specific regex pattern needed a minor adjustment to permit such URL protocol schemes that include a+character.