Fsspec: Filesystem Interfaces for Python
filesystem-spec.readthedocs.io
filesystem-spec.readthedocs.io
Personally I wasn't too impressed with fsspec, though I am using it. I had to wrap files with Python's io wrappers to get acceptable performance, and found that different fsspec implementations still have significant differences that you can't ignore. They don't seem interested in supporting or documenting use cases outside of Pandas and Dask.
I can't speak to fsspec, but their filesystem functionality (eg. `ls`, `cp`) isn't something that smart_open has and it does look cool.
Also, I'm no 10x developer, but I found smart_open's source code a pleasure to read through and grok -- it's nicely organised and very easy to reason about!
The author of fsspec also created fastparquet (https://github.com/dask/fastparquet), a native Python implementation of the Parquet file format.
I'm really appreciative for Martin's extensive contributions to the PyData ecosystem.
I came here because of the naming :-)
PyFilesystem is a Python module that provides a common interface to any filesystem. It supports many filesystems [2].
There were challenges indeed, and some storages will require more work (e.g. things like GDrive) but I would say maintainers are responsive and helpful.
Conda - yes, because it has less strict versioning for setuptools based packages. pin-ing versions, no - because you end up with fsspec[s3fs] requiring a version incompatible with any other recent package requiring boto3.