digitalhub 0.14.0b2__py3-none-any.whl → 0.14.0b4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of digitalhub might be problematic. Click here for more details.

Files changed (75) hide show
  1. digitalhub/context/builder.py +0 -4
  2. digitalhub/context/context.py +12 -8
  3. digitalhub/entities/_base/_base/entity.py +0 -4
  4. digitalhub/entities/_base/context/entity.py +1 -1
  5. digitalhub/entities/_base/entity/entity.py +0 -8
  6. digitalhub/entities/_base/executable/entity.py +161 -79
  7. digitalhub/entities/_base/material/entity.py +7 -23
  8. digitalhub/entities/_base/material/utils.py +28 -0
  9. digitalhub/entities/_base/unversioned/entity.py +1 -1
  10. digitalhub/entities/_base/versioned/entity.py +1 -1
  11. digitalhub/entities/_commons/enums.py +0 -31
  12. digitalhub/entities/_constructors/_resources.py +151 -0
  13. digitalhub/entities/_constructors/name.py +18 -0
  14. digitalhub/entities/_processors/base/__init__.py +3 -0
  15. digitalhub/entities/_processors/{base.py → base/crud.py} +7 -227
  16. digitalhub/entities/_processors/base/import_export.py +122 -0
  17. digitalhub/entities/_processors/base/processor.py +302 -0
  18. digitalhub/entities/_processors/base/special_ops.py +108 -0
  19. digitalhub/entities/_processors/context/__init__.py +3 -0
  20. digitalhub/entities/_processors/context/crud.py +654 -0
  21. digitalhub/entities/_processors/context/import_export.py +242 -0
  22. digitalhub/entities/_processors/context/material.py +123 -0
  23. digitalhub/entities/_processors/context/processor.py +400 -0
  24. digitalhub/entities/_processors/context/special_ops.py +476 -0
  25. digitalhub/entities/_processors/processors.py +12 -0
  26. digitalhub/entities/_processors/utils.py +2 -1
  27. digitalhub/entities/artifact/crud.py +45 -41
  28. digitalhub/entities/dataitem/crud.py +45 -37
  29. digitalhub/entities/dataitem/table/entity.py +5 -6
  30. digitalhub/entities/function/crud.py +47 -43
  31. digitalhub/entities/model/_base/entity.py +3 -23
  32. digitalhub/entities/model/crud.py +45 -39
  33. digitalhub/entities/project/_base/entity.py +45 -134
  34. digitalhub/entities/project/crud.py +13 -42
  35. digitalhub/entities/run/_base/builder.py +0 -4
  36. digitalhub/entities/run/_base/entity.py +4 -60
  37. digitalhub/entities/run/crud.py +61 -40
  38. digitalhub/entities/secret/_base/entity.py +1 -5
  39. digitalhub/entities/secret/crud.py +14 -42
  40. digitalhub/entities/task/_base/builder.py +0 -4
  41. digitalhub/entities/task/_base/entity.py +1 -1
  42. digitalhub/entities/task/crud.py +47 -44
  43. digitalhub/entities/trigger/_base/entity.py +1 -5
  44. digitalhub/entities/trigger/crud.py +51 -43
  45. digitalhub/entities/workflow/crud.py +47 -40
  46. digitalhub/factory/registry.py +0 -24
  47. digitalhub/stores/client/_base/enums.py +39 -0
  48. digitalhub/stores/client/_base/key_builder.py +1 -1
  49. digitalhub/stores/client/_base/params_builder.py +48 -0
  50. digitalhub/stores/client/dhcore/api_builder.py +2 -1
  51. digitalhub/stores/client/dhcore/client.py +67 -73
  52. digitalhub/stores/client/dhcore/configurator.py +5 -28
  53. digitalhub/stores/client/dhcore/error_parser.py +0 -4
  54. digitalhub/stores/client/dhcore/params_builder.py +130 -75
  55. digitalhub/stores/client/local/api_builder.py +1 -1
  56. digitalhub/stores/client/local/params_builder.py +18 -41
  57. digitalhub/stores/credentials/configurator.py +0 -24
  58. digitalhub/stores/credentials/handler.py +0 -12
  59. digitalhub/stores/credentials/store.py +0 -4
  60. digitalhub/stores/data/_base/store.py +0 -16
  61. digitalhub/stores/data/builder.py +0 -4
  62. digitalhub/stores/data/remote/store.py +0 -4
  63. digitalhub/stores/data/s3/configurator.py +0 -8
  64. digitalhub/stores/data/s3/store.py +8 -17
  65. digitalhub/stores/data/sql/configurator.py +0 -8
  66. digitalhub/stores/data/sql/store.py +0 -4
  67. digitalhub/stores/readers/data/factory.py +0 -8
  68. digitalhub/stores/readers/data/pandas/reader.py +0 -16
  69. digitalhub/utils/io_utils.py +0 -4
  70. {digitalhub-0.14.0b2.dist-info → digitalhub-0.14.0b4.dist-info}/METADATA +1 -1
  71. {digitalhub-0.14.0b2.dist-info → digitalhub-0.14.0b4.dist-info}/RECORD +74 -62
  72. digitalhub/entities/_processors/context.py +0 -1499
  73. {digitalhub-0.14.0b2.dist-info → digitalhub-0.14.0b4.dist-info}/WHEEL +0 -0
  74. {digitalhub-0.14.0b2.dist-info → digitalhub-0.14.0b4.dist-info}/licenses/AUTHORS +0 -0
  75. {digitalhub-0.14.0b2.dist-info → digitalhub-0.14.0b4.dist-info}/licenses/LICENSE +0 -0
@@ -47,10 +47,6 @@ class ClientDHCoreConfigurator(Configurator):
47
47
  def __init__(self) -> None:
48
48
  """
49
49
  Initialize DHCore configurator and evaluate authentication type.
50
-
51
- Returns
52
- -------
53
- None
54
50
  """
55
51
  super().__init__()
56
52
  self._auth_type: str | None = None
@@ -66,10 +62,6 @@ class ClientDHCoreConfigurator(Configurator):
66
62
 
67
63
  Sanitizes endpoint and issuer URLs to ensure proper HTTP/HTTPS schemes
68
64
  and removes trailing slashes.
69
-
70
- Returns
71
- -------
72
- None
73
65
  """
74
66
  env_creds = self._creds_handler.load_from_env(self.keys)
75
67
  env_creds = self._sanitize_env_vars(env_creds)
@@ -107,10 +99,6 @@ class ClientDHCoreConfigurator(Configurator):
107
99
 
108
100
  Handles keys without "DHCORE_" prefix for CLI compatibility. Falls back
109
101
  to environment variables for missing endpoint and personal access token values.
110
-
111
- Returns
112
- -------
113
- None
114
102
  """
115
103
  file_creds = self._creds_handler.load_from_file(self.keys)
116
104
 
@@ -119,6 +107,11 @@ class ClientDHCoreConfigurator(Configurator):
119
107
  if file_creds[pat] is None:
120
108
  file_creds[pat] = self._creds_handler.load_from_env([pat]).get(pat)
121
109
 
110
+ # Because in the response there is no endpoint
111
+ endpoint = CredsEnvVar.DHCORE_ENDPOINT.value
112
+ if file_creds[endpoint] is None:
113
+ file_creds[endpoint] = self._creds_handler.load_from_env([endpoint]).get(endpoint)
114
+
122
115
  file_creds = self._sanitize_file_vars(file_creds)
123
116
  self._creds_handler.set_credentials(self._file, file_creds)
124
117
 
@@ -208,10 +201,6 @@ class ClientDHCoreConfigurator(Configurator):
208
201
 
209
202
  Changes between environment and file credential sources, then re-evaluates
210
203
  authentication type based on the new credentials.
211
-
212
- Returns
213
- -------
214
- None
215
204
  """
216
205
  super().change_origin()
217
206
 
@@ -230,10 +219,6 @@ class ClientDHCoreConfigurator(Configurator):
230
219
  OAUTH2 (access + refresh tokens), ACCESS_TOKEN (access only), BASIC
231
220
  (username + password). For EXCHANGE type, automatically exchanges the
232
221
  personal access token and switches to file-based credentials storage.
233
-
234
- Returns
235
- -------
236
- None
237
222
  """
238
223
  creds = creds_handler.get_credentials(self._origin)
239
224
  self._auth_type = self._eval_auth_type(creds)
@@ -305,10 +290,6 @@ class ClientDHCoreConfigurator(Configurator):
305
290
  change_origin : bool, default False
306
291
  Whether to switch credential sources on auth failure.
307
292
 
308
- Returns
309
- -------
310
- None
311
-
312
293
  Raises
313
294
  ------
314
295
  ClientError
@@ -462,10 +443,6 @@ class ClientDHCoreConfigurator(Configurator):
462
443
  ----------
463
444
  response : dict
464
445
  OAuth2 token response with new credentials.
465
-
466
- Returns
467
- -------
468
- None
469
446
  """
470
447
  for key in self.keys_to_prefix:
471
448
  key = key.lower()
@@ -44,10 +44,6 @@ class ErrorParser:
44
44
  response : Response
45
45
  The HTTP response object from requests.
46
46
 
47
- Returns
48
- -------
49
- None
50
-
51
47
  Raises
52
48
  ------
53
49
  TimeoutError
@@ -4,9 +4,13 @@
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from digitalhub.entities._commons.enums import ApiCategories, BackendOperations
7
+ from digitalhub.stores.client._base.enums import ApiCategories, BackendOperations
8
8
  from digitalhub.stores.client._base.params_builder import ClientParametersBuilder
9
9
 
10
+ DEFAULT_START_PAGE = 0
11
+ DEFAULT_SIZE = 25
12
+ DEFAULT_SORT = "metadata.updated,DESC"
13
+
10
14
 
11
15
  class ClientDHCoreParametersBuilder(ClientParametersBuilder):
12
16
  """
@@ -33,11 +37,6 @@ class ClientDHCoreParametersBuilder(ClientParametersBuilder):
33
37
  """
34
38
  Build HTTP request parameters for DHCore API calls.
35
39
 
36
- Routes parameter building to appropriate method based on API category
37
- (base or context operations) and applies operation-specific transformations.
38
- Acts as dispatcher, initializing parameter dictionaries with 'params' key
39
- for query parameters.
40
-
41
40
  Parameters
42
41
  ----------
43
42
  category : str
@@ -61,108 +60,105 @@ class ClientDHCoreParametersBuilder(ClientParametersBuilder):
61
60
 
62
61
  def build_parameters_base(self, operation: str, **kwargs) -> dict:
63
62
  """
64
- Build parameters for base-level API operations.
65
-
66
- Constructs HTTP request parameters for project-level operations and
67
- entity sharing functionality. Handles CASCADE (boolean to lowercase string),
68
- SHARE (user parameter to query params), and UNSHARE (requires unshare=True
69
- and entity id).
63
+ Constructs HTTP request parameters for project operations.
70
64
 
71
65
  Parameters
72
66
  ----------
73
67
  operation : str
74
- API operation: DELETE (project deletion with optional cascade)
75
- or SHARE (entity sharing/unsharing with users).
68
+ API operation.
76
69
  **kwargs : dict
77
- Operation-specific parameters:
78
- - cascade (bool): For DELETE, whether to cascade delete
79
- - user (str): For SHARE, target user for sharing
80
- - unshare (bool): For SHARE, whether to unshare instead
81
- - id (str): For SHARE unshare, entity ID to unshare
82
-
70
+ Operation-specific parameters.
83
71
  Returns
84
72
  -------
85
73
  dict
86
74
  Formatted parameters with 'params' containing query parameters.
87
75
  """
88
- kwargs = self._set_params(**kwargs)
76
+ kwargs = self._ensure_params(**kwargs)
77
+
78
+ # Handle delete
89
79
  if operation == BackendOperations.DELETE.value:
90
80
  if (cascade := kwargs.pop("cascade", None)) is not None:
91
- kwargs["params"]["cascade"] = str(cascade).lower()
81
+ kwargs = self._add_param("cascade", str(cascade).lower(), **kwargs)
82
+
83
+ # Handle share
92
84
  elif operation == BackendOperations.SHARE.value:
93
- kwargs["params"]["user"] = kwargs.pop("user")
85
+ kwargs = self._add_param("user", kwargs.pop("user"), **kwargs)
94
86
  if kwargs.pop("unshare", False):
95
- kwargs["params"]["id"] = kwargs.pop("id")
87
+ kwargs = self._add_param("id", kwargs.pop("id"), **kwargs)
96
88
 
97
89
  return kwargs
98
90
 
99
91
  def build_parameters_context(self, operation: str, **kwargs) -> dict:
100
92
  """
101
- Build parameters for context-level API operations.
102
-
103
93
  Constructs HTTP request parameters for entity management and search within
104
- projects. Handles search filters via 'filter' parameter, pagination with
105
- 'page' and 'size', result ordering with 'sort' parameter. READ supports
106
- embedded entity inclusion, DELETE requires entity 'id' parameter.
94
+ projects.
107
95
 
108
96
  Parameters
109
97
  ----------
110
98
  operation : str
111
- API operation: SEARCH (search entities with filtering), READ_MANY
112
- (retrieve multiple with pagination), DELETE (delete by ID),
113
- READ (read by ID with optional embedded).
99
+ API operation.
114
100
  **kwargs : dict
115
- Operation-specific parameters:
116
- - params (dict): Search filters and conditions
117
- - page (int): Page number for pagination (default: 0)
118
- - size (int): Items per page (default: 20)
119
- - order_by (str): Field to order results by
120
- - order (str): Order direction ('asc' or 'desc')
121
- - embedded (bool): For READ, whether to include embedded entities
122
- - id (str): For READ/DELETE, entity identifier
101
+ Operation-specific parameters.
123
102
 
124
103
  Returns
125
104
  -------
126
105
  dict
127
- Formatted parameters with 'params' for query parameters and
128
- other request-specific parameters like 'id' for entity operations.
106
+ Formatted parameters with 'params'.
129
107
  """
130
- kwargs = self._set_params(**kwargs)
108
+ kwargs = self._ensure_params(**kwargs)
131
109
 
132
110
  # Handle read
133
111
  if operation == BackendOperations.READ.value:
134
- name = kwargs.pop("entity_name", None)
135
- if name is not None:
136
- kwargs["params"]["name"] = name
112
+ if (name := kwargs.pop("name", None)) is not None:
113
+ kwargs = self._add_param("name", name, **kwargs)
114
+
115
+ # Handle read all versions
137
116
  elif operation == BackendOperations.READ_ALL_VERSIONS.value:
138
- kwargs["params"]["versions"] = "all"
139
- kwargs["params"]["name"] = kwargs.pop("entity_name")
117
+ kwargs = self._add_param("versions", "all", **kwargs)
118
+ kwargs = self._add_param("name", kwargs.pop("name"), **kwargs)
119
+
120
+ # Handle list
121
+ elif operation == BackendOperations.LIST.value:
122
+ possible_list_params = [
123
+ "q",
124
+ "name",
125
+ "kind",
126
+ "user",
127
+ "state",
128
+ "created",
129
+ "updated",
130
+ "versions",
131
+ "function",
132
+ "workflow",
133
+ "action",
134
+ "task",
135
+ ]
136
+ list_params = {k: kwargs.get(k, None) for k in possible_list_params}
137
+ list_params = self._filter_none_params(**list_params)
138
+ for k, v in list_params.items():
139
+ kwargs = self._add_param(k, v, **kwargs)
140
+ for k in possible_list_params:
141
+ kwargs.pop(k, None)
142
+
140
143
  # Handle delete
141
144
  elif operation == BackendOperations.DELETE.value:
142
- # Handle cascade
143
145
  if (cascade := kwargs.pop("cascade", None)) is not None:
144
- kwargs["params"]["cascade"] = str(cascade).lower()
145
-
146
- # Handle delete all versions
147
- entity_id = kwargs.pop("entity_id")
148
- entity_name = kwargs.pop("entity_name")
149
- if not kwargs.pop("delete_all_versions", False):
150
- if entity_id is None:
151
- raise ValueError(
152
- "If `delete_all_versions` is False, `entity_id` must be provided,"
153
- " either as an argument or in key `identifier`.",
154
- )
155
- else:
156
- kwargs["params"]["name"] = entity_name
146
+ kwargs = self._add_param("cascade", str(cascade).lower(), **kwargs)
147
+
148
+ elif operation == BackendOperations.DELETE_ALL_VERSIONS.value:
149
+ if (cascade := kwargs.pop("cascade", None)) is not None:
150
+ kwargs = self._add_param("cascade", str(cascade).lower(), **kwargs)
151
+ kwargs = self._add_param("name", kwargs.pop("name"), **kwargs)
152
+
157
153
  # Handle search
158
154
  elif operation == BackendOperations.SEARCH.value:
159
155
  # Handle fq
160
156
  if (fq := kwargs.pop("fq", None)) is not None:
161
- kwargs["params"]["fq"] = fq
157
+ kwargs = self._add_param("fq", fq, **kwargs)
162
158
 
163
159
  # Add search query
164
160
  if (query := kwargs.pop("query", None)) is not None:
165
- kwargs["params"]["q"] = query
161
+ kwargs = self._add_param("q", query, **kwargs)
166
162
 
167
163
  # Add search filters
168
164
  fq = []
@@ -205,17 +201,63 @@ class ClientDHCoreParametersBuilder(ClientParametersBuilder):
205
201
  fq.append(f"metadata.labels:({labels})")
206
202
 
207
203
  # Add filters
208
- kwargs["params"]["fq"] = fq
204
+ kwargs = self._add_param("fq", fq, **kwargs)
205
+
206
+ return kwargs
207
+
208
+ def set_pagination(self, partial: bool = False, **kwargs) -> dict:
209
+ """
210
+ Ensure pagination parameters are set in kwargs.
211
+
212
+ Parameters
213
+ ----------
214
+ **kwargs : dict
215
+ Keyword arguments to format. May be empty or contain various
216
+ parameters for API operations.
217
+
218
+ Returns
219
+ -------
220
+ dict
221
+ Pagination parameters set in 'params' of kwargs.
222
+ """
223
+ kwargs = self._ensure_params(**kwargs)
224
+
225
+ if "page" not in kwargs["params"]:
226
+ kwargs["params"]["page"] = DEFAULT_START_PAGE
227
+
228
+ if partial:
229
+ return kwargs
230
+
231
+ if "size" not in kwargs["params"]:
232
+ kwargs["params"]["size"] = DEFAULT_SIZE
233
+
234
+ if "sort" not in kwargs["params"]:
235
+ kwargs["params"]["sort"] = DEFAULT_SORT
209
236
 
210
237
  return kwargs
211
238
 
212
239
  @staticmethod
213
- def _set_params(**kwargs) -> dict:
240
+ def read_page_number(**kwargs) -> int:
241
+ """
242
+ Read current page number from kwargs.
243
+
244
+ Parameters
245
+ ----------
246
+ **kwargs : dict
247
+ Keyword arguments to format. May be empty or contain various
248
+ parameters for API operations.
249
+
250
+ Returns
251
+ -------
252
+ int
253
+ Current page number.
214
254
  """
215
- Initialize parameter dictionary with query parameters structure.
255
+ return kwargs["params"]["page"]
216
256
 
217
- Ensures parameter dictionary has 'params' key for HTTP query parameters,
218
- guaranteeing consistent structure for all parameter building methods.
257
+ @staticmethod
258
+ def increment_page_number(**kwargs) -> dict:
259
+ """
260
+ Increment page number in kwargs.
219
261
 
220
262
  Parameters
221
263
  ----------
@@ -226,11 +268,24 @@ class ClientDHCoreParametersBuilder(ClientParametersBuilder):
226
268
  Returns
227
269
  -------
228
270
  dict
229
- Parameters dictionary with guaranteed 'params' key containing
230
- empty dict if not already present.
271
+ Parameters dictionary with incremented 'page' number in 'params'.
231
272
  """
232
- if not kwargs:
233
- kwargs = {}
234
- if "params" not in kwargs:
235
- kwargs["params"] = {}
273
+ kwargs["params"]["page"] += 1
236
274
  return kwargs
275
+
276
+ @staticmethod
277
+ def _filter_none_params(**kwargs) -> dict:
278
+ """
279
+ Filter out None values from kwargs.
280
+
281
+ Parameters
282
+ ----------
283
+ **kwargs : dict
284
+ Keyword arguments to filter.
285
+
286
+ Returns
287
+ -------
288
+ dict
289
+ Filtered kwargs.
290
+ """
291
+ return {k: v for k, v in kwargs.items() if v is not None}
@@ -4,8 +4,8 @@
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from digitalhub.entities._commons.enums import ApiCategories, BackendOperations
8
7
  from digitalhub.stores.client._base.api_builder import ClientApiBuilder
8
+ from digitalhub.stores.client._base.enums import ApiCategories, BackendOperations
9
9
  from digitalhub.stores.client.local.enums import LocalClientVar
10
10
  from digitalhub.utils.exceptions import BackendError
11
11
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from digitalhub.entities._commons.enums import ApiCategories, BackendOperations
7
+ from digitalhub.stores.client._base.enums import ApiCategories, BackendOperations
8
8
  from digitalhub.stores.client._base.params_builder import ClientParametersBuilder
9
9
 
10
10
 
@@ -51,10 +51,13 @@ class ClientLocalParametersBuilder(ClientParametersBuilder):
51
51
  dict
52
52
  Parameters formatted.
53
53
  """
54
- kwargs = self._set_params(**kwargs)
54
+ kwargs = self._ensure_params(**kwargs)
55
+
56
+ # Handle delete
55
57
  if operation == BackendOperations.DELETE.value:
56
58
  if (cascade := kwargs.pop("cascade", None)) is not None:
57
- kwargs["params"]["cascade"] = str(cascade).lower()
59
+ kwargs = self._add_param("cascade", str(cascade).lower(), **kwargs)
60
+
58
61
  return kwargs
59
62
 
60
63
  def build_parameters_context(self, operation: str, **kwargs) -> dict:
@@ -73,48 +76,22 @@ class ClientLocalParametersBuilder(ClientParametersBuilder):
73
76
  dict
74
77
  Parameters formatted.
75
78
  """
76
- kwargs = self._set_params(**kwargs)
79
+ kwargs = self._ensure_params(**kwargs)
77
80
 
78
- # Handle read
81
+ # Handle read all versions
79
82
  if operation == BackendOperations.READ_ALL_VERSIONS.value:
80
- kwargs["params"]["versions"] = "all"
81
- kwargs["params"]["name"] = kwargs.pop("entity_name")
83
+ kwargs = self._add_param("versions", "all", **kwargs)
84
+ kwargs = self._add_param("name", kwargs.pop("name"), **kwargs)
85
+
82
86
  # Handle delete
83
87
  elif operation == BackendOperations.DELETE.value:
84
- # Handle cascade
85
- if cascade := kwargs.pop("cascade", None) is not None:
86
- kwargs["params"]["cascade"] = str(cascade).lower()
87
-
88
- # Handle delete all versions
89
- entity_id = kwargs.pop("entity_id")
90
- entity_name = kwargs.pop("entity_name")
91
- if not kwargs.pop("delete_all_versions", False):
92
- if entity_id is None:
93
- raise ValueError(
94
- "If `delete_all_versions` is False, `entity_id` must be provided,"
95
- " either as an argument or in key `identifier`.",
96
- )
97
- else:
98
- kwargs["params"]["name"] = entity_name
99
- return kwargs
100
-
101
- @staticmethod
102
- def _set_params(**kwargs) -> dict:
103
- """
104
- Format params parameter.
88
+ if (cascade := kwargs.pop("cascade", None)) is not None:
89
+ kwargs = self._add_param("cascade", str(cascade).lower(), **kwargs)
105
90
 
106
- Parameters
107
- ----------
108
- **kwargs : dict
109
- Keyword arguments.
91
+ # Handle delete all versions
92
+ elif operation == BackendOperations.DELETE_ALL_VERSIONS.value:
93
+ if (cascade := kwargs.pop("cascade", None)) is not None:
94
+ kwargs = self._add_param("cascade", str(cascade).lower(), **kwargs)
95
+ kwargs = self._add_param("name", kwargs.pop("name"), **kwargs)
110
96
 
111
- Returns
112
- -------
113
- dict
114
- Parameters with initialized params.
115
- """
116
- if not kwargs:
117
- kwargs = {}
118
- if "params" not in kwargs:
119
- kwargs["params"] = {}
120
97
  return kwargs
@@ -53,10 +53,6 @@ class Configurator:
53
53
  def load_configs(self) -> None:
54
54
  """
55
55
  Load the configuration from both environment and file sources.
56
-
57
- Returns
58
- -------
59
- None
60
56
  """
61
57
  self.load_env_vars()
62
58
  self.load_file_vars()
@@ -71,10 +67,6 @@ class Configurator:
71
67
  """
72
68
  Check if the current profile has changed and reload
73
69
  the file credentials if needed.
74
-
75
- Returns
76
- -------
77
- None
78
70
  """
79
71
  if (current := self._creds_handler.get_current_profile()) != self._current_profile:
80
72
  self.load_file_vars()
@@ -119,10 +111,6 @@ class Configurator:
119
111
  """
120
112
  Attempt to change the origin of credentials.
121
113
  Raise error if already evaluated.
122
-
123
- Returns
124
- -------
125
- None
126
114
  """
127
115
  try:
128
116
  self.change_origin()
@@ -132,10 +120,6 @@ class Configurator:
132
120
  def change_origin(self) -> None:
133
121
  """
134
122
  Change the origin of credentials from env to file or vice versa.
135
-
136
- Returns
137
- -------
138
- None
139
123
  """
140
124
  if self._changed_origin:
141
125
  raise ConfigError("Origin has already been changed.")
@@ -147,10 +131,6 @@ class Configurator:
147
131
  def change_to_file(self) -> None:
148
132
  """
149
133
  Set the credentials origin to file.
150
-
151
- Returns
152
- -------
153
- None
154
134
  """
155
135
  if self._origin == self._env:
156
136
  self._changed_origin = True
@@ -159,10 +139,6 @@ class Configurator:
159
139
  def change_to_env(self) -> None:
160
140
  """
161
141
  Set the credentials origin to environment.
162
-
163
- Returns
164
- -------
165
- None
166
142
  """
167
143
  if self._origin == self._file:
168
144
  self._changed_origin = True
@@ -64,10 +64,6 @@ class CredentialHandler:
64
64
  ----------
65
65
  creds_set : str
66
66
  Name of the credentials profile to set.
67
-
68
- Returns
69
- -------
70
- None
71
67
  """
72
68
  self._profile = creds_set
73
69
  set_current_profile(creds_set)
@@ -127,10 +123,6 @@ class CredentialHandler:
127
123
  ----------
128
124
  creds : dict
129
125
  Credentials to write.
130
-
131
- Returns
132
- -------
133
- None
134
126
  """
135
127
  write_config(creds, self._profile)
136
128
 
@@ -148,10 +140,6 @@ class CredentialHandler:
148
140
  The origin of the credentials ('env' or 'file').
149
141
  creds : dict
150
142
  Credentials to set.
151
-
152
- Returns
153
- -------
154
- None
155
143
  """
156
144
  self._creds_store.set_credentials(self._profile, origin, creds)
157
145
 
@@ -42,10 +42,6 @@ class CredentialsStore:
42
42
  Origin of the credentials ('env' or 'file').
43
43
  credentials : dict of str to Any
44
44
  Dictionary of credentials to set.
45
-
46
- Returns
47
- -------
48
- None
49
45
  """
50
46
  if origin == CredsOrigin.ENV.value:
51
47
  for key, value in credentials.items():
@@ -114,10 +114,6 @@ class Store:
114
114
  src : str
115
115
  The source path.
116
116
 
117
- Returns
118
- -------
119
- None
120
-
121
117
  Raises
122
118
  ------
123
119
  StoreError
@@ -135,10 +131,6 @@ class Store:
135
131
  dst : str
136
132
  The destination path.
137
133
 
138
- Returns
139
- -------
140
- None
141
-
142
134
  Raises
143
135
  ------
144
136
  StoreError
@@ -158,10 +150,6 @@ class Store:
158
150
  overwrite : bool
159
151
  Specify if overwrite an existing file.
160
152
 
161
- Returns
162
- -------
163
- None
164
-
165
153
  Raises
166
154
  ------
167
155
  StoreError
@@ -179,10 +167,6 @@ class Store:
179
167
  ----------
180
168
  path : str | Path
181
169
  The path to build.
182
-
183
- Returns
184
- -------
185
- None
186
170
  """
187
171
  if not isinstance(path, Path):
188
172
  path = Path(path)
@@ -83,10 +83,6 @@ class StoreBuilder:
83
83
  The configurator class for store configuration.
84
84
  If None, the store will be instantiated without configuration.
85
85
 
86
- Returns
87
- -------
88
- None
89
-
90
86
  Raises
91
87
  ------
92
88
  StoreError
@@ -174,10 +174,6 @@ class RemoteStore(Store):
174
174
  src : str
175
175
  The source location.
176
176
 
177
- Returns
178
- -------
179
- None
180
-
181
177
  Raises
182
178
  ------
183
179
  HTTPError
@@ -46,10 +46,6 @@ class S3StoreConfigurator(Configurator):
46
46
  def load_env_vars(self) -> None:
47
47
  """
48
48
  Loads the credentials from the environment variables.
49
-
50
- Returns
51
- -------
52
- None
53
49
  """
54
50
  env_creds = self._creds_handler.load_from_env(self.keys)
55
51
  self._creds_handler.set_credentials(self._env, env_creds)
@@ -57,10 +53,6 @@ class S3StoreConfigurator(Configurator):
57
53
  def load_file_vars(self) -> None:
58
54
  """
59
55
  Loads the credentials from a file.
60
-
61
- Returns
62
- -------
63
- None
64
56
  """
65
57
  file_creds = self._creds_handler.load_from_file(self.keys)
66
58
  self._creds_handler.set_credentials(self._file, file_creds)