In your __init__ file, you try to import all the modules linked to all the cloud services you handle.
This makes all deps mandatory, e.g. with pip install cloudpathlib[s3]:
>>> import cloudpathlib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\rbraun\AppData\Local\miniconda3\envs\test\Lib\site-packages\cloudpathlib\__init__.py", line 5, in <module>
from .azure.azblobclient import AzureBlobClient
File "C:\Users\rbraun\AppData\Local\miniconda3\envs\test\Lib\site-packages\cloudpathlib\azure\__init__.py", line 1, in <module>
from .azblobclient import AzureBlobClient
File "C:\Users\rbraun\AppData\Local\miniconda3\envs\test\Lib\site-packages\cloudpathlib\azure\azblobclient.py", line 22, in <module>
from azure.core.credentials import AzureNamedKeyCredential
ImportError: cannot import name 'AzureNamedKeyCredential' from 'azure.core.credentials' (C:\Users\rbraun\AppData\Local\miniconda3\envs\test\Lib\site-packages\azure\core\credentials.py)
In your
__init__file, you try to import all the modules linked to all the cloud services you handle.This makes all deps mandatory, e.g. with
pip install cloudpathlib[s3]: