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.
- dnastack/__init__.py +5 -5
- dnastack/alpha/app/workbench.py +3 -4
- dnastack/alpha/client/wes/client.py +2 -2
- dnastack/cli/commands/config/endpoints.py +7 -7
- dnastack/cli/commands/publisher/collections/items.py +0 -1
- dnastack/cli/commands/publisher/datasources/utils.py +1 -1
- dnastack/cli/commands/workbench/storage/add.py +1 -1
- dnastack/cli/commands/workbench/storage/update.py +1 -1
- dnastack/cli/commands/workbench/utils.py +1 -1
- dnastack/cli/core/command_formatting.py +1 -1
- dnastack/cli/core/group_formatting.py +0 -1
- dnastack/cli/core/styling.py +1 -2
- dnastack/cli/core/themes.py +1 -1
- dnastack/client/base_exceptions.py +1 -1
- dnastack/client/collections/client.py +5 -5
- dnastack/client/datasources/client.py +2 -4
- dnastack/client/drs.py +1 -1
- dnastack/client/service_registry/factory.py +1 -1
- dnastack/client/workbench/base_client.py +2 -2
- dnastack/client/workbench/workbench_user_service/client.py +1 -1
- dnastack/common/events.py +2 -2
- dnastack/common/json_argument_parser.py +8 -3
- dnastack/common/logger.py +2 -2
- dnastack/constants.py +1 -1
- dnastack/http/authenticators/oauth2.py +2 -2
- dnastack/http/authenticators/oauth2_adapter/client_credential.py +2 -2
- dnastack/http/authenticators/oauth2_adapter/device_code_flow.py +2 -2
- dnastack/http/session.py +5 -5
- {dnastack_client_library-3.1.138.dist-info → dnastack_client_library-3.1.139.dist-info}/METADATA +1 -1
- {dnastack_client_library-3.1.138.dist-info → dnastack_client_library-3.1.139.dist-info}/RECORD +34 -34
- {dnastack_client_library-3.1.138.dist-info → dnastack_client_library-3.1.139.dist-info}/WHEEL +0 -0
- {dnastack_client_library-3.1.138.dist-info → dnastack_client_library-3.1.139.dist-info}/entry_points.txt +0 -0
- {dnastack_client_library-3.1.138.dist-info → dnastack_client_library-3.1.139.dist-info}/licenses/LICENSE +0 -0
- {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
|
dnastack/alpha/app/workbench.py
CHANGED
|
@@ -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
|
|
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,
|
|
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,
|
|
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,
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
515
|
+
if cls is str:
|
|
516
516
|
return ''
|
|
517
|
-
elif cls
|
|
517
|
+
elif cls is int or cls is float:
|
|
518
518
|
return 0
|
|
519
|
-
elif cls
|
|
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
|
|
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
|
|
@@ -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
|
|
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,
|
|
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
|
|
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
|
|
dnastack/cli/core/styling.py
CHANGED
dnastack/cli/core/themes.py
CHANGED
|
@@ -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,
|
|
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
|
|
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
|
|
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()
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
@@ -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
|
|
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
|
|
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,
|
|
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(
|
|
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(
|
|
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
|
|
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
|
|
129
|
+
except ValueError:
|
|
125
130
|
return False
|
|
126
131
|
|
|
127
132
|
|
dnastack/common/logger.py
CHANGED
dnastack/constants.py
CHANGED
|
@@ -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(
|
|
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'] =
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
186
|
+
logger.debug('AUTH: no authenticators configured')
|
|
187
187
|
else:
|
|
188
|
-
logger.debug(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
{dnastack_client_library-3.1.138.dist-info → dnastack_client_library-3.1.139.dist-info}/RECORD
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
dnastack/__init__.py,sha256=
|
|
1
|
+
dnastack/__init__.py,sha256=mslf7se8vBSK_HkqWTGPdibeVhT4xyKXgzQBV7dEK1M,333
|
|
2
2
|
dnastack/__main__.py,sha256=3rydT8oj5G1IN0asiqv9oaQw2xmyIlVge8c8wUjo0HA,3532
|
|
3
|
-
dnastack/constants.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
99
|
-
dnastack/cli/core/styling.py,sha256=
|
|
100
|
-
dnastack/cli/core/themes.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
154
|
-
dnastack/common/logger.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
183
|
-
dnastack/http/authenticators/oauth2_adapter/device_code_flow.py,sha256=
|
|
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.
|
|
187
|
-
dnastack_client_library-3.1.
|
|
188
|
-
dnastack_client_library-3.1.
|
|
189
|
-
dnastack_client_library-3.1.
|
|
190
|
-
dnastack_client_library-3.1.
|
|
191
|
-
dnastack_client_library-3.1.
|
|
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,,
|
{dnastack_client_library-3.1.138.dist-info → dnastack_client_library-3.1.139.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|