esd-services-api-client 2.5.4__tar.gz → 2.5.6__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 (53) hide show
  1. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/PKG-INFO +2 -3
  2. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/__init__.py +1 -1
  3. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/algorithms/__init__.py +1 -0
  4. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/algorithms/_remote_algorithm.py +2 -0
  5. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/algorithms/forked_algorithm.py +6 -3
  6. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/pyproject.toml +1 -1
  7. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/LICENSE +0 -0
  8. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/README.md +0 -0
  9. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/beast/__init__.py +0 -0
  10. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/beast/v3/__init__.py +0 -0
  11. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/beast/v3/_connector.py +0 -0
  12. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/beast/v3/_models.py +0 -0
  13. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/boxer/README.md +0 -0
  14. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/boxer/__init__.py +0 -0
  15. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/boxer/_auth.py +0 -0
  16. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/boxer/_base.py +0 -0
  17. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/boxer/_connector.py +0 -0
  18. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/boxer/_models.py +0 -0
  19. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/common/__init__.py +0 -0
  20. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/crystal/__init__.py +0 -0
  21. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/crystal/_api_versions.py +0 -0
  22. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/crystal/_connector.py +0 -0
  23. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/crystal/_models.py +0 -0
  24. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/README.md +0 -0
  25. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/__init__.py +0 -0
  26. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/abstractions/__init__.py +0 -0
  27. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/abstractions/algrorithm_cache.py +0 -0
  28. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/abstractions/input_object.py +0 -0
  29. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/abstractions/logger_factory.py +0 -0
  30. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/abstractions/nexus_object.py +0 -0
  31. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/abstractions/socket_provider.py +0 -0
  32. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/algorithms/_baseline_algorithm.py +0 -0
  33. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/algorithms/distributed.py +0 -0
  34. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/algorithms/minimalistic.py +0 -0
  35. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/algorithms/recursive.py +0 -0
  36. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/configurations/__init__.py +0 -0
  37. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/configurations/algorithm_configuration.py +0 -0
  38. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/core/__init__.py +0 -0
  39. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/core/app_core.py +0 -0
  40. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/core/app_dependencies.py +0 -0
  41. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/core/serializers.py +0 -0
  42. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/exceptions/__init__.py +0 -0
  43. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/exceptions/_nexus_error.py +0 -0
  44. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/exceptions/cache_errors.py +0 -0
  45. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/exceptions/input_reader_error.py +0 -0
  46. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/exceptions/startup_error.py +0 -0
  47. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/input/__init__.py +0 -0
  48. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/input/input_processor.py +0 -0
  49. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/input/input_reader.py +0 -0
  50. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/input/payload_reader.py +0 -0
  51. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/telemetry/__init__.py +0 -0
  52. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/telemetry/recorder.py +0 -0
  53. {esd_services_api_client-2.5.4 → esd_services_api_client-2.5.6}/esd_services_api_client/nexus/telemetry/user_telemetry_recorder.py +0 -0
@@ -1,8 +1,7 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: esd-services-api-client
3
- Version: 2.5.4
3
+ Version: 2.5.6
4
4
  Summary: Python clients for ESD services
5
- Home-page: https://github.com/SneaksAndData/esd-services-api-client
6
5
  License: Apache 2.0
7
6
  Author: ECCO Sneaks & Data
8
7
  Author-email: esdsupport@ecco.com
@@ -17,4 +17,4 @@
17
17
  Root index.
18
18
  """
19
19
 
20
- __version__ = "2.5.4"
20
+ __version__ = "2.5.6"
@@ -21,3 +21,4 @@ from esd_services_api_client.nexus.algorithms.minimalistic import *
21
21
  from esd_services_api_client.nexus.algorithms.recursive import *
22
22
  from esd_services_api_client.nexus.algorithms.distributed import *
23
23
  from esd_services_api_client.nexus.algorithms._baseline_algorithm import *
24
+ from esd_services_api_client.nexus.algorithms._remote_algorithm import *
@@ -23,6 +23,7 @@ from functools import partial
23
23
 
24
24
  from adapta.metrics import MetricsProvider
25
25
  from adapta.utils.decorators import run_time_metrics_async
26
+ from injector import inject
26
27
 
27
28
  from esd_services_api_client.crystal import CrystalConnector, AlgorithmConfiguration
28
29
  from esd_services_api_client.nexus.abstractions.algrorithm_cache import InputCache
@@ -43,6 +44,7 @@ class RemoteAlgorithm(NexusObject[TPayload, AlgorithmResult]):
43
44
  Base class for all algorithm implementations.
44
45
  """
45
46
 
47
+ @inject
46
48
  def __init__(
47
49
  self,
48
50
  metrics_provider: MetricsProvider,
@@ -143,13 +143,15 @@ class ForkedAlgorithm(NexusObject[TPayload, AlgorithmResult]):
143
143
 
144
144
  return await self._main_run(**run_args)
145
145
 
146
- if self._is_forked(**kwargs):
146
+ if await self._is_forked(**kwargs):
147
147
  self._inputs = await self._fork_inputs(**kwargs)
148
148
  else:
149
149
  self._inputs = await self._main_inputs(**kwargs)
150
150
 
151
151
  # evaluate if additional forks will be spawned
152
- forks = await partial(self._get_forks, **self._inputs, **kwargs)()
152
+ forks: list[RemoteAlgorithm] = await partial(
153
+ self._get_forks, **self._inputs, **kwargs
154
+ )()
153
155
 
154
156
  if len(forks) > 0:
155
157
  self._logger.info(
@@ -161,6 +163,7 @@ class ForkedAlgorithm(NexusObject[TPayload, AlgorithmResult]):
161
163
 
162
164
  run_result = await partial(
163
165
  _measured_run,
166
+ **kwargs,
164
167
  **self._inputs,
165
168
  metric_tags=self._metric_tags,
166
169
  metrics_provider=self._metrics_provider,
@@ -168,6 +171,6 @@ class ForkedAlgorithm(NexusObject[TPayload, AlgorithmResult]):
168
171
  )()
169
172
 
170
173
  # now await callback scheduling
171
- await asyncio.wait([fork.run(**kwargs) for fork in forks])
174
+ await asyncio.wait([asyncio.create_task(fork.run(**kwargs)) for fork in forks])
172
175
 
173
176
  return run_result
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "esd-services-api-client"
3
- version = "2.5.4"
3
+ version = "2.5.6"
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>']