esd-services-api-client 2.5.1a123.dev3__tar.gz → 2.5.2__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.
Files changed (54) hide show
  1. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/PKG-INFO +1 -1
  2. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/__init__.py +1 -1
  3. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/core/app_core.py +4 -0
  4. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/telemetry/recorder.py +25 -23
  5. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/telemetry/user_telemetry_recorder.py +6 -4
  6. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/pyproject.toml +1 -1
  7. esd_services_api_client-2.5.1a123.dev3/esd_services_api_client/_version.py +0 -1
  8. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/LICENSE +0 -0
  9. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/README.md +0 -0
  10. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/beast/__init__.py +0 -0
  11. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/beast/v3/__init__.py +0 -0
  12. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/beast/v3/_connector.py +0 -0
  13. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/beast/v3/_models.py +0 -0
  14. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/boxer/README.md +0 -0
  15. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/boxer/__init__.py +0 -0
  16. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/boxer/_auth.py +0 -0
  17. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/boxer/_base.py +0 -0
  18. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/boxer/_connector.py +0 -0
  19. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/boxer/_models.py +0 -0
  20. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/common/__init__.py +0 -0
  21. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/crystal/__init__.py +0 -0
  22. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/crystal/_api_versions.py +0 -0
  23. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/crystal/_connector.py +0 -0
  24. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/crystal/_models.py +0 -0
  25. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/README.md +0 -0
  26. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/__init__.py +0 -0
  27. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/abstractions/__init__.py +0 -0
  28. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/abstractions/algrorithm_cache.py +0 -0
  29. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/abstractions/input_object.py +0 -0
  30. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/abstractions/logger_factory.py +0 -0
  31. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/abstractions/nexus_object.py +0 -0
  32. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/abstractions/socket_provider.py +0 -0
  33. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/algorithms/__init__.py +0 -0
  34. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/algorithms/_baseline_algorithm.py +0 -0
  35. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/algorithms/_remote_algorithm.py +0 -0
  36. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/algorithms/distributed.py +0 -0
  37. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/algorithms/forked_algorithm.py +0 -0
  38. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/algorithms/minimalistic.py +0 -0
  39. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/algorithms/recursive.py +0 -0
  40. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/configurations/__init__.py +0 -0
  41. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/configurations/algorithm_configuration.py +0 -0
  42. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/core/__init__.py +0 -0
  43. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/core/app_dependencies.py +0 -0
  44. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/core/serializers.py +0 -0
  45. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/exceptions/__init__.py +0 -0
  46. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/exceptions/_nexus_error.py +0 -0
  47. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/exceptions/cache_errors.py +0 -0
  48. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/exceptions/input_reader_error.py +0 -0
  49. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/exceptions/startup_error.py +0 -0
  50. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/input/__init__.py +0 -0
  51. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/input/input_processor.py +0 -0
  52. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/input/input_reader.py +0 -0
  53. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/input/payload_reader.py +0 -0
  54. {esd_services_api_client-2.5.1a123.dev3 → esd_services_api_client-2.5.2}/esd_services_api_client/nexus/telemetry/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: esd-services-api-client
3
- Version: 2.5.1a123.dev3
3
+ Version: 2.5.2
4
4
  Summary: Python clients for ESD services
5
5
  Home-page: https://github.com/SneaksAndData/esd-services-api-client
6
6
  License: Apache 2.0
@@ -17,4 +17,4 @@
17
17
  Root index.
18
18
  """
19
19
 
20
- __version__ = "0.0.0"
20
+ __version__ = "2.5.2"
@@ -264,6 +264,8 @@ class Nexus:
264
264
  logger_type=self.__class__,
265
265
  )
266
266
 
267
+ root_logger.start()
268
+
267
269
  root_logger.info(
268
270
  "Running algorithm {algorithm} on Nexus version {version}",
269
271
  algorithm=algorithm.__class__.__name__,
@@ -322,6 +324,8 @@ class Nexus:
322
324
  qes = self._injector.get(QueryEnabledStore)
323
325
  qes.close()
324
326
 
327
+ root_logger.stop()
328
+
325
329
  @classmethod
326
330
  def create(cls) -> "Nexus":
327
331
  """
@@ -67,32 +67,34 @@ class TelemetryRecorder(NexusCoreObject):
67
67
  entity_name=entity_name,
68
68
  run_id=run_id,
69
69
  )
70
- if not isinstance(entity_to_record, dict) and not isinstance(
71
- entity_to_record, DataFrame
72
- ):
70
+
71
+ try:
72
+ serialization_format = self._serializer.get_serialization_format(
73
+ entity_to_record
74
+ )
75
+ except KeyError:
73
76
  self._logger.warning(
74
- "Unsupported data type: {telemetry_entity_type}. Telemetry recording skipped.",
75
- telemetry_entity_type=type(entity_to_record),
77
+ "No telemetry serialization format injected for data type: {telemetry_entity_type}. Telemetry recording skipped.",
78
+ telemetry_entity_type=str(type(entity_to_record)),
76
79
  )
77
- else:
78
- self._storage_client.save_data_as_blob(
79
- data=entity_to_record,
80
- blob_path=DataSocket(
81
- alias="telemetry",
82
- data_path=os.path.join(
83
- self._telemetry_base_path,
84
- "telemetry_group=inputs",
85
- f"entity_name={entity_name}",
86
- f"request_id={run_id}",
87
- run_id,
88
- ),
89
- data_format="null",
90
- ).parse_data_path(),
91
- serialization_format=self._serializer.get_serialization_format(
92
- entity_to_record
80
+ return
81
+
82
+ self._storage_client.save_data_as_blob(
83
+ data=entity_to_record,
84
+ blob_path=DataSocket(
85
+ alias="telemetry",
86
+ data_path=os.path.join(
87
+ self._telemetry_base_path,
88
+ "telemetry_group=inputs",
89
+ f"entity_name={entity_name}",
90
+ f"request_id={run_id}",
91
+ run_id,
93
92
  ),
94
- overwrite=True,
95
- )
93
+ data_format="null",
94
+ ).parse_data_path(),
95
+ serialization_format=serialization_format,
96
+ overwrite=True,
97
+ )
96
98
 
97
99
  telemetry_tasks = [
98
100
  asyncio.create_task(
@@ -12,12 +12,12 @@ from pandas import DataFrame
12
12
 
13
13
  from adapta.process_communication import DataSocket
14
14
  from adapta.storage.blob.base import StorageClient
15
- from adapta.logs import LoggerInterface
16
15
  from adapta.metrics import MetricsProvider
17
16
  from adapta.utils.decorators import run_time_metrics_async
18
17
  from dataclasses_json.stringcase import snakecase
19
18
  from injector import inject
20
19
 
20
+ from esd_services_api_client.nexus.abstractions.logger_factory import LoggerFactory
21
21
  from esd_services_api_client.nexus.abstractions.nexus_object import TPayload, TResult
22
22
  from esd_services_api_client.nexus.core.serializers import TelemetrySerializer
23
23
 
@@ -75,12 +75,12 @@ class UserTelemetryRecorder(Generic[TPayload, TResult], ABC):
75
75
  self,
76
76
  algorithm_payload: TPayload,
77
77
  metrics_provider: MetricsProvider,
78
- logger: LoggerInterface,
78
+ logger_factory: LoggerFactory,
79
79
  storage_client: StorageClient,
80
80
  serializer: TelemetrySerializer,
81
81
  ):
82
82
  self._metrics_provider = metrics_provider
83
- self._logger = logger
83
+ self._logger = logger_factory.create_logger(logger_type=self.__class__)
84
84
  self._payload = algorithm_payload
85
85
  self._storage_client = storage_client
86
86
  self._serializer = serializer
@@ -151,7 +151,9 @@ class UserTelemetryRecorder(Generic[TPayload, TResult], ABC):
151
151
  ),
152
152
  data_format="null",
153
153
  ).parse_data_path(),
154
- serialization_format=self._serializer.get_serialization_format(telemetry),
154
+ serialization_format=self._serializer.get_serialization_format(
155
+ telemetry.telemetry
156
+ ),
155
157
  overwrite=True,
156
158
  )
157
159
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "esd-services-api-client"
3
- version = "v2.5.1a123.dev3"
3
+ version = "2.5.2"
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.1a123.dev3'