Skip to content

Commit c717a7a

Browse files
authored
Merge pull request #88 from keboola/feature/optional-files-class
Feature/optional files class
2 parents 69e74b7 + 702f523 commit c717a7a

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

kbcstorage/client.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from kbcstorage.buckets import Buckets
66
from kbcstorage.components import Components
77
from kbcstorage.configurations import Configurations
8-
from kbcstorage.files import Files
98
from kbcstorage.jobs import Jobs
109
from kbcstorage.tables import Tables
1110
from kbcstorage.tokens import Tokens
@@ -18,7 +17,7 @@ class Client:
1817
Storage API Client.
1918
"""
2019

21-
def __init__(self, api_domain, token, branch_id='default'):
20+
def __init__(self, api_domain, token, branch_id='default', file_storage_support=True):
2221
"""
2322
Initialise a client.
2423
@@ -27,13 +26,18 @@ def __init__(self, api_domain, token, branch_id='default'):
2726
"https://connection.keboola.com".
2827
token (str): A storage API key.
2928
branch_id (str): The ID of branch to use, use 'default' to work without branch (in main).
29+
file_storage_support (bool): If False, it saves memory by not importing libraries for all storage backends.
3030
"""
3131
self.root_url = api_domain.rstrip("/")
3232
self._token = token
3333
self._branch_id = branch_id
3434

3535
self.buckets = Buckets(self.root_url, self.token)
36-
self.files = Files(self.root_url, self.token)
36+
37+
if file_storage_support:
38+
from kbcstorage.files import Files
39+
self.files = Files(self.root_url, self.token)
40+
3741
self.jobs = Jobs(self.root_url, self.token)
3842
self.tables = Tables(self.root_url, self.token)
3943
self.workspaces = Workspaces(self.root_url, self.token)

0 commit comments

Comments
 (0)