indexify 0.2.16__tar.gz → 0.2.17__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 (32) hide show
  1. {indexify-0.2.16 → indexify-0.2.17}/PKG-INFO +1 -1
  2. {indexify-0.2.16 → indexify-0.2.17}/indexify/cli.py +1 -1
  3. {indexify-0.2.16 → indexify-0.2.17}/indexify/executor/function_worker.py +4 -16
  4. {indexify-0.2.16 → indexify-0.2.17}/indexify/functions_sdk/graph.py +15 -14
  5. {indexify-0.2.16 → indexify-0.2.17}/pyproject.toml +1 -1
  6. {indexify-0.2.16 → indexify-0.2.17}/LICENSE.txt +0 -0
  7. {indexify-0.2.16 → indexify-0.2.17}/README.md +0 -0
  8. {indexify-0.2.16 → indexify-0.2.17}/indexify/__init__.py +0 -0
  9. {indexify-0.2.16 → indexify-0.2.17}/indexify/data_loaders/__init__.py +0 -0
  10. {indexify-0.2.16 → indexify-0.2.17}/indexify/data_loaders/local_directory_loader.py +0 -0
  11. {indexify-0.2.16 → indexify-0.2.17}/indexify/data_loaders/url_loader.py +0 -0
  12. {indexify-0.2.16 → indexify-0.2.17}/indexify/error.py +0 -0
  13. {indexify-0.2.16 → indexify-0.2.17}/indexify/executor/agent.py +0 -0
  14. {indexify-0.2.16 → indexify-0.2.17}/indexify/executor/api_objects.py +0 -0
  15. {indexify-0.2.16 → indexify-0.2.17}/indexify/executor/downloader.py +0 -0
  16. {indexify-0.2.16 → indexify-0.2.17}/indexify/executor/executor_tasks.py +0 -0
  17. {indexify-0.2.16 → indexify-0.2.17}/indexify/executor/indexify_executor.py +0 -0
  18. {indexify-0.2.16 → indexify-0.2.17}/indexify/executor/runtime_probes.py +0 -0
  19. {indexify-0.2.16 → indexify-0.2.17}/indexify/executor/task_reporter.py +0 -0
  20. {indexify-0.2.16 → indexify-0.2.17}/indexify/executor/task_store.py +0 -0
  21. {indexify-0.2.16 → indexify-0.2.17}/indexify/functions_sdk/data_objects.py +0 -0
  22. {indexify-0.2.16 → indexify-0.2.17}/indexify/functions_sdk/graph_definition.py +0 -0
  23. {indexify-0.2.16 → indexify-0.2.17}/indexify/functions_sdk/graph_validation.py +0 -0
  24. {indexify-0.2.16 → indexify-0.2.17}/indexify/functions_sdk/image.py +0 -0
  25. {indexify-0.2.16 → indexify-0.2.17}/indexify/functions_sdk/indexify_functions.py +0 -0
  26. {indexify-0.2.16 → indexify-0.2.17}/indexify/functions_sdk/local_cache.py +0 -0
  27. {indexify-0.2.16 → indexify-0.2.17}/indexify/functions_sdk/object_serializer.py +0 -0
  28. {indexify-0.2.16 → indexify-0.2.17}/indexify/functions_sdk/pipeline.py +0 -0
  29. {indexify-0.2.16 → indexify-0.2.17}/indexify/http_client.py +0 -0
  30. {indexify-0.2.16 → indexify-0.2.17}/indexify/remote_graph.py +0 -0
  31. {indexify-0.2.16 → indexify-0.2.17}/indexify/remote_pipeline.py +0 -0
  32. {indexify-0.2.16 → indexify-0.2.17}/indexify/settings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: indexify
3
- Version: 0.2.16
3
+ Version: 0.2.17
4
4
  Summary: Python Client for Indexify
5
5
  Home-page: https://github.com/tensorlakeai/indexify
6
6
  License: Apache 2.0
@@ -261,7 +261,7 @@ WORKDIR /app
261
261
  docker_file += f"\nRUN pip install indexify"
262
262
 
263
263
  console.print("Creating image using Dockerfile contents:", style="cyan bold")
264
- console.print(f"{docker_file}", style="magenta")
264
+ print(f"{docker_file}")
265
265
 
266
266
  client = docker.from_env()
267
267
  image_name = f"{image._image_name}:{image._tag}"
@@ -62,6 +62,7 @@ class FunctionWorker:
62
62
  self._executor: concurrent.futures.ProcessPoolExecutor = (
63
63
  concurrent.futures.ProcessPoolExecutor(max_workers=workers)
64
64
  )
65
+ self._workers = workers
65
66
 
66
67
  async def async_submit(
67
68
  self,
@@ -74,22 +75,9 @@ class FunctionWorker:
74
75
  init_value: Optional[IndexifyData] = None,
75
76
  ) -> FunctionWorkerOutput:
76
77
  try:
77
- result = await asyncio.get_running_loop().run_in_executor(
78
- self._executor,
79
- _run_function,
80
- namespace,
81
- graph_name,
82
- fn_name,
83
- input,
84
- code_path,
85
- version,
86
- init_value,
87
- )
88
- except BrokenProcessPool as mp:
89
- self._executor.shutdown(wait=True, cancel_futures=True)
90
- traceback.print_exc()
91
- raise mp
92
- except FunctionRunException as e:
78
+ result = _run_function(namespace, graph_name, fn_name, input, code_path, version, init_value)
79
+ # TODO - bring back running in a separate process
80
+ except Exception as e:
93
81
  return FunctionWorkerOutput(
94
82
  exception=str(e),
95
83
  stdout=e.stdout,
@@ -229,12 +229,12 @@ class Graph:
229
229
  cached_output_bytes: Optional[bytes] = self._cache.get(
230
230
  self.name, node_name, input_bytes
231
231
  )
232
- if cached_output_bytes is not None and enable_cache:
233
- print(
234
- f"ran {node_name}: num outputs: {len(cached_output_bytes)} (cache hit)"
235
- )
232
+ if cached_output_bytes is not None and enable_cache:
236
233
  function_outputs: List[IndexifyData] = []
237
234
  cached_output_list = serializer.deserialize_list(cached_output_bytes)
235
+ print(
236
+ f"ran {node_name}: num outputs: {len(cached_output_list)} (cache hit)"
237
+ )
238
238
  if accumulator_values.get(node_name, None) is not None:
239
239
  accumulator_values[node_name] = cached_output_list[-1].model_copy()
240
240
  outputs[node_name] = []
@@ -250,16 +250,17 @@ class Graph:
250
250
  if accumulator_values.get(node_name, None) is not None:
251
251
  accumulator_values[node_name] = function_outputs[-1].model_copy()
252
252
  outputs[node_name] = []
253
- outputs[node_name].extend(function_outputs)
254
- function_outputs_bytes: List[bytes] = [
255
- serializer.serialize_list(function_outputs)
256
- ]
257
- self._cache.set(
258
- self.name,
259
- node_name,
260
- input_bytes,
261
- function_outputs_bytes,
262
- )
253
+ if function_outputs:
254
+ outputs[node_name].extend(function_outputs)
255
+ function_outputs_bytes: List[bytes] = [
256
+ serializer.serialize_list(function_outputs)
257
+ ]
258
+ self._cache.set(
259
+ self.name,
260
+ node_name,
261
+ input_bytes,
262
+ function_outputs_bytes,
263
+ )
263
264
  if accumulator_values.get(node_name, None) is not None and queue:
264
265
  print(
265
266
  f"accumulator not none for {node_name}, continuing, len queue: {len(queue)}"
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "indexify"
3
- version = "0.2.16"
3
+ version = "0.2.17"
4
4
  description = "Python Client for Indexify"
5
5
  authors = ["Tensorlake Inc. <support@tensorlake.ai>"]
6
6
  license = "Apache 2.0"
File without changes
File without changes
File without changes