dnastack-client-library 3.1.138__py3-none-any.whl → 3.1.139__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.
Files changed (34) hide show
  1. dnastack/__init__.py +5 -5
  2. dnastack/alpha/app/workbench.py +3 -4
  3. dnastack/alpha/client/wes/client.py +2 -2
  4. dnastack/cli/commands/config/endpoints.py +7 -7
  5. dnastack/cli/commands/publisher/collections/items.py +0 -1
  6. dnastack/cli/commands/publisher/datasources/utils.py +1 -1
  7. dnastack/cli/commands/workbench/storage/add.py +1 -1
  8. dnastack/cli/commands/workbench/storage/update.py +1 -1
  9. dnastack/cli/commands/workbench/utils.py +1 -1
  10. dnastack/cli/core/command_formatting.py +1 -1
  11. dnastack/cli/core/group_formatting.py +0 -1
  12. dnastack/cli/core/styling.py +1 -2
  13. dnastack/cli/core/themes.py +1 -1
  14. dnastack/client/base_exceptions.py +1 -1
  15. dnastack/client/collections/client.py +5 -5
  16. dnastack/client/datasources/client.py +2 -4
  17. dnastack/client/drs.py +1 -1
  18. dnastack/client/service_registry/factory.py +1 -1
  19. dnastack/client/workbench/base_client.py +2 -2
  20. dnastack/client/workbench/workbench_user_service/client.py +1 -1
  21. dnastack/common/events.py +2 -2
  22. dnastack/common/json_argument_parser.py +8 -3
  23. dnastack/common/logger.py +2 -2
  24. dnastack/constants.py +1 -1
  25. dnastack/http/authenticators/oauth2.py +2 -2
  26. dnastack/http/authenticators/oauth2_adapter/client_credential.py +2 -2
  27. dnastack/http/authenticators/oauth2_adapter/device_code_flow.py +2 -2
  28. dnastack/http/session.py +5 -5
  29. {dnastack_client_library-3.1.138.dist-info → dnastack_client_library-3.1.139.dist-info}/METADATA +1 -1
  30. {dnastack_client_library-3.1.138.dist-info → dnastack_client_library-3.1.139.dist-info}/RECORD +34 -34
  31. {dnastack_client_library-3.1.138.dist-info → dnastack_client_library-3.1.139.dist-info}/WHEEL +0 -0
  32. {dnastack_client_library-3.1.138.dist-info → dnastack_client_library-3.1.139.dist-info}/entry_points.txt +0 -0
  33. {dnastack_client_library-3.1.138.dist-info → dnastack_client_library-3.1.139.dist-info}/licenses/LICENSE +0 -0
  34. {dnastack_client_library-3.1.138.dist-info → dnastack_client_library-3.1.139.dist-info}/top_level.txt +0 -0
dnastack/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
- from dnastack.client.collections.client import CollectionServiceClient
2
- from dnastack.client.data_connect import DataConnectClient
3
- from dnastack.client.drs import DrsClient
4
- from dnastack.client.models import ServiceEndpoint
5
- from dnastack.context.helper import use
1
+ from dnastack.client.collections.client import CollectionServiceClient # noqa: F401
2
+ from dnastack.client.data_connect import DataConnectClient # noqa: F401
3
+ from dnastack.client.drs import DrsClient # noqa: F401
4
+ from dnastack.client.models import ServiceEndpoint # noqa: F401
5
+ from dnastack.context.helper import use # noqa: F401
@@ -171,7 +171,7 @@ class Workbench:
171
171
  if not r.has_failed() and not r.was_canceled():
172
172
  try:
173
173
  self.cancel_run(run_status.run_id)
174
- except Exception as rex:
174
+ except Exception:
175
175
  bad_run_ids.append(run_status.run_id)
176
176
  if(len(bad_run_ids) > 0):
177
177
  raise WorkbenchRunException("Could not cancel all runs in batch "+batch_id+". Run IDs: "+"\n".join(bad_run_ids), run_ids=bad_run_ids)
@@ -196,10 +196,10 @@ class Workbench:
196
196
  if this_runs_state.has_failed():
197
197
  batch_error_message = batch_error_message + "\nRun {run_id} failed with status {run_state}".format(run_id=run.run_id, run_state=run.state)
198
198
  elif this_runs_state.was_canceled():
199
- batch_error_message = batch_error_message + "\nRun {run_id} was canceled".format(run_id=run.run_id, run_state=run.state)
199
+ batch_error_message = batch_error_message + "\nRun {run_id} was canceled".format(run_id=run.run_id, )
200
200
  elif batch_error_message == "":
201
201
  if current_unanimous_state is None:
202
- current_unanimous_state = RunStatus(run.state);
202
+ current_unanimous_state = RunStatus(run.state)
203
203
  elif current_unanimous_state != this_runs_state:
204
204
  current_unanimous_state = RunStatus.UNKNOWN
205
205
 
@@ -315,7 +315,6 @@ class Workbench:
315
315
  for task_log in run.task_logs:
316
316
  if task_log.name == task_name:
317
317
  return self.stream_task_log(run_id=run, task_id=task_log.task_id, log_type=log_type, max_bytes=max_bytes)
318
- return self._get_ewes_client().stream_task_logs(run_id=run, task_id=task_log.task_id, log_type=logtype, max_bytes=max_bytes)
319
318
 
320
319
  def stream_task_log(self, run: Union[ExtendedRun, str], task_id: str, log_type: LogType, max_bytes: Optional[int] = None) -> Iterable[bytes]:
321
320
  return self._get_ewes_client().stream_task_logs(run_id=run, task_id=task_id, log_type=log_type, max_bytes=max_bytes)
@@ -313,12 +313,12 @@ class WesClient(BaseServiceClient):
313
313
 
314
314
  def get_service_info(self):
315
315
  with self.create_http_session() as session:
316
- response = session.get(urljoin(self.endpoint.url, f'service-info'))
316
+ response = session.get(urljoin(self.endpoint.url, 'service-info'))
317
317
  return response.json()
318
318
 
319
319
  def get_runs(self, page_size: Optional[int] = None, page_token: Optional[str] = None) -> Iterator[_Run]:
320
320
  # GET /runs
321
- return ResultIterator(RunListLoader(initial_url=urljoin(self.endpoint.url, f'runs'),
321
+ return ResultIterator(RunListLoader(initial_url=urljoin(self.endpoint.url, 'runs'),
322
322
  page_size=page_size,
323
323
  page_token=page_token,
324
324
  http_session=self.create_http_session()))
@@ -470,7 +470,7 @@ class EndpointCommandHandler:
470
470
 
471
471
  node = e.parent or obj
472
472
 
473
- self.__logger.debug(f'__repair_path: LOOP: ***** Broken Path Detected *****')
473
+ self.__logger.debug('__repair_path: LOOP: ***** Broken Path Detected *****')
474
474
  self.__logger.debug(f'__repair_path: LOOP: type(e.parent) => {type(e.parent).__name__}')
475
475
  self.__logger.debug(f'__repair_path: LOOP: e.parent => {e.parent}')
476
476
  self.__logger.debug(f'__repair_path: LOOP: last_visited_node => {last_visited_node}')
@@ -478,10 +478,10 @@ class EndpointCommandHandler:
478
478
  annotation = node.__annotations__[last_visited_node]
479
479
 
480
480
  if hasattr(node, last_visited_node) and getattr(node, last_visited_node):
481
- self.__logger.debug(f'__repair_path: LOOP: No repair')
481
+ self.__logger.debug('__repair_path: LOOP: No repair')
482
482
  elif str(annotation).startswith('typing.Union[') or str(annotation).startswith("typing.Optional["):
483
483
  # Dealing with Union/Optional
484
- self.__logger.debug(f'__repair_path: LOOP: Handling union and optional')
484
+ self.__logger.debug('__repair_path: LOOP: Handling union and optional')
485
485
  self.__logger.debug(f'__repair_path: LOOP: annotation.__args__ => {annotation.__args__}')
486
486
  self.__initialize_default_value(node, last_visited_node, annotation.__args__[0])
487
487
  else:
@@ -512,11 +512,11 @@ class EndpointCommandHandler:
512
512
  setattr(node, property_name, annotation())
513
513
 
514
514
  def __get_place_holder(self, cls):
515
- if cls == str:
515
+ if cls is str:
516
516
  return ''
517
- elif cls == int or cls == float:
517
+ elif cls is int or cls is float:
518
518
  return 0
519
- elif cls == bool:
519
+ elif cls is bool:
520
520
  return False
521
521
  else:
522
522
  raise NotImplementedError(cls)
@@ -592,7 +592,7 @@ class EndpointCommandHandler:
592
592
  while ref_path:
593
593
  property_name = ref_path.pop(0)
594
594
  local_reference = local_reference[property_name]
595
- except KeyError as e:
595
+ except KeyError:
596
596
  raise RuntimeError(f'The reference {reference_url} for the configuration is undefined.')
597
597
  return self.__resolve_json_reference(local_reference, root)
598
598
 
@@ -9,7 +9,6 @@ from dnastack.cli.commands.utils import MAX_RESULTS_ARG
9
9
  from dnastack.cli.core.command import formatted_command
10
10
  from dnastack.cli.core.command_spec import ArgumentSpec, RESOURCE_OUTPUT_ARG
11
11
  from dnastack.cli.core.group import formatted_group
12
- from dnastack.cli.helpers.exporter import to_json, normalize
13
12
  from dnastack.cli.helpers.iterator_printer import show_iterator, OutputFormat
14
13
  from dnastack.client.collections.model import CreateCollectionItemsRequest, DeleteCollectionItemRequest, \
15
14
  CollectionItemListOptions
@@ -1,4 +1,4 @@
1
- from typing import Dict, Any, Optional
1
+ from typing import Dict, Any
2
2
  from imagination import container
3
3
  from dnastack.cli.helpers.client_factory import ConfigurationBasedClientFactory
4
4
  from dnastack.client.datasources.client import DataSourceServiceClient
@@ -12,7 +12,7 @@ from dnastack.cli.core.command_spec import ArgumentSpec, ArgumentType, CONTEXT_A
12
12
  from dnastack.cli.core.group import formatted_group
13
13
  from dnastack.cli.helpers.exporter import to_json, normalize
14
14
  from dnastack.client.workbench.storage.models import AwsStorageAccountCredentials, StorageAccount, Provider, \
15
- GcpStorageAccountCredentials, AzureStorageAccountCredentials, AzureCredentialsType
15
+ GcpStorageAccountCredentials, AzureStorageAccountCredentials
16
16
  from dnastack.common.json_argument_parser import FileOrValue
17
17
 
18
18
 
@@ -12,7 +12,7 @@ from dnastack.cli.core.command_spec import ArgumentSpec, ArgumentType, CONTEXT_A
12
12
  from dnastack.cli.core.group import formatted_group
13
13
  from dnastack.cli.helpers.exporter import to_json, normalize
14
14
  from dnastack.client.workbench.storage.models import AwsStorageAccountCredentials, StorageAccount, Provider, \
15
- GcpStorageAccountCredentials, AzureCredentialsType, AzureStorageAccountCredentials
15
+ GcpStorageAccountCredentials, AzureStorageAccountCredentials
16
16
  from dnastack.common.json_argument_parser import FileOrValue
17
17
 
18
18
 
@@ -41,7 +41,7 @@ def get_user_client(context_name: Optional[str] = None,
41
41
  factory: ConfigurationBasedClientFactory = container.get(ConfigurationBasedClientFactory)
42
42
  try:
43
43
  return factory.get(WorkbenchUserClient, endpoint_id=endpoint_id, context_name=context_name)
44
- except AssertionError as e:
44
+ except AssertionError:
45
45
  _populate_workbench_endpoint()
46
46
  return factory.get(WorkbenchUserClient, endpoint_id=endpoint_id, context_name=context_name)
47
47
 
@@ -2,7 +2,7 @@ import click
2
2
  from click import Command, Option, Parameter, Argument
3
3
  from typing import List
4
4
 
5
- from dnastack.cli.core.constants import *
5
+ from dnastack.cli.core.constants import APP_NAME, INDENT, OPTION_WIDTH, OPTION_PADDING, TOTAL_WIDTH
6
6
  from dnastack.cli.core.formatting_utils import get_visual_length, wrap_text
7
7
  from dnastack.cli.core.styling import styler
8
8
 
@@ -1,7 +1,6 @@
1
1
  from typing import Optional, List
2
2
 
3
3
  import click
4
- from click import style
5
4
 
6
5
  from dnastack.cli.core.constants import APP_NAME, INDENT, OPTION_WIDTH, TOTAL_WIDTH, OPTION_PADDING
7
6
  from dnastack.cli.core.formatting_utils import wrap_text, get_visual_length
@@ -1,5 +1,4 @@
1
- from typing import Optional, Any
2
- import click
1
+ from typing import Any
3
2
 
4
3
  from .themes import theme_manager
5
4
 
@@ -1,5 +1,5 @@
1
1
  from dataclasses import dataclass
2
- from typing import Dict, Tuple, Optional
2
+ from typing import Dict, Optional
3
3
  import os
4
4
  import subprocess
5
5
  import platform
@@ -95,7 +95,7 @@ class DataConnectError(RuntimeError):
95
95
  blocks.append(f'\nResponse Body:\n{self.details}')
96
96
 
97
97
  if self.urls:
98
- blocks.append(f'\nURL:')
98
+ blocks.append('\nURL:')
99
99
  for url in self.__urls:
100
100
  blocks.append(f' → {url}')
101
101
 
@@ -7,7 +7,7 @@ from pydantic import ValidationError
7
7
  from dnastack.client.base_client import BaseServiceClient
8
8
  from dnastack.client.base_exceptions import UnauthenticatedApiAccessError, UnauthorizedApiAccessError
9
9
  from dnastack.client.collections.model import Collection, CreateCollectionItemsRequest, DeleteCollectionItemRequest, \
10
- CollectionItem, CollectionItemListOptions, PaginatedResource, PageableApiError, CollectionItemListResponse, \
10
+ CollectionItem, CollectionItemListOptions, PageableApiError, CollectionItemListResponse, \
11
11
  CollectionStatus
12
12
  from dnastack.client.data_connect import DATA_CONNECT_TYPE_V1_0
13
13
  from dnastack.client.models import ServiceEndpoint
@@ -120,7 +120,7 @@ class CollectionItemListResultLoader(ResultLoader):
120
120
 
121
121
  try:
122
122
  response_body = response.json() if response_text else dict()
123
- except Exception as e:
123
+ except Exception:
124
124
  self.logger.error(f'{self.__service_url}: Unexpectedly non-JSON response body from {current_url}')
125
125
  raise PageableApiError(
126
126
  f'Unable to deserialize JSON from {response_text}.',
@@ -132,7 +132,7 @@ class CollectionItemListResultLoader(ResultLoader):
132
132
 
133
133
  try:
134
134
  api_response = self.extract_api_response(response_body)
135
- except ValidationError as e:
135
+ except ValidationError:
136
136
  raise PageableApiError(
137
137
  f'Invalid Response Body: {response_body}',
138
138
  status_code,
@@ -219,7 +219,7 @@ class CollectionServiceClient(BaseServiceClient):
219
219
  trace: Optional[Span] = None) -> Iterator[CollectionItem]:
220
220
  """ List all items in a collection """
221
221
  trace = trace or Span(origin=self)
222
- with self.create_http_session() as session:
222
+ with self.create_http_session():
223
223
  return ResultIterator(CollectionItemListResultLoader(
224
224
  service_url=urljoin(self.endpoint.url, f'collection/{collection_id_or_slug_name_or_db_schema_name}/items'),
225
225
  http_session=self.create_http_session(),
@@ -272,7 +272,7 @@ class CollectionServiceClient(BaseServiceClient):
272
272
  collection_id: str,
273
273
  trace: Optional[Span] = None) -> None:
274
274
  trace = trace or Span(origin=self)
275
- local_logger = trace.create_span_logger(self._logger)
275
+ trace.create_span_logger(self._logger)
276
276
  with self.create_http_session() as session:
277
277
  delete_url = self._get_single_collection_url(collection_id)
278
278
  session.delete(delete_url, trace_context=trace)
@@ -1,14 +1,12 @@
1
- from pprint import pformat
2
1
  from typing import List, Optional
3
2
  from pydantic import BaseModel, ValidationError
4
3
  from dnastack.client.base_client import BaseServiceClient
5
4
  from dnastack.client.base_exceptions import (
6
5
  UnauthenticatedApiAccessError, UnauthorizedApiAccessError
7
6
  )
8
- from dnastack.client.collections.client import STANDARD_COLLECTION_SERVICE_TYPE_V1_0, \
9
- STANDARD_DATASOURCE_SERVICE_TYPE_V1_0
7
+ from dnastack.client.collections.client import STANDARD_DATASOURCE_SERVICE_TYPE_V1_0
10
8
  from dnastack.client.collections.model import PageableApiError
11
- from dnastack.client.datasources.model import DataSource, DataSourceListOptions
9
+ from dnastack.client.datasources.model import DataSource
12
10
  from dnastack.client.result_iterator import ResultLoader, InactiveLoaderError, ResultIterator
13
11
  from dnastack.http.session import HttpSession, HttpError
14
12
  from dnastack.common.tracing import Span
dnastack/client/drs.py CHANGED
@@ -67,7 +67,7 @@ class DRSDownloadException(RuntimeError):
67
67
  self.errors = errors
68
68
 
69
69
  def __repr__(self):
70
- error_msg = f"Downloads failed:\n"
70
+ error_msg = "Downloads failed:\n"
71
71
  for err in self.errors:
72
72
  error_msg += f"{err}\n"
73
73
  return error_msg
@@ -76,7 +76,7 @@ class ClientFactory:
76
76
  for service in registry.list_services():
77
77
  entries.append(RegisteredServiceInfo(source_url=registry.url,
78
78
  info=service))
79
- except:
79
+ except Exception:
80
80
  self.__logger.warning(format_exc())
81
81
  self.__logger.warning(f'Unable to retrieve the list of services from {registry.url}')
82
82
 
@@ -136,7 +136,7 @@ class WorkbenchResultLoader(ResultLoader):
136
136
 
137
137
  try:
138
138
  response_body = response.json() if response_text else dict()
139
- except Exception as e:
139
+ except Exception:
140
140
  self.logger.error(f'{self.__service_url}: Unexpectedly non-JSON response body from {current_url}')
141
141
  raise PageableApiError(
142
142
  f'Unable to deserialize JSON from {response_text}.',
@@ -147,7 +147,7 @@ class WorkbenchResultLoader(ResultLoader):
147
147
 
148
148
  try:
149
149
  api_response = self.extract_api_response(response_body)
150
- except ValidationError as e:
150
+ except ValidationError:
151
151
  raise PageableApiError(
152
152
  f'Invalid Response Body: {response_body}',
153
153
  status_code,
@@ -30,6 +30,6 @@ class WorkbenchUserClient(BaseServiceClient):
30
30
  def get_user_config(self) -> WorkbenchUser:
31
31
  with self.create_http_session() as session:
32
32
  response = session.get(
33
- urljoin(self.endpoint.url, f'users/me')
33
+ urljoin(self.endpoint.url, 'users/me')
34
34
  )
35
35
  return WorkbenchUser(**response.json())
dnastack/common/events.py CHANGED
@@ -93,7 +93,7 @@ class EventSource(AbstractEventSource):
93
93
  self._event_logger.level
94
94
  )
95
95
 
96
- event_logger.debug(f'BEGIN')
96
+ event_logger.debug('BEGIN')
97
97
 
98
98
  if event_type in self._event_handlers:
99
99
  for handler in self._event_handlers[event_type]:
@@ -104,7 +104,7 @@ class EventSource(AbstractEventSource):
104
104
  else:
105
105
  pass
106
106
 
107
- event_logger.debug(f'END')
107
+ event_logger.debug('END')
108
108
 
109
109
  def on(self, event_type: str, handler: Union[EventHandler, Callable[[Event], None]]):
110
110
  self._raise_error_for_non_registered_event_type(event_type)
@@ -13,9 +13,14 @@ logger = get_logger('json_argument_parser')
13
13
 
14
14
  try:
15
15
  from httpie.cli.argtypes import KeyValueArgType
16
- from httpie.cli.constants import *
16
+ from httpie.cli.constants import (
17
+ SEPARATOR_GROUP_NESTED_JSON_ITEMS,
18
+ SEPARATOR_DATA_EMBED_FILE_CONTENTS,
19
+ SEPARATOR_DATA_EMBED_RAW_JSON_FILE,
20
+ SEPARATOR_DATA_RAW_JSON
21
+ )
17
22
  from httpie.cli.nested_json import interpret_nested_json
18
- except UnsupportedOperation as e:
23
+ except UnsupportedOperation:
19
24
  # NOTE This is just to bypass the error raised by Colab's Jupyter Notebook.
20
25
  # FIXME Fix the issue where ncurses raises io.UnsupportedOperation.
21
26
  if currently_in_debug_mode():
@@ -121,7 +126,7 @@ def is_json_object_or_array_string(string: str) -> bool:
121
126
  try:
122
127
  json_val = json.loads(string)
123
128
  return isinstance(json_val, list) or isinstance(json_val, dict)
124
- except ValueError as e:
129
+ except ValueError:
125
130
  return False
126
131
 
127
132
 
dnastack/common/logger.py CHANGED
@@ -123,6 +123,6 @@ def get_logger_for(ref: object,
123
123
 
124
124
 
125
125
  def alert_for_deprecation(message: str):
126
- l = get_logger('DEPRECATED')
127
- l.warning(message)
126
+ logger = get_logger('DEPRECATED')
127
+ logger.warning(message)
128
128
  print_stack()
dnastack/constants.py CHANGED
@@ -1,5 +1,5 @@
1
1
  import os
2
2
 
3
- __version__ = "v3.1.138"
3
+ __version__ = "v3.1.139"
4
4
 
5
5
  LOCAL_STORAGE_DIRECTORY = os.path.join(os.path.expanduser("~"), '.dnastack')
@@ -145,14 +145,14 @@ class OAuth2Authenticator(Authenticator):
145
145
  session_info = self._session_info or self._session_manager.restore(session_id)
146
146
 
147
147
  if session_info is None:
148
- logger.debug(f'refresh: The session does not exist.')
148
+ logger.debug('refresh: The session does not exist.')
149
149
  raise ReauthenticationRequired('No existing session information available')
150
150
 
151
151
  if session_info.dnastack_schema_version < 3:
152
152
  logger.debug('refresh: Cannot refresh the tokens as there are not enough information to perform the '
153
153
  'action. You can use the session ID for debugging further.')
154
154
 
155
- event_details['reason'] = f'Not enough information for token refresh'
155
+ event_details['reason'] = 'Not enough information for token refresh'
156
156
  self.events.dispatch('refresh-failure', event_details)
157
157
 
158
158
  raise ReauthenticationRequired(f'The stored session information does not provide enough information to '
@@ -54,11 +54,11 @@ class ClientCredentialAdapter(OAuth2Adapter):
54
54
  sub_logger.debug(f'exchange_tokens: {auth_info.token_endpoint}: HTTP {response.status_code}:\n{response.text}')
55
55
 
56
56
  if not response.ok:
57
- sub_logger.debug(f'exchange_token: Token exchange fails.')
57
+ sub_logger.debug('exchange_token: Token exchange fails.')
58
58
  raise AuthException(f'Failed to perform client-credential authentication for '
59
59
  f'{auth_info.client_id} as the server responds with HTTP {response.status_code}:'
60
60
  f'\n\n{response.text}\n',
61
61
  resource_urls)
62
62
 
63
- sub_logger.debug(f'exchange_token: Token exchange OK')
63
+ sub_logger.debug('exchange_token: Token exchange OK')
64
64
  return response.json()
@@ -78,7 +78,7 @@ class DeviceCodeFlowAdapter(OAuth2Adapter):
78
78
  device_code_json = init_res.json()
79
79
 
80
80
  if init_res.ok:
81
- logger.debug(f'exchange_tokens: Received the initial OK response')
81
+ logger.debug('exchange_tokens: Received the initial OK response')
82
82
 
83
83
  device_code = device_code_json["device_code"]
84
84
  device_verify_uri = device_code_json["verification_uri_complete"]
@@ -94,7 +94,7 @@ class DeviceCodeFlowAdapter(OAuth2Adapter):
94
94
  self.__console.print(f"Please go to {device_verify_uri} to continue.\n", to_stderr=True)
95
95
  self._events.dispatch('blocking-response-required', dict(kind='user_verification', url=device_verify_uri))
96
96
  else:
97
- logger.debug(f'exchange_tokens: Received the ERROR response')
97
+ logger.debug('exchange_tokens: Received the ERROR response')
98
98
 
99
99
  if "error" in init_res.json():
100
100
  error_message = f'The device code request failed with message "{device_code_json["error"]}"'
dnastack/http/session.py CHANGED
@@ -183,9 +183,9 @@ class HttpSession(AbstractContextManager):
183
183
 
184
184
  authenticator.before_request(session, trace_context=trace_context)
185
185
  else:
186
- logger.debug(f'AUTH: no authenticators configured')
186
+ logger.debug('AUTH: no authenticators configured')
187
187
  else:
188
- logger.debug(f'AUTH: the authentication has been disabled')
188
+ logger.debug('AUTH: the authentication has been disabled')
189
189
  self.events.dispatch('authentication-ignored', dict(method=method, url=url))
190
190
 
191
191
  http_method = method.lower()
@@ -331,18 +331,18 @@ class HttpSession(AbstractContextManager):
331
331
  parsed_response = None
332
332
 
333
333
  if isinstance(parsed_response, dict) and parsed_response.get('error') == 'invalid_token':
334
- trace_logger.error(f'The server responded with an invalid token error.')
334
+ trace_logger.error('The server responded with an invalid token error.')
335
335
  token = last_known_session_info.access_token
336
336
  if token:
337
337
  trace_logger.error(f'The token claims are {jwt.decode(token, options={"verify_signature": False})}.')
338
338
  else:
339
- trace_logger.error(f'The token is not available for this request.')
339
+ trace_logger.error('The token is not available for this request.')
340
340
  else:
341
341
  pass # No need for additional error handling.
342
342
  else:
343
343
  pass # As there is no session info, there is no additional info to extract.
344
344
  else:
345
- trace_logger.error(f'The authenticator is not available or supported for extracting additional info.')
345
+ trace_logger.error('The authenticator is not available or supported for extracting additional info.')
346
346
 
347
347
  raise (ClientError if response.status_code < 500 else ServerError)(response, trace_context=trace_context)
348
348
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dnastack-client-library
3
- Version: 3.1.138
3
+ Version: 3.1.139
4
4
  Summary: "DNAstack's GA4GH library and CLI"
5
5
  Home-page: https://www.dnastack.com
6
6
  Author: DNAstack
@@ -1,6 +1,6 @@
1
- dnastack/__init__.py,sha256=Bpfm77MeoZNmZHSgDK9wlgVPkcdE73ur6_7Zihorb4o,263
1
+ dnastack/__init__.py,sha256=mslf7se8vBSK_HkqWTGPdibeVhT4xyKXgzQBV7dEK1M,333
2
2
  dnastack/__main__.py,sha256=3rydT8oj5G1IN0asiqv9oaQw2xmyIlVge8c8wUjo0HA,3532
3
- dnastack/constants.py,sha256=3wClCfHKH0drDWZhBLnW7vkNEgX2ScO_y5sPsdhmPvY,114
3
+ dnastack/constants.py,sha256=lXEVuXC5TIWYQas0joLaIRApFzO_g0nDo9tZuDQw-WA,114
4
4
  dnastack/feature_flags.py,sha256=RK_V_Ovncoe6NeTheAA_frP-kYkZC1fDlTbbup2KYG4,1419
5
5
  dnastack/json_path.py,sha256=TyghhDf7nGQmnsUWBhenU_fKsE_Ez-HLVER6HgH5-hU,2700
6
6
  dnastack/omics_cli.py,sha256=ZppKZTHv_XjUUZyRIzSkx0Ug5ODAYrCOTsU0ezCOVrA,3694
@@ -8,7 +8,7 @@ dnastack/alpha/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  dnastack/alpha/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  dnastack/alpha/app/explorer.py,sha256=PV8B2cJjGbORj-wi-g-_g1He6AUn4yD_StTyNoZjC-Q,5837
10
10
  dnastack/alpha/app/publisher.py,sha256=HPsUrSkokhx0iiOpXXc-Y4tkGjvVPciVqbg9l8yF-2U,3836
11
- dnastack/alpha/app/workbench.py,sha256=6MSwtjLWDTh_qRocU74YXQPXFo1FtvdqBdW2_ieYGUc,15632
11
+ dnastack/alpha/app/workbench.py,sha256=c_OQxjvkvYXxafauF5EnOvVddxUzN4hbudMzn-TzVs8,15476
12
12
  dnastack/alpha/app/publisher_helper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  dnastack/alpha/app/publisher_helper/collection_service.py,sha256=eFV8eJ15DFSn7CcsH343sk0JIfigTV_KFZJ0dSEPSEw,6395
14
14
  dnastack/alpha/app/publisher_helper/data_connect.py,sha256=kBloMM-RO8Z_ctxHBZRs-9z1aFp-j4jgzjGI7JFa_3o,995
@@ -26,7 +26,7 @@ dnastack/alpha/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
26
26
  dnastack/alpha/client/collections/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  dnastack/alpha/client/collections/client.py,sha256=JOyAKVRHT3ggge5y46q2b7MwVgsB8Y93FIdmsURwKes,3038
28
28
  dnastack/alpha/client/wes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- dnastack/alpha/client/wes/client.py,sha256=WrwaQuD6WvlTJwjXj4OFVZkA_jMYYK7cRPGfQEj1S6I,13496
29
+ dnastack/alpha/client/wes/client.py,sha256=vMd70XVYt4v3c-kzHKp5VpISvlTYrkvva4ru0qB6V3E,13494
30
30
  dnastack/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  dnastack/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  dnastack/cli/commands/utils.py,sha256=ZwKTyyvqBTrt27cF9wF6SglE01t7NkHWLMjXegi_6iA,574
@@ -40,7 +40,7 @@ dnastack/cli/commands/collections/utils.py,sha256=o59nT42PACZiGo-dgo5Qjg8UDWgvcj
40
40
  dnastack/cli/commands/config/__init__.py,sha256=xBBLgV5tvRr45gWgZhGHLxB12fNMF8LDqeBvMXCt_sk,706
41
41
  dnastack/cli/commands/config/commands.py,sha256=ANyepqMCCwL2qtbrlS4OxYyGzbMQLF_P7iiKnACIsj8,813
42
42
  dnastack/cli/commands/config/contexts.py,sha256=OcTd_XhTyDf0-CyLnmdYbD7dlO8r1peprTtQV-A-JEc,6095
43
- dnastack/cli/commands/config/endpoints.py,sha256=6i7g9jkUyxgrp-tt4YLpc5uWY3C4yoXNHswPeaRDBwk,23914
43
+ dnastack/cli/commands/config/endpoints.py,sha256=2R6bw7cx32iJ_zzu4C7nUsQiDFsu0tvj_PplmpgsA0E,23906
44
44
  dnastack/cli/commands/config/registries.py,sha256=PCSA05mLuG8_4XR6Gl6yjZy6wPXT4BLhTRMIjO6Zq0I,6422
45
45
  dnastack/cli/commands/dataconnect/__init__.py,sha256=pmSnzfQQkhupJ-ORfTNVo3ev9ASpOGk5Cv4kMZA7zQ8,521
46
46
  dnastack/cli/commands/dataconnect/commands.py,sha256=Xeu7FLIgTJj0QRSZ-4H6SabsqEJ5Otq1ZH8zAxF984A,1760
@@ -52,14 +52,14 @@ dnastack/cli/commands/drs/utils.py,sha256=tGogaIlXKnk03GqitzeDfo893JlP7Nc_X28sH-
52
52
  dnastack/cli/commands/publisher/__init__.py,sha256=G8WNdx1UwanoA4X349ghv8Zyv5YizB8ryeJmwu9px8o,443
53
53
  dnastack/cli/commands/publisher/collections/__init__.py,sha256=KmclN_KY3ctVhtv-i8rxXpWTshPCj1tY6yhud4vrXYQ,636
54
54
  dnastack/cli/commands/publisher/collections/commands.py,sha256=A82NphvnD-9JuN2dVU_07EbAvB1NE7Em07IU7eDhagc,9454
55
- dnastack/cli/commands/publisher/collections/items.py,sha256=gmSCaXXqxk4lElZnqkU6KZCLa5QSDgTd5Zz0LWSBMDQ,6101
55
+ dnastack/cli/commands/publisher/collections/items.py,sha256=6V8w0wugRYQIwBSqHoYhkzJyiA5Bp5uDhg7tvxMa-9A,6040
56
56
  dnastack/cli/commands/publisher/collections/tables.py,sha256=N348MU_p-OKweJwKYtNbpvCD3ZmGGbS-quz7gnsAc1c,2130
57
57
  dnastack/cli/commands/publisher/collections/utils.py,sha256=GNgGv29z7eumQqbw1IFFasJeDyxH2KQGQl0q6UPooVU,6244
58
58
  dnastack/cli/commands/publisher/datasources/__init__.py,sha256=90suC61lfFF1WzIU9f8lO0_DiLWIQF2Dy46_Yad3CD8,327
59
59
  dnastack/cli/commands/publisher/datasources/commands.py,sha256=nG_h44zWA061J5UZCofNhYGpBY-rJhAQuvPEdaGS8LY,1320
60
- dnastack/cli/commands/publisher/datasources/utils.py,sha256=DGVZY6e0Faa0sNRXxqu50z7kGACX4YYkF-cgtMLaUQc,745
60
+ dnastack/cli/commands/publisher/datasources/utils.py,sha256=DjhT7yYj3NSkE9APvAwUIecVoy-PXcutgZAjyUUdiU0,735
61
61
  dnastack/cli/commands/workbench/__init__.py,sha256=H4CGbc31-21mRZqJMtzi2Cg4e_D9a9ibqFjwXQTcXNY,1092
62
- dnastack/cli/commands/workbench/utils.py,sha256=V2I192k4XAg2h-DrsdatqIZfguflh6WR7q5pSBojUX0,4354
62
+ dnastack/cli/commands/workbench/utils.py,sha256=5r3OPH7sg4tNFgiPM7r3ZoyHMnrg1J7PxOxQhKwT8gA,4349
63
63
  dnastack/cli/commands/workbench/engines/__init__.py,sha256=qB1rfGXNJ6_N6F5UYXos4hHDwhm8PtlbrCCt_uNhIIw,653
64
64
  dnastack/cli/commands/workbench/engines/commands.py,sha256=dHie3J2wDSMDQ9HB9rJQNL3oVyngHk44pKO5nj34mX0,2465
65
65
  dnastack/cli/commands/workbench/engines/healthchecks.py,sha256=CEcbEqpAC1NsMRXxfl9Ti2yAekuBAjlB7Moz-IPrkEA,2351
@@ -77,9 +77,9 @@ dnastack/cli/commands/workbench/samples/__init__.py,sha256=cRfeKCdHO-0Dq3PFoVcqO
77
77
  dnastack/cli/commands/workbench/samples/commands.py,sha256=0h_sihwJZaZPyGV7sEStzhF4HUPNYU2EnjjA32pHkZs,2232
78
78
  dnastack/cli/commands/workbench/samples/files.py,sha256=ihZgHV04fXC8-B0EFZ463SesgI93YSbXXlEtYyaUn8U,3021
79
79
  dnastack/cli/commands/workbench/storage/__init__.py,sha256=gRq4_3dFBA13vAOOKCY4rYMC4Ksr6rypyCCUuzXVn-g,625
80
- dnastack/cli/commands/workbench/storage/add.py,sha256=RKT1_ln9T_UWcAHUsCGsXqnv_kexQLO1Xmb_CpqIuHw,10097
80
+ dnastack/cli/commands/workbench/storage/add.py,sha256=GVL7yX8eXOgPar_TVYFQvoFedIG7p-9esT-0l9MDyig,10075
81
81
  dnastack/cli/commands/workbench/storage/commands.py,sha256=m_h2hUhTZ24YCreavRjIcFCmh7jqCtWszbhWJ4xXCPY,4556
82
- dnastack/cli/commands/workbench/storage/update.py,sha256=1ZUwl1t2AEALJvLWqqZAl1dH7V2HMILYXoDutokR1L0,10547
82
+ dnastack/cli/commands/workbench/storage/update.py,sha256=man43AfkFA-9STQiSH4_SuIIgVx8GFH-RRt7ZZbc9ek,10525
83
83
  dnastack/cli/commands/workbench/storage/utils.py,sha256=uZPN6rx14y8Wymc2uDOiGj4imSJOWbDWMm1Fmta_pYE,3204
84
84
  dnastack/cli/commands/workbench/workflows/__init__.py,sha256=GLUXWR2UD5ZOlvfcUv2o2oz_k7mmPWU8650egt3rDfM,513
85
85
  dnastack/cli/commands/workbench/workflows/commands.py,sha256=xdMx45U7901F9fU3AZU7nOOeXCbqKio6CenCQpc-b6A,14036
@@ -90,14 +90,14 @@ dnastack/cli/commands/workbench/workflows/versions/defaults.py,sha256=NoDsUpkrFF
90
90
  dnastack/cli/commands/workbench/workflows/versions/transformations.py,sha256=jrhi2UpOULM98F9yHjmomN7Ax2WIodOah5M95mY4Yfc,9271
91
91
  dnastack/cli/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
92
  dnastack/cli/core/command.py,sha256=H6tG2D7X6B0WvCdQdpcYE4QZSJ19A5nTYUq-NlHW-to,8031
93
- dnastack/cli/core/command_formatting.py,sha256=VRQEq3j0j7frK8Z-e1y_ZC155hl_Lx9hkBU9mJXRU2o,10370
93
+ dnastack/cli/core/command_formatting.py,sha256=be2SKCM0ZzOF8O5ySStGVBGD43rYAqbOP6Xx_dDYCTc,10428
94
94
  dnastack/cli/core/command_spec.py,sha256=IzYn3631jlqS10ISMYrPAvIfPCFQbU9tw0mV9qHoxJE,3076
95
95
  dnastack/cli/core/constants.py,sha256=fsejVpuAi0H93RDAzEXd_nik_L_R3v0MUW_1bcPMJUA,273
96
96
  dnastack/cli/core/formatting_utils.py,sha256=9scLgP_HlO610T-JZT9sZl8bSAfkKcXtZckg-fBu1FE,898
97
97
  dnastack/cli/core/group.py,sha256=Ar3p1TB5pV1yztIYEQ2LdhaX94DoWD7iHBTwWCpkT-U,3171
98
- dnastack/cli/core/group_formatting.py,sha256=gI7eUnQyFhwW69TMYhmYeciCrloSUah1hanRqM5fgrE,5239
99
- dnastack/cli/core/styling.py,sha256=j8bBf4dVAtmp-SC7OWixbxkbZj5FcHkQxax580ZDSvU,8053
100
- dnastack/cli/core/themes.py,sha256=C9ACUmIio9OITp_9RjwRiwzlH1TCgiPlF-dLuaBuaUY,14724
98
+ dnastack/cli/core/group_formatting.py,sha256=YpFr4nOghUe2SMD4dUP-UZ-ToCuG5IrKRMr6C7USZmw,5215
99
+ dnastack/cli/core/styling.py,sha256=pXCIwJkcesQQCBaYM8dA0S6kf67Fi5OueL8UdLuIreE,8030
100
+ dnastack/cli/core/themes.py,sha256=2CU4RzqCoXZuTSK1wmzSGGMDXkEvZ4Nw8Bd1ttMe-qE,14717
101
101
  dnastack/cli/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
102
  dnastack/cli/helpers/client_factory.py,sha256=gErjjYSChgEK_5S_vlTBd2NQm25D1Qg-pGZUi03hqtU,7338
103
103
  dnastack/cli/helpers/exporter.py,sha256=Pb8LO7AdvQ2uPfbt6pXsbow1dzriB2S0oD5HtrCDB_8,2610
@@ -105,27 +105,27 @@ dnastack/cli/helpers/iterator_printer.py,sha256=0JD8RIcbLbCXDsaRFgk_-qO2mVcsmBg-
105
105
  dnastack/cli/helpers/printer.py,sha256=IdGoEnBWtzgPAE2KLoZEfwshn0tkrTu-XXtN-KXj8QI,5283
106
106
  dnastack/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
107
  dnastack/client/base_client.py,sha256=ZhaWHHTQcuPun6RdrtCdShGRYoY18hEKAIHmr8Z728M,3730
108
- dnastack/client/base_exceptions.py,sha256=QoYa-LzT5C0o7eq6Ek4R_-clBL0nZ5v7qdFBcCoUiw4,2888
108
+ dnastack/client/base_exceptions.py,sha256=bNplPuE5wHxIbMI10wk6uk2aFhYub0KT2dcPC8HqbSM,2887
109
109
  dnastack/client/constants.py,sha256=6nB1QKz-GEx8BSnPLFafKGG1WDF3l0P0_HlC01FSvwc,1849
110
110
  dnastack/client/data_connect.py,sha256=6qDx6-dl-fmakEMYK_jfTgUcYe1yl8eTCMPI_8tRUwg,26211
111
- dnastack/client/drs.py,sha256=7iNu58YAtQHKFFFNllFyXATfasT_ndkgSkBKKgDbiKc,21225
111
+ dnastack/client/drs.py,sha256=geLN7jTurC4K-XtwSgGD19HoEeOe1EIopX9znc_Wpb4,21224
112
112
  dnastack/client/factory.py,sha256=PQGYUGhKeqyJtEtc-bZM5OlEup9K7lB-qwmNiII_4HU,6288
113
113
  dnastack/client/models.py,sha256=qkk06k12UZ-kG8x2fT198CX9TFJ8Svt3BjfzuTitqBA,2888
114
114
  dnastack/client/result_iterator.py,sha256=00zEs7YbPJyt8d-6j7eHnmSVurP8hIOarj4FwsiR7xc,1908
115
115
  dnastack/client/collections/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
- dnastack/client/collections/client.py,sha256=NC3SXerFzD-iIDHHuazib0L0pWIA23TD_-SMEruGjWw,16062
116
+ dnastack/client/collections/client.py,sha256=xwXwxRWVXkrKoekLBVlehQz_PoY_nNoPmdurWgE9n6k,16007
117
117
  dnastack/client/collections/model.py,sha256=JO-eC_jc7hY9PBvST3x1vkmJE0LPDAbcUq5VBKcGyLM,3492
118
118
  dnastack/client/datasources/__init__.py,sha256=HxDIHuQX8KMWr3o70ucL3x79pXKaIHbBq7JqmyoRGxM,179
119
- dnastack/client/datasources/client.py,sha256=dR4y3SiCfu8pAtAIoC5S3kgmx3uRk_rEyphll4wvx6E,4766
119
+ dnastack/client/datasources/client.py,sha256=jfVzCSKuQJsggbvfJVbftYJ0hd6gAPsBZMgvINOgjRE,4671
120
120
  dnastack/client/datasources/model.py,sha256=dV9Sf05ivIq0ubwIIYK3kSv1xJ_TtjxvVp_ddI9aHEk,214
121
121
  dnastack/client/service_registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
122
  dnastack/client/service_registry/client.py,sha256=r7D8CnPJLbNkc03g2PYHt880Ba1oPW2d8B0ShP0p4Eo,1131
123
- dnastack/client/service_registry/factory.py,sha256=l_H4ipFzv9j6VkWoPtyHOHJvCCmS6ceVpazjD5qfXM0,10741
123
+ dnastack/client/service_registry/factory.py,sha256=MKidmvDuIdnz9jsqm6yDjImldcNajKxopwmKFFCTN4U,10751
124
124
  dnastack/client/service_registry/helper.py,sha256=CxWsov0WCk5weYj-dYP4gE136nILQTyshYrJl2hpQRw,1326
125
125
  dnastack/client/service_registry/manager.py,sha256=o_Eqg1GRj8x2q-duWozVge8JRFXUEGhV5-jbkcATFw8,9311
126
126
  dnastack/client/service_registry/models.py,sha256=X0vf1sv1f5sZ_7wZMmynjPF57ZrKHZ8FDXV5iHxv7b4,1513
127
127
  dnastack/client/workbench/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
- dnastack/client/workbench/base_client.py,sha256=3Efiu-r8YZwExUQV2W1rkRVD-I-h4y51eFKHBN5d5OY,6818
128
+ dnastack/client/workbench/base_client.py,sha256=KlkSO1c32bKhojfco8NcVBVSY5x_PZACgPI9Q8c7sRE,6808
129
129
  dnastack/client/workbench/models.py,sha256=RBo7wmWMSDkgiFZHaWh2ehKeTM8ERywug1bMGKDOm0k,446
130
130
  dnastack/client/workbench/ewes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
131
  dnastack/client/workbench/ewes/client.py,sha256=yIqjwyyY9q0NrxpTX6LrnlnjavHoa6Fo073O3Lokkaw,15637
@@ -137,7 +137,7 @@ dnastack/client/workbench/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
137
137
  dnastack/client/workbench/storage/client.py,sha256=uMr0mtwMj07TKhS2_IHIKoF-JkrEUiFdGpijVHP-vb4,4080
138
138
  dnastack/client/workbench/storage/models.py,sha256=S5P1m-blJH5x4glmIcu1KTDoJEjt8Qfp-lEeBW9I7PI,2219
139
139
  dnastack/client/workbench/workbench_user_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
- dnastack/client/workbench/workbench_user_service/client.py,sha256=HmfWvLlmUFn1QwjtQF_h-TFcsmQvlahJrZvTI5tl1Tw,1220
140
+ dnastack/client/workbench/workbench_user_service/client.py,sha256=ZpMOFw5L3NxbC2WtKpH3OJ435zEjy0-m4p0WgzQEOB0,1219
141
141
  dnastack/client/workbench/workbench_user_service/models.py,sha256=P8WmocouYthi4gnHzNJT2F3iExWTt_2MUnskexN6Rxs,126
142
142
  dnastack/client/workbench/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
143
  dnastack/client/workbench/workflow/client.py,sha256=ZbQAzJ1DPoPcMGkJEKSyV37pEpSkphT_2WwFbHHkMbw,17872
@@ -148,10 +148,10 @@ dnastack/common/auth_manager.py,sha256=N5lVkM94KGSh8Lje6os9v6rQC082vVJiRwe33US51
148
148
  dnastack/common/class_decorator.py,sha256=vu-TytoFW06IZwuTl54oR-YKqftAPeyIGJeqSG3WvO4,2470
149
149
  dnastack/common/console.py,sha256=edvhWiXtPPXg508RCcfuWKElpLdRu2A9p1kLhdsTtSw,602
150
150
  dnastack/common/environments.py,sha256=VDSSxvtxd60IxAyjgwx9YJuAwWkorhnAMN-XaV087gw,2529
151
- dnastack/common/events.py,sha256=39rspchI-Db6fhAFYSbljNeUt2pGdw27j2d-_nxILTs,6515
151
+ dnastack/common/events.py,sha256=EFw_jWc5ZTi_juSrInTT-vX-K0PcUSqefNYGA4-zp_U,6513
152
152
  dnastack/common/exceptions.py,sha256=YyeSFnZ5dIG_u9Jel2kBheWt6xe0eqRnpEAt4SbI3t0,571
153
- dnastack/common/json_argument_parser.py,sha256=JRVECCAgN6HGuA8s5W00DsFj09dZ2AMVb55Pj7IDF9Q,8292
154
- dnastack/common/logger.py,sha256=0bF4vx4h9Fu0kXiWygePTTaX_cES26BAMkehGp8dv9A,4699
153
+ dnastack/common/json_argument_parser.py,sha256=wmwaUST-sDjvhtvwHMczF98zSmMzwlOi_xqwnwSwiDo,8451
154
+ dnastack/common/logger.py,sha256=akw9djt2_cXP6hxZ2JHz00WPQuby6Vc-XbFrmzqNQxY,4709
155
155
  dnastack/common/memory_debugger.py,sha256=MM3pu95E9L5Q3KVza-G_UBnyy_ULoM2gdeAhY0C1Lb0,1200
156
156
  dnastack/common/model_mixin.py,sha256=UTWY9E7pZk5VPhx9TXvKmthXu9CQjurmp1HfvQVEYnw,396
157
157
  dnastack/common/parser.py,sha256=w5delfi3uTXYN3O-0xMEiWDGwZWRgpsv1tcZV57MKV4,5121
@@ -170,22 +170,22 @@ dnastack/context/manager.py,sha256=5rwQGmV4Em3RyJZNvVIgi8xc2ANfTIGP7v7a6gqowZU,1
170
170
  dnastack/context/models.py,sha256=1tVkBiQQf252VS5YmLqSNTt0McbitC3Oe2_C7dH-OQg,520
171
171
  dnastack/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
172
172
  dnastack/http/client_factory.py,sha256=HdRZpTEnFQcHEdVbdYl7AbCcRUv3K3kVyznIxEWIqvA,650
173
- dnastack/http/session.py,sha256=1jT4Q2M0hEC9gznDLDQIs3R_fUMli_Dh5QdNP1giC7E,15063
173
+ dnastack/http/session.py,sha256=R-rsE_TTswlTTlqJW7a6_O-sVMmbrnEMnKBf7m_5I8U,15058
174
174
  dnastack/http/session_info.py,sha256=ae9MnzMxOoPanGrxec5oIlnv2cizx5bT_h0wclHkAJg,9362
175
175
  dnastack/http/authenticators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
176
  dnastack/http/authenticators/abstract.py,sha256=xaTA_3Wmc24x7tCvUcb5daUcC8sALMQoOx6iyTECZts,9241
177
177
  dnastack/http/authenticators/constants.py,sha256=mSpBnm5lMMmMJwr13KIfCoOXXJLP4qGDkFprYXALu8o,1278
178
178
  dnastack/http/authenticators/factory.py,sha256=PZhE7c59rDtmtUx3PcX_NzarSeRpoPCD6oexDE6Z05I,2062
179
- dnastack/http/authenticators/oauth2.py,sha256=8dQ6zsxbBuydqxqM2HS3A3R_y8jN5YNAU-udZ_MGULQ,17032
179
+ dnastack/http/authenticators/oauth2.py,sha256=GxS7ynHHH-76RUbxZqdqb9qagJavvLWPwfOEiQf51Nk,17030
180
180
  dnastack/http/authenticators/oauth2_adapter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
181
  dnastack/http/authenticators/oauth2_adapter/abstract.py,sha256=Tm4Nnroo5_vp0UgZHhcEDVRRbhIrvVdfPr8nTyihoH4,2832
182
- dnastack/http/authenticators/oauth2_adapter/client_credential.py,sha256=cCVZa4B1yUvF_395reEXK2tOc_ADbDHc-auhVT5pD9I,2518
183
- dnastack/http/authenticators/oauth2_adapter/device_code_flow.py,sha256=_OMHPf7qekPn_oSCBb41iYg9100sQMVzfJiKZHdh26w,6529
182
+ dnastack/http/authenticators/oauth2_adapter/client_credential.py,sha256=Lu22mTT1kjnfLbRPjNVoJ95vySK9G9FItlrnn1g4xgE,2516
183
+ dnastack/http/authenticators/oauth2_adapter/device_code_flow.py,sha256=j0EODp-O8DCCqh9kOGi5MDOdVXkQO14Q7ZJe4ZrzPCY,6527
184
184
  dnastack/http/authenticators/oauth2_adapter/factory.py,sha256=r8K6swt5zhraP74KhTL2K4sQ71HWAMLM0oHg8qQT4BA,965
185
185
  dnastack/http/authenticators/oauth2_adapter/models.py,sha256=U11r8DZsWvjIRNCJE1mmQMuprZw3fpFwFBg7vmI5w48,660
186
- dnastack_client_library-3.1.138.dist-info/licenses/LICENSE,sha256=uwybO-wUbQhxkosgjhJlxmYATMy-AzoULFO9FUedE34,11580
187
- dnastack_client_library-3.1.138.dist-info/METADATA,sha256=84hTX8vTupDJbvowLJsirwCZCyeW1y-ZeC18g6Uw8as,988
188
- dnastack_client_library-3.1.138.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
189
- dnastack_client_library-3.1.138.dist-info/entry_points.txt,sha256=Y6OeicsiyGn3-8D-SiV4NiKlJgXfkSqK88kFBR6R1rY,89
190
- dnastack_client_library-3.1.138.dist-info/top_level.txt,sha256=P2RgRyqJ7hfNy1wLVRoVLJYEppUVkCX3syGK9zBqkt8,9
191
- dnastack_client_library-3.1.138.dist-info/RECORD,,
186
+ dnastack_client_library-3.1.139.dist-info/licenses/LICENSE,sha256=uwybO-wUbQhxkosgjhJlxmYATMy-AzoULFO9FUedE34,11580
187
+ dnastack_client_library-3.1.139.dist-info/METADATA,sha256=v-G603s54oznNVCJd_7L8zk8ci9WUVPyfWOqhovlPYA,988
188
+ dnastack_client_library-3.1.139.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
189
+ dnastack_client_library-3.1.139.dist-info/entry_points.txt,sha256=Y6OeicsiyGn3-8D-SiV4NiKlJgXfkSqK88kFBR6R1rY,89
190
+ dnastack_client_library-3.1.139.dist-info/top_level.txt,sha256=P2RgRyqJ7hfNy1wLVRoVLJYEppUVkCX3syGK9zBqkt8,9
191
+ dnastack_client_library-3.1.139.dist-info/RECORD,,