seung-lab / cloud-files

Threaded Python and CLI client library for AWS S3, Google Cloud Storage (GCS), in-memory, and the local filesystem.
BSD 3-Clause "New" or "Revised" License
36 stars 8 forks source link

optional dependency of GCS and AWS S3? #78

Closed jingpengw closed 4 months ago

jingpengw commented 1 year ago

I encountered some google cloud storage installation issues several times while I was not really using google cloud storage. How about making these dependency optional. Here is an example of how to make it work in python.

BTW, there is a new way to handle optional dependency in pypi now.

william-silversmith commented 1 year ago

Hi Jingpeng! This isn't an unreasonable idea. However, is it possible to do this without breaking existing installations that rely on the default behavior of having everything installed?

Ideally, you would be able to do pip install cloud-files and get the standard installation or do pip install cloud-files[s3] and only get boto.

william-silversmith commented 4 months ago

One possibility is to update CloudVolume with a limitation on the major version of CloudFiles, then later on release a breaking change to CloudFiles, and then update CloudVolume again over the period of a few months.

jingpengw commented 4 months ago

Recently, I have installed it several times, and it works smoothly for me.