esd-services-api-client 2.5.10a140.dev5__tar.gz → 2.5.11__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.5.10a140.dev5 → esd_services_api_client-2.5.11}/PKG-INFO +1 -1
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/__init__.py +1 -1
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/modules/__init__.py +4 -1
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/modules/astra_client_module.py +19 -25
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/telemetry/recorder.py +0 -1
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/telemetry/user_telemetry_recorder.py +9 -4
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/pyproject.toml +1 -1
- esd_services_api_client-2.5.10a140.dev5/esd_services_api_client/_version.py +0 -1
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/LICENSE +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/README.md +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/beast/__init__.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/beast/v3/__init__.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/beast/v3/_connector.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/beast/v3/_models.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/boxer/README.md +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/boxer/__init__.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/boxer/_auth.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/boxer/_base.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/boxer/_connector.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/boxer/_models.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/common/__init__.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/crystal/__init__.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/crystal/_api_versions.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/crystal/_connector.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/crystal/_models.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/README.md +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/__init__.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/abstractions/__init__.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/abstractions/algrorithm_cache.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/abstractions/input_object.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/abstractions/logger_factory.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/abstractions/nexus_object.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/abstractions/socket_provider.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/algorithms/__init__.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/algorithms/_baseline_algorithm.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/algorithms/_remote_algorithm.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/algorithms/distributed.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/algorithms/forked_algorithm.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/algorithms/minimalistic.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/algorithms/recursive.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/configurations/__init__.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/configurations/algorithm_configuration.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/core/__init__.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/core/app_core.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/core/app_dependencies.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/core/serializers.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/exceptions/__init__.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/exceptions/_nexus_error.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/exceptions/cache_errors.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/exceptions/input_reader_error.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/exceptions/startup_error.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/input/__init__.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/input/input_processor.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/input/input_reader.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/input/payload_reader.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/modules/mlflow_module.py +0 -0
- {esd_services_api_client-2.5.10a140.dev5 → esd_services_api_client-2.5.11}/esd_services_api_client/nexus/telemetry/__init__.py +0 -0
@@ -17,5 +17,8 @@
|
|
17
17
|
Import index.
|
18
18
|
"""
|
19
19
|
|
20
|
-
|
20
|
+
try:
|
21
|
+
from esd_services_api_client.nexus.modules.mlflow_module import MlflowModule
|
22
|
+
except ModuleNotFoundError:
|
23
|
+
pass
|
21
24
|
from esd_services_api_client.nexus.modules.astra_client_module import AstraClientModule
|
@@ -40,30 +40,24 @@ class AstraClientModule(Module):
|
|
40
40
|
"""
|
41
41
|
DI factory method.
|
42
42
|
"""
|
43
|
-
missing_env_vars = []
|
44
43
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
client_name=os.getenv("CRYSTAL__ALGORITHM_NAME"),
|
65
|
-
keyspace=os.getenv("CRYSTAL__ASTRA_KEYSPACE"),
|
66
|
-
secure_connect_bundle_bytes=os.getenv("PROTEUS__ASTRA_BUNDLE_BYTES"),
|
67
|
-
client_id=os.getenv("PROTEUS__ASTRA_CLIENT_ID"),
|
68
|
-
client_secret=os.getenv("PROTEUS__ASTRA_CLIENT_SECRET"),
|
44
|
+
required_env_vars = [
|
45
|
+
"NEXUS__ALGORITHM_NAME",
|
46
|
+
"NEXUS__ASTRA_KEYSPACE",
|
47
|
+
"NEXUS__ASTRA_BUNDLE_BYTES",
|
48
|
+
"NEXUS__ASTRA_CLIENT_ID",
|
49
|
+
"NEXUS__ASTRA_CLIENT_SECRET",
|
50
|
+
]
|
51
|
+
|
52
|
+
if all(map(lambda v: v in os.environ, required_env_vars)):
|
53
|
+
return AstraClient(
|
54
|
+
client_name=os.getenv("NEXUS__ALGORITHM_NAME"),
|
55
|
+
keyspace=os.getenv("NEXUS__ASTRA_KEYSPACE"),
|
56
|
+
secure_connect_bundle_bytes=os.getenv("NEXUS__ASTRA_BUNDLE_BYTES"),
|
57
|
+
client_id=os.getenv("NEXUS__ASTRA_CLIENT_ID"),
|
58
|
+
client_secret=os.getenv("NEXUS__ASTRA_CLIENT_SECRET"),
|
59
|
+
)
|
60
|
+
|
61
|
+
raise FatalStartupConfigurationError(
|
62
|
+
f"Astra client requires these environment variables: {required_env_vars}"
|
69
63
|
)
|
@@ -107,7 +107,7 @@ class UserTelemetryRecorder(Generic[TPayload, TResult], ABC):
|
|
107
107
|
telemetry_base_path: str,
|
108
108
|
run_id: str,
|
109
109
|
**inputs: DataFrame,
|
110
|
-
):
|
110
|
+
) -> None:
|
111
111
|
"""
|
112
112
|
Record user-defined telemetry data.
|
113
113
|
"""
|
@@ -119,10 +119,10 @@ class UserTelemetryRecorder(Generic[TPayload, TResult], ABC):
|
|
119
119
|
"recorder": self.__class__.alias().upper(),
|
120
120
|
},
|
121
121
|
)
|
122
|
-
async def _measured_recording(**run_args) -> UserTelemetry:
|
122
|
+
async def _measured_recording(**run_args) -> UserTelemetry | None:
|
123
123
|
return await self._compute(**run_args)
|
124
124
|
|
125
|
-
telemetry: UserTelemetry = await partial(
|
125
|
+
telemetry: UserTelemetry | None = await partial(
|
126
126
|
_measured_recording,
|
127
127
|
**(
|
128
128
|
{
|
@@ -137,6 +137,12 @@ class UserTelemetryRecorder(Generic[TPayload, TResult], ABC):
|
|
137
137
|
logger=self._logger,
|
138
138
|
)()
|
139
139
|
|
140
|
+
if telemetry is None:
|
141
|
+
self._logger.info(
|
142
|
+
f"No telemetry to record for UserTelemetryRecorder {self.__class__.alias()}"
|
143
|
+
)
|
144
|
+
return
|
145
|
+
|
140
146
|
self._storage_client.save_data_as_blob(
|
141
147
|
data=telemetry.telemetry,
|
142
148
|
blob_path=DataSocket(
|
@@ -146,7 +152,6 @@ class UserTelemetryRecorder(Generic[TPayload, TResult], ABC):
|
|
146
152
|
"telemetry_group=user",
|
147
153
|
f"recorder_class={self.__class__.alias()}",
|
148
154
|
telemetry.telemetry_path, # path join eliminates empty segments
|
149
|
-
f"request_id={run_id}",
|
150
155
|
run_id,
|
151
156
|
),
|
152
157
|
data_format="null",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "esd-services-api-client"
|
3
|
-
version = "
|
3
|
+
version = "2.5.11"
|
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>']
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = 'v2.5.10a140.dev5'
|
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
|
File without changes
|
File without changes
|
File without changes
|