55from kbcstorage .buckets import Buckets
66from kbcstorage .components import Components
77from kbcstorage .configurations import Configurations
8- from kbcstorage .files import Files
98from kbcstorage .jobs import Jobs
109from kbcstorage .tables import Tables
1110from 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