esd-services-api-client 2.5.9a138.dev3__tar.gz → 2.5.10a140.dev3__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 (58) hide show
  1. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/PKG-INFO +1 -1
  2. esd_services_api_client-2.5.10a140.dev3/esd_services_api_client/_version.py +1 -0
  3. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/core/app_core.py +3 -3
  4. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/core/app_dependencies.py +2 -2
  5. esd_services_api_client-2.5.10a140.dev3/esd_services_api_client/nexus/modules/__init__.py +20 -0
  6. esd_services_api_client-2.5.10a140.dev3/esd_services_api_client/nexus/modules/astra_client_module.py +67 -0
  7. esd_services_api_client-2.5.10a140.dev3/esd_services_api_client/nexus/modules/mlflow_module.py +43 -0
  8. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/pyproject.toml +1 -1
  9. esd_services_api_client-2.5.9a138.dev3/esd_services_api_client/_version.py +0 -1
  10. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/LICENSE +0 -0
  11. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/README.md +0 -0
  12. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/__init__.py +0 -0
  13. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/beast/__init__.py +0 -0
  14. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/beast/v3/__init__.py +0 -0
  15. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/beast/v3/_connector.py +0 -0
  16. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/beast/v3/_models.py +0 -0
  17. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/boxer/README.md +0 -0
  18. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/boxer/__init__.py +0 -0
  19. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/boxer/_auth.py +0 -0
  20. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/boxer/_base.py +0 -0
  21. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/boxer/_connector.py +0 -0
  22. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/boxer/_models.py +0 -0
  23. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/common/__init__.py +0 -0
  24. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/crystal/__init__.py +0 -0
  25. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/crystal/_api_versions.py +0 -0
  26. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/crystal/_connector.py +0 -0
  27. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/crystal/_models.py +0 -0
  28. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/README.md +0 -0
  29. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/__init__.py +0 -0
  30. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/abstractions/__init__.py +0 -0
  31. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/abstractions/algrorithm_cache.py +0 -0
  32. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/abstractions/input_object.py +0 -0
  33. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/abstractions/logger_factory.py +0 -0
  34. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/abstractions/nexus_object.py +0 -0
  35. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/abstractions/socket_provider.py +0 -0
  36. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/algorithms/__init__.py +0 -0
  37. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/algorithms/_baseline_algorithm.py +0 -0
  38. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/algorithms/_remote_algorithm.py +0 -0
  39. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/algorithms/distributed.py +0 -0
  40. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/algorithms/forked_algorithm.py +0 -0
  41. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/algorithms/minimalistic.py +0 -0
  42. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/algorithms/recursive.py +0 -0
  43. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/configurations/__init__.py +0 -0
  44. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/configurations/algorithm_configuration.py +0 -0
  45. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/core/__init__.py +0 -0
  46. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/core/serializers.py +0 -0
  47. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/exceptions/__init__.py +0 -0
  48. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/exceptions/_nexus_error.py +0 -0
  49. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/exceptions/cache_errors.py +0 -0
  50. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/exceptions/input_reader_error.py +0 -0
  51. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/exceptions/startup_error.py +0 -0
  52. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/input/__init__.py +0 -0
  53. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/input/input_processor.py +0 -0
  54. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/input/input_reader.py +0 -0
  55. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/input/payload_reader.py +0 -0
  56. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/telemetry/__init__.py +0 -0
  57. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/telemetry/recorder.py +0 -0
  58. {esd_services_api_client-2.5.9a138.dev3 → esd_services_api_client-2.5.10a140.dev3}/esd_services_api_client/nexus/telemetry/user_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.5.9a138.dev3
3
+ Version: 2.5.10a140.dev3
4
4
  Summary: Python clients for ESD services
5
5
  License: Apache 2.0
6
6
  Author: ECCO Sneaks & Data
@@ -0,0 +1 @@
1
+ __version__ = 'v2.5.10a140.dev3'
@@ -188,11 +188,11 @@ class Nexus:
188
188
 
189
189
  return self
190
190
 
191
- def inject_module(self, module: Type[Module]) -> "Nexus":
191
+ def with_module(self, module: Type[Module]) -> "Nexus":
192
192
  """
193
- Injects a (custom) DI module into the DI container.
193
+ Adds a (custom) DI module into the DI container.
194
194
  """
195
- self._configurator = self._configurator.inject_module(module)
195
+ self._configurator = self._configurator.with_module(module)
196
196
  return self
197
197
 
198
198
  async def _submit_result(
@@ -255,9 +255,9 @@ class ServiceConfigurator:
255
255
  """
256
256
  return self._injection_binds
257
257
 
258
- def inject_module(self, module: Type[Module]) -> "ServiceConfigurator":
258
+ def with_module(self, module: Type[Module]) -> "ServiceConfigurator":
259
259
  """
260
- Injects a (custom) module into the DI container.
260
+ Adds a (custom) module into the DI container.
261
261
  """
262
262
  self._injection_binds.append(module())
263
263
  return self
@@ -0,0 +1,20 @@
1
+ # Copyright (c) 2023-2024. ECCO Sneaks & Data
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+
16
+ """
17
+ Import index.
18
+ """
19
+
20
+ from esd_services_api_client.nexus.modules.mlflow_module import MlflowModule
@@ -0,0 +1,67 @@
1
+ # Copyright (c) 2023-2024. ECCO Sneaks & Data
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+
16
+ """
17
+ Astra Client module that provides the astra client to the Nexus framework.
18
+ """
19
+
20
+ import os
21
+ from typing import final
22
+
23
+ from adapta.storage.distributed_object_store import AstraClient
24
+ from injector import Module, singleton, provider
25
+
26
+ from esd_services_api_client.nexus.exceptions.startup_error import FatalStartupConfigurationError
27
+
28
+
29
+ @final
30
+ class AstraClientModule(Module):
31
+ """
32
+ Astra Client module.
33
+ """
34
+
35
+ @singleton
36
+ @provider
37
+ def provide(self) -> AstraClient:
38
+ """
39
+ DI factory method.
40
+ """
41
+ missing_env_vars = []
42
+
43
+ if "CRYSTAL__ALGORITHM_NAME" not in os.environ:
44
+ missing_env_vars.append("CRYSTAL__ALGORITHM_NAME")
45
+
46
+ if "CRYSTAL__ASTRA_KEYSPACE" not in os.environ:
47
+ missing_env_vars.append("CRYSTAL__ASTRA_KEYSPACE")
48
+
49
+ if "PROTEUS__ASTRA_BUNDLE_BYTES" not in os.environ:
50
+ missing_env_vars.append("PROTEUS__ASTRA_BUNDLE_BYTES")
51
+
52
+ if "PROTEUS__ASTRA_CLIENT_ID" not in os.environ:
53
+ missing_env_vars.append("PROTEUS__ASTRA_CLIENT_ID")
54
+
55
+ if "PROTEUS__ASTRA_CLIENT_SECRET" not in os.environ:
56
+ missing_env_vars.append("PROTEUS__ASTRA_CLIENT_SECRET")
57
+
58
+ if missing_env_vars:
59
+ raise FatalStartupConfigurationError(', '.join(missing_env_vars))
60
+
61
+ return AstraClient(
62
+ client_name=os.getenv("CRYSTAL__ALGORITHM_NAME"),
63
+ keyspace=os.getenv("CRYSTAL__ASTRA_KEYSPACE"),
64
+ secure_connect_bundle_bytes=os.getenv("PROTEUS__ASTRA_BUNDLE_BYTES"),
65
+ client_id=os.getenv("PROTEUS__ASTRA_CLIENT_ID"),
66
+ client_secret=os.getenv("PROTEUS__ASTRA_CLIENT_SECRET"),
67
+ )
@@ -0,0 +1,43 @@
1
+ # Copyright (c) 2023-2024. ECCO Sneaks & Data
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+
16
+ """
17
+ MLFlow module that provides the MLFlow client to the Nexus framework.
18
+ """
19
+
20
+ import os
21
+ from typing import final
22
+ from injector import Module, singleton, provider
23
+ from adapta.ml.mlflow import MlflowBasicClient
24
+ from esd_services_api_client.nexus.exceptions.startup_error import (
25
+ FatalStartupConfigurationError,
26
+ )
27
+
28
+
29
+ @final
30
+ class MlflowModule(Module):
31
+ """
32
+ MLFlow module.
33
+ """
34
+
35
+ @singleton
36
+ @provider
37
+ def provide(self) -> MlflowBasicClient:
38
+ """
39
+ DI factory method.
40
+ """
41
+ if "NEXUS__MLFLOW_TRACKING_URI" not in os.environ:
42
+ raise FatalStartupConfigurationError("NEXUS__MLFLOW_TRACKING_URI")
43
+ return MlflowBasicClient(os.environ["NEXUS__MLFLOW_TRACKING_URI"])
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "esd-services-api-client"
3
- version = "v2.5.9a138.dev3"
3
+ version = "v2.5.10a140.dev3"
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.9a138.dev3'