esd-services-api-client 2.6.2a150.dev14__tar.gz → 2.6.2a158.dev2__tar.gz
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.
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/PKG-INFO +2 -2
- esd_services_api_client-2.6.2a158.dev2/esd_services_api_client/_version.py +1 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/beast/v3/_connector.py +0 -1
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/crystal/_connector.py +0 -1
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/algorithms/_remote_algorithm.py +0 -1
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/core/app_core.py +1 -6
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/core/serializers.py +5 -5
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/input/payload_reader.py +3 -11
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/telemetry/user_telemetry_recorder.py +7 -6
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/pyproject.toml +2 -2
- esd_services_api_client-2.6.2a150.dev14/esd_services_api_client/_version.py +0 -1
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/LICENSE +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/README.md +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/beast/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/beast/v3/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/beast/v3/_models.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/boxer/README.md +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/boxer/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/boxer/_auth.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/boxer/_base.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/boxer/_connector.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/boxer/_models.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/common/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/crystal/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/crystal/_api_versions.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/crystal/_models.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/README.md +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/abstractions/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/abstractions/algrorithm_cache.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/abstractions/input_object.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/abstractions/logger_factory.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/abstractions/nexus_object.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/abstractions/socket_provider.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/algorithms/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/algorithms/_baseline_algorithm.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/algorithms/distributed.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/algorithms/forked_algorithm.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/algorithms/minimalistic.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/algorithms/recursive.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/configurations/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/configurations/algorithm_configuration.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/core/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/core/app_dependencies.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/exceptions/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/exceptions/_nexus_error.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/exceptions/cache_errors.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/exceptions/input_reader_error.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/exceptions/startup_error.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/input/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/input/input_processor.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/input/input_reader.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/modules/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/modules/astra_client_module.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/modules/mlflow_module.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/telemetry/__init__.py +0 -0
- {esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/esd_services_api_client/nexus/telemetry/recorder.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: esd-services-api-client
|
3
|
-
Version: 2.6.
|
3
|
+
Version: 2.6.2a158.dev2
|
4
4
|
Summary: Python clients for ESD services
|
5
5
|
License: Apache 2.0
|
6
6
|
Author: ECCO Sneaks & Data
|
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 3
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.11
|
14
14
|
Provides-Extra: azure
|
15
15
|
Provides-Extra: nexus
|
16
|
-
Requires-Dist: adapta[datadog,storage] (>=3.3
|
16
|
+
Requires-Dist: adapta[datadog,storage] (>=3.4,<3.5)
|
17
17
|
Requires-Dist: azure-identity (>=1.7,<1.8) ; extra == "azure"
|
18
18
|
Requires-Dist: dataclasses-json (>=0.6.0,<0.7.0)
|
19
19
|
Requires-Dist: httpx (>=0.27.0,<0.28.0) ; extra == "nexus"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = 'v2.6.2a158.dev2'
|
@@ -220,7 +220,6 @@ class BeastConnector:
|
|
220
220
|
f"Execution failed, please find request's log at: {self.base_url}/job/logs/{request_id}"
|
221
221
|
)
|
222
222
|
|
223
|
-
# pylint: disable=too-many-positional-arguments
|
224
223
|
@staticmethod
|
225
224
|
def _report_backoff_failure(
|
226
225
|
target: Any, args: Any, kwargs: Any, tries: int, elapsed: int, wait: int, **_
|
@@ -328,9 +328,7 @@ class Nexus:
|
|
328
328
|
if not self._log_enricher
|
329
329
|
else self._log_enricher(payload, self._run_args),
|
330
330
|
fixed_template_delimiter=self._log_enrichment_delimiter,
|
331
|
-
global_tags=self._log_tagger(payload, self._run_args)
|
332
|
-
if self._log_tagger
|
333
|
-
else None,
|
331
|
+
global_tags=self._log_tagger(payload, self._run_args),
|
334
332
|
)
|
335
333
|
# bind app-level LoggerFactory now
|
336
334
|
self._injector.binder.bind(
|
@@ -425,9 +423,6 @@ class Nexus:
|
|
425
423
|
|
426
424
|
root_logger.stop()
|
427
425
|
|
428
|
-
if os.getenv("NEXUS__RAISE_ERROR_ON_COMPLETE") and ex is not None:
|
429
|
-
raise ex
|
430
|
-
|
431
426
|
@classmethod
|
432
427
|
def create(cls) -> "Nexus":
|
433
428
|
"""
|
@@ -2,10 +2,10 @@
|
|
2
2
|
from typing import final, Any, TypeVar, Type
|
3
3
|
|
4
4
|
import pandas
|
5
|
-
from adapta.storage.models.format import
|
6
|
-
|
5
|
+
from adapta.storage.models.format import SerializationFormat
|
6
|
+
from adapta.storage.models.formatters import (
|
7
|
+
PandasDataFrameParquetSerializationFormat,
|
7
8
|
DictJsonSerializationFormat,
|
8
|
-
SerializationFormat,
|
9
9
|
)
|
10
10
|
|
11
11
|
T = TypeVar("T") # pylint: disable=C0103
|
@@ -59,7 +59,7 @@ class TelemetrySerializer(Serializer):
|
|
59
59
|
def __init__(self):
|
60
60
|
super().__init__(
|
61
61
|
default_serialization_formats={
|
62
|
-
pandas.DataFrame:
|
62
|
+
pandas.DataFrame: PandasDataFrameParquetSerializationFormat,
|
63
63
|
dict: DictJsonSerializationFormat,
|
64
64
|
}
|
65
65
|
)
|
@@ -72,7 +72,7 @@ class ResultSerializer(Serializer):
|
|
72
72
|
def __init__(self):
|
73
73
|
super().__init__(
|
74
74
|
default_serialization_formats={
|
75
|
-
pandas.DataFrame:
|
75
|
+
pandas.DataFrame: PandasDataFrameParquetSerializationFormat,
|
76
76
|
dict: DictJsonSerializationFormat,
|
77
77
|
}
|
78
78
|
)
|
@@ -1,7 +1,6 @@
|
|
1
1
|
"""
|
2
2
|
Code infrastructure for manipulating payload received from Crystal SAS URI
|
3
3
|
"""
|
4
|
-
import os
|
5
4
|
|
6
5
|
# Copyright (c) 2023-2024. ECCO Sneaks & Data
|
7
6
|
#
|
@@ -22,7 +21,7 @@ from dataclasses import dataclass
|
|
22
21
|
|
23
22
|
from typing import final, Optional, Type
|
24
23
|
|
25
|
-
from adapta.storage.models.
|
24
|
+
from adapta.storage.models.formatters import DictJsonSerializationFormat
|
26
25
|
from adapta.utils import session_with_retries
|
27
26
|
|
28
27
|
from dataclasses_json import DataClassJsonMixin
|
@@ -63,15 +62,8 @@ class AlgorithmPayloadReader:
|
|
63
62
|
self._http.close()
|
64
63
|
self._http = None
|
65
64
|
|
66
|
-
def __init__(
|
67
|
-
self
|
68
|
-
payload_uri: str,
|
69
|
-
payload_type: Type[AlgorithmPayload],
|
70
|
-
):
|
71
|
-
self._http = session_with_retries(
|
72
|
-
file_protocol_supported=os.getenv("NEXUS__SUPPORT_FILE_PROTOCOL_PAYLOADS")
|
73
|
-
is not None
|
74
|
-
)
|
65
|
+
def __init__(self, payload_uri: str, payload_type: Type[AlgorithmPayload]):
|
66
|
+
self._http = session_with_retries()
|
75
67
|
self._payload: Optional[AlgorithmPayload] = None
|
76
68
|
self._payload_uri = payload_uri
|
77
69
|
self._payload_type = payload_type
|
@@ -43,7 +43,9 @@ class UserTelemetry:
|
|
43
43
|
"""
|
44
44
|
|
45
45
|
def __init__(
|
46
|
-
self,
|
46
|
+
self,
|
47
|
+
telemetry: DataFrame,
|
48
|
+
*telemetry_path_segments: UserTelemetryPathSegment,
|
47
49
|
):
|
48
50
|
self._telemetry = telemetry
|
49
51
|
self._telemetry_path_segments = telemetry_path_segments
|
@@ -70,7 +72,6 @@ class UserTelemetryRecorder(Generic[TPayload, TResult], ABC):
|
|
70
72
|
Base class for user-defined telemetry recorders.
|
71
73
|
"""
|
72
74
|
|
73
|
-
# pylint: disable=too-many-positional-arguments
|
74
75
|
@inject
|
75
76
|
def __init__(
|
76
77
|
self,
|
@@ -144,6 +145,8 @@ class UserTelemetryRecorder(Generic[TPayload, TResult], ABC):
|
|
144
145
|
)
|
145
146
|
return
|
146
147
|
|
148
|
+
serializer = self._serializer.get_serialization_format(telemetry.telemetry)
|
149
|
+
|
147
150
|
self._storage_client.save_data_as_blob(
|
148
151
|
data=telemetry.telemetry,
|
149
152
|
blob_path=DataSocket(
|
@@ -153,13 +156,11 @@ class UserTelemetryRecorder(Generic[TPayload, TResult], ABC):
|
|
153
156
|
"telemetry_group=user",
|
154
157
|
f"recorder_class={self.__class__.alias()}",
|
155
158
|
telemetry.telemetry_path, # path join eliminates empty segments
|
156
|
-
run_id,
|
159
|
+
serializer.get_output_name(output_name=run_id),
|
157
160
|
),
|
158
161
|
data_format="null",
|
159
162
|
).parse_data_path(),
|
160
|
-
serialization_format=
|
161
|
-
telemetry.telemetry
|
162
|
-
),
|
163
|
+
serialization_format=serializer,
|
163
164
|
overwrite=True,
|
164
165
|
)
|
165
166
|
|
{esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/pyproject.toml
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "esd-services-api-client"
|
3
|
-
version = "v2.6.
|
3
|
+
version = "v2.6.2a158.dev2"
|
4
4
|
description = "Python clients for ESD services"
|
5
5
|
authors = ["ECCO Sneaks & Data <esdsupport@ecco.com>"]
|
6
6
|
maintainers = ['GZU <gzu@ecco.com>', 'JRB <ext-jrb@ecco.com>', 'VISA <visa@ecco.com>']
|
@@ -10,7 +10,7 @@ repository = 'https://github.com/SneaksAndData/esd-services-api-client'
|
|
10
10
|
|
11
11
|
[tool.poetry.dependencies]
|
12
12
|
python = ">=3.11,<3.12"
|
13
|
-
adapta = { version = "
|
13
|
+
adapta = { version = "~3.4", extras = ["storage", "datadog"] }
|
14
14
|
dataclasses-json = "^0.6.0"
|
15
15
|
pycryptodome = "~3.15"
|
16
16
|
azure-identity = { version = "~1.7", optional = true }
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = 'v2.6.2a150.dev14'
|
File without changes
|
{esd_services_api_client-2.6.2a150.dev14 → esd_services_api_client-2.6.2a158.dev2}/README.md
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|