datajoint-python
datajoint-python copied to clipboard
File access via fsspec
Feature Request
Problem
Accessing various filesystems (s3, gcsfs, azure, gdrive, dropbox) with the current implementation requires new modules for each system, providing the file-like methods/attributes.
Requirements
Switch file-storage backend to use fsspec.
Justification
This change would allow users to automatically use any fsspec-supported backend by loading the corresponding module, i.e. GCS vs gcsfs. Of course, the backend must support the operations needed by datajoint.
Alternative Considerations
As stated in the problem, a custom module is currently necessary for a new file system.
Related Errors
N/A
Screenshots
N/A
Additional Research and Context
The fsspec project is providing a common, pythonic interface across many kinds of local and remote filesystems. Several project have announced recently starting to use it -- for a major example, see the pandas 1.1 release.
Excellent idea.