diff --git a/kbcstorage/client.py b/kbcstorage/client.py index 0e848e8..0b0a7a3 100644 --- a/kbcstorage/client.py +++ b/kbcstorage/client.py @@ -5,7 +5,6 @@ from kbcstorage.buckets import Buckets from kbcstorage.components import Components from kbcstorage.configurations import Configurations -from kbcstorage.files import Files from kbcstorage.jobs import Jobs from kbcstorage.tables import Tables from kbcstorage.tokens import Tokens @@ -18,7 +17,7 @@ class Client: Storage API Client. """ - def __init__(self, api_domain, token, branch_id='default'): + def __init__(self, api_domain, token, branch_id='default', file_storage_support=True): """ Initialise a client. @@ -27,13 +26,18 @@ def __init__(self, api_domain, token, branch_id='default'): "https://connection.keboola.com". token (str): A storage API key. branch_id (str): The ID of branch to use, use 'default' to work without branch (in main). + file_storage_support (bool): If False, it saves memory by not importing libraries for all storage backends. """ self.root_url = api_domain.rstrip("/") self._token = token self._branch_id = branch_id self.buckets = Buckets(self.root_url, self.token) - self.files = Files(self.root_url, self.token) + + if file_storage_support: + from kbcstorage.files import Files + self.files = Files(self.root_url, self.token) + self.jobs = Jobs(self.root_url, self.token) self.tables = Tables(self.root_url, self.token) self.workspaces = Workspaces(self.root_url, self.token)