indexify 0.3.18__py3-none-any.whl → 0.3.20__py3-none-any.whl

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 (35) hide show
  1. indexify/cli/cli.py +15 -17
  2. indexify/executor/api_objects.py +12 -0
  3. indexify/executor/blob_store/blob_store.py +69 -0
  4. indexify/executor/blob_store/local_fs_blob_store.py +48 -0
  5. indexify/executor/blob_store/metrics/blob_store.py +33 -0
  6. indexify/executor/blob_store/s3_blob_store.py +85 -0
  7. indexify/executor/downloader.py +149 -25
  8. indexify/executor/executor.py +77 -41
  9. indexify/executor/function_executor/function_executor.py +24 -11
  10. indexify/executor/function_executor/function_executor_state.py +9 -1
  11. indexify/executor/function_executor/function_executor_states_container.py +8 -1
  12. indexify/executor/function_executor/function_executor_status.py +4 -0
  13. indexify/executor/function_executor/health_checker.py +7 -2
  14. indexify/executor/function_executor/invocation_state_client.py +4 -2
  15. indexify/executor/function_executor/server/subprocess_function_executor_server_factory.py +6 -0
  16. indexify/executor/function_executor/single_task_runner.py +15 -11
  17. indexify/executor/function_executor/task_output.py +36 -2
  18. indexify/executor/grpc/channel_manager.py +4 -3
  19. indexify/executor/grpc/function_executor_controller.py +391 -0
  20. indexify/executor/grpc/metrics/state_reconciler.py +17 -0
  21. indexify/executor/grpc/metrics/task_controller.py +8 -0
  22. indexify/executor/grpc/state_reconciler.py +324 -217
  23. indexify/executor/grpc/state_reporter.py +52 -41
  24. indexify/executor/grpc/task_controller.py +492 -0
  25. indexify/executor/metrics/task_reporter.py +14 -0
  26. indexify/executor/task_reporter.py +115 -6
  27. indexify/executor/task_runner.py +1 -0
  28. indexify/proto/executor_api.proto +91 -7
  29. indexify/proto/executor_api_pb2.py +49 -37
  30. indexify/proto/executor_api_pb2.pyi +158 -3
  31. indexify/proto/executor_api_pb2_grpc.py +47 -0
  32. {indexify-0.3.18.dist-info → indexify-0.3.20.dist-info}/METADATA +2 -1
  33. {indexify-0.3.18.dist-info → indexify-0.3.20.dist-info}/RECORD +35 -27
  34. {indexify-0.3.18.dist-info → indexify-0.3.20.dist-info}/WHEEL +0 -0
  35. {indexify-0.3.18.dist-info → indexify-0.3.20.dist-info}/entry_points.txt +0 -0
@@ -11,6 +11,13 @@ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
11
11
 
12
12
  DESCRIPTOR: _descriptor.FileDescriptor
13
13
 
14
+ class DataPayloadEncoding(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
15
+ __slots__ = ()
16
+ DATA_PAYLOAD_ENCODING_UNKNOWN: _ClassVar[DataPayloadEncoding]
17
+ DATA_PAYLOAD_ENCODING_UTF8_JSON: _ClassVar[DataPayloadEncoding]
18
+ DATA_PAYLOAD_ENCODING_UTF8_TEXT: _ClassVar[DataPayloadEncoding]
19
+ DATA_PAYLOAD_ENCODING_BINARY_PICKLE: _ClassVar[DataPayloadEncoding]
20
+
14
21
  class GPUModel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
15
22
  __slots__ = ()
16
23
  GPU_MODEL_UNKNOWN: _ClassVar[GPUModel]
@@ -40,6 +47,7 @@ class FunctionExecutorStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
40
47
  FUNCTION_EXECUTOR_STATUS_UNHEALTHY: _ClassVar[FunctionExecutorStatus]
41
48
  FUNCTION_EXECUTOR_STATUS_STOPPING: _ClassVar[FunctionExecutorStatus]
42
49
  FUNCTION_EXECUTOR_STATUS_STOPPED: _ClassVar[FunctionExecutorStatus]
50
+ FUNCTION_EXECUTOR_STATUS_SHUTDOWN: _ClassVar[FunctionExecutorStatus]
43
51
 
44
52
  class ExecutorStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
45
53
  __slots__ = ()
@@ -56,6 +64,23 @@ class ExecutorFlavor(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
56
64
  EXECUTOR_FLAVOR_OSS: _ClassVar[ExecutorFlavor]
57
65
  EXECUTOR_FLAVOR_PLATFORM: _ClassVar[ExecutorFlavor]
58
66
 
67
+ class TaskOutcome(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
68
+ __slots__ = ()
69
+ TASK_OUTCOME_UNKNOWN: _ClassVar[TaskOutcome]
70
+ TASK_OUTCOME_SUCCESS: _ClassVar[TaskOutcome]
71
+ TASK_OUTCOME_FAILURE: _ClassVar[TaskOutcome]
72
+
73
+ class OutputEncoding(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
74
+ __slots__ = ()
75
+ OUTPUT_ENCODING_UNKNOWN: _ClassVar[OutputEncoding]
76
+ OUTPUT_ENCODING_JSON: _ClassVar[OutputEncoding]
77
+ OUTPUT_ENCODING_PICKLE: _ClassVar[OutputEncoding]
78
+ OUTPUT_ENCODING_BINARY: _ClassVar[OutputEncoding]
79
+
80
+ DATA_PAYLOAD_ENCODING_UNKNOWN: DataPayloadEncoding
81
+ DATA_PAYLOAD_ENCODING_UTF8_JSON: DataPayloadEncoding
82
+ DATA_PAYLOAD_ENCODING_UTF8_TEXT: DataPayloadEncoding
83
+ DATA_PAYLOAD_ENCODING_BINARY_PICKLE: DataPayloadEncoding
59
84
  GPU_MODEL_UNKNOWN: GPUModel
60
85
  GPU_MODEL_NVIDIA_TESLA_T4_16GB: GPUModel
61
86
  GPU_MODEL_NVIDIA_TESLA_V100_16GB: GPUModel
@@ -76,6 +101,7 @@ FUNCTION_EXECUTOR_STATUS_RUNNING_TASK: FunctionExecutorStatus
76
101
  FUNCTION_EXECUTOR_STATUS_UNHEALTHY: FunctionExecutorStatus
77
102
  FUNCTION_EXECUTOR_STATUS_STOPPING: FunctionExecutorStatus
78
103
  FUNCTION_EXECUTOR_STATUS_STOPPED: FunctionExecutorStatus
104
+ FUNCTION_EXECUTOR_STATUS_SHUTDOWN: FunctionExecutorStatus
79
105
  EXECUTOR_STATUS_UNKNOWN: ExecutorStatus
80
106
  EXECUTOR_STATUS_STARTING_UP: ExecutorStatus
81
107
  EXECUTOR_STATUS_RUNNING: ExecutorStatus
@@ -85,6 +111,37 @@ EXECUTOR_STATUS_STOPPED: ExecutorStatus
85
111
  EXECUTOR_FLAVOR_UNKNOWN: ExecutorFlavor
86
112
  EXECUTOR_FLAVOR_OSS: ExecutorFlavor
87
113
  EXECUTOR_FLAVOR_PLATFORM: ExecutorFlavor
114
+ TASK_OUTCOME_UNKNOWN: TaskOutcome
115
+ TASK_OUTCOME_SUCCESS: TaskOutcome
116
+ TASK_OUTCOME_FAILURE: TaskOutcome
117
+ OUTPUT_ENCODING_UNKNOWN: OutputEncoding
118
+ OUTPUT_ENCODING_JSON: OutputEncoding
119
+ OUTPUT_ENCODING_PICKLE: OutputEncoding
120
+ OUTPUT_ENCODING_BINARY: OutputEncoding
121
+
122
+ class DataPayload(_message.Message):
123
+ __slots__ = ("path", "size", "sha256_hash", "uri", "encoding", "encoding_version")
124
+ PATH_FIELD_NUMBER: _ClassVar[int]
125
+ SIZE_FIELD_NUMBER: _ClassVar[int]
126
+ SHA256_HASH_FIELD_NUMBER: _ClassVar[int]
127
+ URI_FIELD_NUMBER: _ClassVar[int]
128
+ ENCODING_FIELD_NUMBER: _ClassVar[int]
129
+ ENCODING_VERSION_FIELD_NUMBER: _ClassVar[int]
130
+ path: str
131
+ size: int
132
+ sha256_hash: str
133
+ uri: str
134
+ encoding: DataPayloadEncoding
135
+ encoding_version: int
136
+ def __init__(
137
+ self,
138
+ path: _Optional[str] = ...,
139
+ size: _Optional[int] = ...,
140
+ sha256_hash: _Optional[str] = ...,
141
+ uri: _Optional[str] = ...,
142
+ encoding: _Optional[_Union[DataPayloadEncoding, str]] = ...,
143
+ encoding_version: _Optional[int] = ...,
144
+ ) -> None: ...
88
145
 
89
146
  class GPUResources(_message.Message):
90
147
  __slots__ = ("count", "model")
@@ -142,6 +199,8 @@ class FunctionExecutorDescription(_message.Message):
142
199
  "image_uri",
143
200
  "secret_names",
144
201
  "resource_limits",
202
+ "customer_code_timeout_ms",
203
+ "graph",
145
204
  )
146
205
  ID_FIELD_NUMBER: _ClassVar[int]
147
206
  NAMESPACE_FIELD_NUMBER: _ClassVar[int]
@@ -151,6 +210,8 @@ class FunctionExecutorDescription(_message.Message):
151
210
  IMAGE_URI_FIELD_NUMBER: _ClassVar[int]
152
211
  SECRET_NAMES_FIELD_NUMBER: _ClassVar[int]
153
212
  RESOURCE_LIMITS_FIELD_NUMBER: _ClassVar[int]
213
+ CUSTOMER_CODE_TIMEOUT_MS_FIELD_NUMBER: _ClassVar[int]
214
+ GRAPH_FIELD_NUMBER: _ClassVar[int]
154
215
  id: str
155
216
  namespace: str
156
217
  graph_name: str
@@ -159,6 +220,8 @@ class FunctionExecutorDescription(_message.Message):
159
220
  image_uri: str
160
221
  secret_names: _containers.RepeatedScalarFieldContainer[str]
161
222
  resource_limits: HostResources
223
+ customer_code_timeout_ms: int
224
+ graph: DataPayload
162
225
  def __init__(
163
226
  self,
164
227
  id: _Optional[str] = ...,
@@ -169,18 +232,23 @@ class FunctionExecutorDescription(_message.Message):
169
232
  image_uri: _Optional[str] = ...,
170
233
  secret_names: _Optional[_Iterable[str]] = ...,
171
234
  resource_limits: _Optional[_Union[HostResources, _Mapping]] = ...,
235
+ customer_code_timeout_ms: _Optional[int] = ...,
236
+ graph: _Optional[_Union[DataPayload, _Mapping]] = ...,
172
237
  ) -> None: ...
173
238
 
174
239
  class FunctionExecutorState(_message.Message):
175
- __slots__ = ("description", "status")
240
+ __slots__ = ("description", "status", "status_message")
176
241
  DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
177
242
  STATUS_FIELD_NUMBER: _ClassVar[int]
243
+ STATUS_MESSAGE_FIELD_NUMBER: _ClassVar[int]
178
244
  description: FunctionExecutorDescription
179
245
  status: FunctionExecutorStatus
246
+ status_message: str
180
247
  def __init__(
181
248
  self,
182
249
  description: _Optional[_Union[FunctionExecutorDescription, _Mapping]] = ...,
183
250
  status: _Optional[_Union[FunctionExecutorStatus, str]] = ...,
251
+ status_message: _Optional[str] = ...,
184
252
  ) -> None: ...
185
253
 
186
254
  class ExecutorState(_message.Message):
@@ -196,6 +264,7 @@ class ExecutorState(_message.Message):
196
264
  "function_executor_states",
197
265
  "labels",
198
266
  "state_hash",
267
+ "server_clock",
199
268
  )
200
269
 
201
270
  class LabelsEntry(_message.Message):
@@ -219,6 +288,7 @@ class ExecutorState(_message.Message):
219
288
  FUNCTION_EXECUTOR_STATES_FIELD_NUMBER: _ClassVar[int]
220
289
  LABELS_FIELD_NUMBER: _ClassVar[int]
221
290
  STATE_HASH_FIELD_NUMBER: _ClassVar[int]
291
+ SERVER_CLOCK_FIELD_NUMBER: _ClassVar[int]
222
292
  executor_id: str
223
293
  development_mode: bool
224
294
  hostname: str
@@ -232,6 +302,7 @@ class ExecutorState(_message.Message):
232
302
  ]
233
303
  labels: _containers.ScalarMap[str, str]
234
304
  state_hash: str
305
+ server_clock: int
235
306
  def __init__(
236
307
  self,
237
308
  executor_id: _Optional[str] = ...,
@@ -249,6 +320,7 @@ class ExecutorState(_message.Message):
249
320
  ] = ...,
250
321
  labels: _Optional[_Mapping[str, str]] = ...,
251
322
  state_hash: _Optional[str] = ...,
323
+ server_clock: _Optional[int] = ...,
252
324
  ) -> None: ...
253
325
 
254
326
  class ReportExecutorStateRequest(_message.Message):
@@ -274,6 +346,9 @@ class Task(_message.Message):
274
346
  "input_key",
275
347
  "reducer_output_key",
276
348
  "timeout_ms",
349
+ "input",
350
+ "reducer_input",
351
+ "output_payload_uri_prefix",
277
352
  )
278
353
  ID_FIELD_NUMBER: _ClassVar[int]
279
354
  NAMESPACE_FIELD_NUMBER: _ClassVar[int]
@@ -284,6 +359,9 @@ class Task(_message.Message):
284
359
  INPUT_KEY_FIELD_NUMBER: _ClassVar[int]
285
360
  REDUCER_OUTPUT_KEY_FIELD_NUMBER: _ClassVar[int]
286
361
  TIMEOUT_MS_FIELD_NUMBER: _ClassVar[int]
362
+ INPUT_FIELD_NUMBER: _ClassVar[int]
363
+ REDUCER_INPUT_FIELD_NUMBER: _ClassVar[int]
364
+ OUTPUT_PAYLOAD_URI_PREFIX_FIELD_NUMBER: _ClassVar[int]
287
365
  id: str
288
366
  namespace: str
289
367
  graph_name: str
@@ -292,7 +370,10 @@ class Task(_message.Message):
292
370
  graph_invocation_id: str
293
371
  input_key: str
294
372
  reducer_output_key: str
295
- timeout_ms: str
373
+ timeout_ms: int
374
+ input: DataPayload
375
+ reducer_input: DataPayload
376
+ output_payload_uri_prefix: str
296
377
  def __init__(
297
378
  self,
298
379
  id: _Optional[str] = ...,
@@ -303,7 +384,10 @@ class Task(_message.Message):
303
384
  graph_invocation_id: _Optional[str] = ...,
304
385
  input_key: _Optional[str] = ...,
305
386
  reducer_output_key: _Optional[str] = ...,
306
- timeout_ms: _Optional[str] = ...,
387
+ timeout_ms: _Optional[int] = ...,
388
+ input: _Optional[_Union[DataPayload, _Mapping]] = ...,
389
+ reducer_input: _Optional[_Union[DataPayload, _Mapping]] = ...,
390
+ output_payload_uri_prefix: _Optional[str] = ...,
307
391
  ) -> None: ...
308
392
 
309
393
  class TaskAllocation(_message.Message):
@@ -342,3 +426,74 @@ class DesiredExecutorState(_message.Message):
342
426
  task_allocations: _Optional[_Iterable[_Union[TaskAllocation, _Mapping]]] = ...,
343
427
  clock: _Optional[int] = ...,
344
428
  ) -> None: ...
429
+
430
+ class ReportTaskOutcomeRequest(_message.Message):
431
+ __slots__ = (
432
+ "task_id",
433
+ "namespace",
434
+ "graph_name",
435
+ "function_name",
436
+ "graph_invocation_id",
437
+ "outcome",
438
+ "invocation_id",
439
+ "executor_id",
440
+ "reducer",
441
+ "next_functions",
442
+ "fn_outputs",
443
+ "stdout",
444
+ "stderr",
445
+ "output_encoding",
446
+ "output_encoding_version",
447
+ )
448
+ TASK_ID_FIELD_NUMBER: _ClassVar[int]
449
+ NAMESPACE_FIELD_NUMBER: _ClassVar[int]
450
+ GRAPH_NAME_FIELD_NUMBER: _ClassVar[int]
451
+ FUNCTION_NAME_FIELD_NUMBER: _ClassVar[int]
452
+ GRAPH_INVOCATION_ID_FIELD_NUMBER: _ClassVar[int]
453
+ OUTCOME_FIELD_NUMBER: _ClassVar[int]
454
+ INVOCATION_ID_FIELD_NUMBER: _ClassVar[int]
455
+ EXECUTOR_ID_FIELD_NUMBER: _ClassVar[int]
456
+ REDUCER_FIELD_NUMBER: _ClassVar[int]
457
+ NEXT_FUNCTIONS_FIELD_NUMBER: _ClassVar[int]
458
+ FN_OUTPUTS_FIELD_NUMBER: _ClassVar[int]
459
+ STDOUT_FIELD_NUMBER: _ClassVar[int]
460
+ STDERR_FIELD_NUMBER: _ClassVar[int]
461
+ OUTPUT_ENCODING_FIELD_NUMBER: _ClassVar[int]
462
+ OUTPUT_ENCODING_VERSION_FIELD_NUMBER: _ClassVar[int]
463
+ task_id: str
464
+ namespace: str
465
+ graph_name: str
466
+ function_name: str
467
+ graph_invocation_id: str
468
+ outcome: TaskOutcome
469
+ invocation_id: str
470
+ executor_id: str
471
+ reducer: bool
472
+ next_functions: _containers.RepeatedScalarFieldContainer[str]
473
+ fn_outputs: _containers.RepeatedCompositeFieldContainer[DataPayload]
474
+ stdout: DataPayload
475
+ stderr: DataPayload
476
+ output_encoding: OutputEncoding
477
+ output_encoding_version: int
478
+ def __init__(
479
+ self,
480
+ task_id: _Optional[str] = ...,
481
+ namespace: _Optional[str] = ...,
482
+ graph_name: _Optional[str] = ...,
483
+ function_name: _Optional[str] = ...,
484
+ graph_invocation_id: _Optional[str] = ...,
485
+ outcome: _Optional[_Union[TaskOutcome, str]] = ...,
486
+ invocation_id: _Optional[str] = ...,
487
+ executor_id: _Optional[str] = ...,
488
+ reducer: bool = ...,
489
+ next_functions: _Optional[_Iterable[str]] = ...,
490
+ fn_outputs: _Optional[_Iterable[_Union[DataPayload, _Mapping]]] = ...,
491
+ stdout: _Optional[_Union[DataPayload, _Mapping]] = ...,
492
+ stderr: _Optional[_Union[DataPayload, _Mapping]] = ...,
493
+ output_encoding: _Optional[_Union[OutputEncoding, str]] = ...,
494
+ output_encoding_version: _Optional[int] = ...,
495
+ ) -> None: ...
496
+
497
+ class ReportTaskOutcomeResponse(_message.Message):
498
+ __slots__ = ()
499
+ def __init__(self) -> None: ...
@@ -56,6 +56,12 @@ class ExecutorAPIStub(object):
56
56
  response_deserializer=indexify_dot_proto_dot_executor__api__pb2.DesiredExecutorState.FromString,
57
57
  _registered_method=True,
58
58
  )
59
+ self.report_task_outcome = channel.unary_unary(
60
+ "/executor_api_pb.ExecutorAPI/report_task_outcome",
61
+ request_serializer=indexify_dot_proto_dot_executor__api__pb2.ReportTaskOutcomeRequest.SerializeToString,
62
+ response_deserializer=indexify_dot_proto_dot_executor__api__pb2.ReportTaskOutcomeResponse.FromString,
63
+ _registered_method=True,
64
+ )
59
65
 
60
66
 
61
67
  class ExecutorAPIServicer(object):
@@ -86,6 +92,12 @@ class ExecutorAPIServicer(object):
86
92
  context.set_details("Method not implemented!")
87
93
  raise NotImplementedError("Method not implemented!")
88
94
 
95
+ def report_task_outcome(self, request, context):
96
+ """Report the outcome of a task."""
97
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
98
+ context.set_details("Method not implemented!")
99
+ raise NotImplementedError("Method not implemented!")
100
+
89
101
 
90
102
  def add_ExecutorAPIServicer_to_server(servicer, server):
91
103
  rpc_method_handlers = {
@@ -99,6 +111,11 @@ def add_ExecutorAPIServicer_to_server(servicer, server):
99
111
  request_deserializer=indexify_dot_proto_dot_executor__api__pb2.GetDesiredExecutorStatesRequest.FromString,
100
112
  response_serializer=indexify_dot_proto_dot_executor__api__pb2.DesiredExecutorState.SerializeToString,
101
113
  ),
114
+ "report_task_outcome": grpc.unary_unary_rpc_method_handler(
115
+ servicer.report_task_outcome,
116
+ request_deserializer=indexify_dot_proto_dot_executor__api__pb2.ReportTaskOutcomeRequest.FromString,
117
+ response_serializer=indexify_dot_proto_dot_executor__api__pb2.ReportTaskOutcomeResponse.SerializeToString,
118
+ ),
102
119
  }
103
120
  generic_handler = grpc.method_handlers_generic_handler(
104
121
  "executor_api_pb.ExecutorAPI", rpc_method_handlers
@@ -178,3 +195,33 @@ class ExecutorAPI(object):
178
195
  metadata,
179
196
  _registered_method=True,
180
197
  )
198
+
199
+ @staticmethod
200
+ def report_task_outcome(
201
+ request,
202
+ target,
203
+ options=(),
204
+ channel_credentials=None,
205
+ call_credentials=None,
206
+ insecure=False,
207
+ compression=None,
208
+ wait_for_ready=None,
209
+ timeout=None,
210
+ metadata=None,
211
+ ):
212
+ return grpc.experimental.unary_unary(
213
+ request,
214
+ target,
215
+ "/executor_api_pb.ExecutorAPI/report_task_outcome",
216
+ indexify_dot_proto_dot_executor__api__pb2.ReportTaskOutcomeRequest.SerializeToString,
217
+ indexify_dot_proto_dot_executor__api__pb2.ReportTaskOutcomeResponse.FromString,
218
+ options,
219
+ channel_credentials,
220
+ insecure,
221
+ call_credentials,
222
+ compression,
223
+ wait_for_ready,
224
+ timeout,
225
+ metadata,
226
+ _registered_method=True,
227
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: indexify
3
- Version: 0.3.18
3
+ Version: 0.3.20
4
4
  Summary: Open Source Indexify components and helper tools
5
5
  Home-page: https://github.com/tensorlakeai/indexify
6
6
  License: Apache 2.0
@@ -15,6 +15,7 @@ Classifier: Programming Language :: Python :: 3.11
15
15
  Classifier: Programming Language :: Python :: 3.12
16
16
  Classifier: Programming Language :: Python :: 3.13
17
17
  Requires-Dist: aiohttp (>=3.11.0,<4.0.0)
18
+ Requires-Dist: boto3 (>=1.37.30,<2.0.0)
18
19
  Requires-Dist: prometheus-client (>=0.21.1,<0.22.0)
19
20
  Requires-Dist: rich (>=13.9.2,<14.0.0)
20
21
  Requires-Dist: tensorlake (>=0.1)
@@ -1,15 +1,19 @@
1
- indexify/cli/cli.py,sha256=YGIpXDtWnA3uj9VYhH8PeFGiRBbGBWLb8SyyzIVRKFg,9255
1
+ indexify/cli/cli.py,sha256=L-QVyRO-nGazfrdIbhxYvxMwhEnNjJ4H32Lw9pz464I,9345
2
2
  indexify/executor/README.md,sha256=ozC6_hMkhQQNVCMEpBxwiUALz6lwErPQxNxQfQDqnG4,2029
3
- indexify/executor/api_objects.py,sha256=oUlH-GQPuPmwgcBzMpI2HehXeElBTCULECk-oHiBHwU,1263
4
- indexify/executor/downloader.py,sha256=LkvAXfKxddnDzgfmwHcpDB_n795-eVKzn-hLjq4nUEM,9412
5
- indexify/executor/executor.py,sha256=0wsWDchr4ocLBk2JVVFEA9be-8Qz09kbxPLDUnrJuV0,15198
3
+ indexify/executor/api_objects.py,sha256=qKQMEjr18xIq7yjpnsLPnWXP4KsVQ9O76EsbYoaL_qQ,1507
4
+ indexify/executor/blob_store/blob_store.py,sha256=XViw_KRfFSNqwcFYwMZixZF-EYCjXK2AQHdt0xh4UVo,2368
5
+ indexify/executor/blob_store/local_fs_blob_store.py,sha256=hDZXrcjKmYoH7ob0AAZ-7Zz1aoksxD8ArQEzmUSjkY4,1807
6
+ indexify/executor/blob_store/metrics/blob_store.py,sha256=5_xiPREeHWFtxFh1NupDsF8zP4pmUPgLNNn-UE9Uzvc,1008
7
+ indexify/executor/blob_store/s3_blob_store.py,sha256=4Hn1r5XpiNdfa-buRge0hR36j8j3xmuQC-7noOoOFo0,3319
8
+ indexify/executor/downloader.py,sha256=0tRQY8jT03-R36bBo5MsoLjxkoehWCY9-61fsoW3Gng,13507
9
+ indexify/executor/executor.py,sha256=uZiERFDKBQLmfPgun6bxEN7JE-BEEqmdGwawLjTAjf0,16499
6
10
  indexify/executor/executor_flavor.py,sha256=uilzDQVVYlQGR1MVnrUC4NevUActDWHdnJkr38M6kTk,118
7
- indexify/executor/function_executor/function_executor.py,sha256=s1mc7g6b8ilc98Fp7RFElEBSLJl0UGNQY0iZzCpuR2A,11334
8
- indexify/executor/function_executor/function_executor_state.py,sha256=b2taGClg0BUnlD_rYGkpom6syXBMUp7UWWrjLrUCwyo,3966
9
- indexify/executor/function_executor/function_executor_states_container.py,sha256=RclJDJqIr8ywKipPBC6_idnPAqYi0dPa1d4QUAaXqbw,3460
10
- indexify/executor/function_executor/function_executor_status.py,sha256=U4p1fcdVWlHr7uPY7e7ZSb2_WelUmPeH-WgboQQ9mw4,3336
11
- indexify/executor/function_executor/health_checker.py,sha256=Fvd1gmrcjyJqP-8vcsUxfnTHQIMNlHeMWCS70PAVr9E,6095
12
- indexify/executor/function_executor/invocation_state_client.py,sha256=p-xgM4__cHR1ApvMV9hShrGWee_Je0VDhICZUGjpQY4,9644
11
+ indexify/executor/function_executor/function_executor.py,sha256=agfUxzSQ-2TqkpMhW3OvOSMF_EhpemetaL3_dYp29Ro,11888
12
+ indexify/executor/function_executor/function_executor_state.py,sha256=ljPm1IrRMJ8hFklwvFp7Xax2HMpUIOHm0DwOxxMcy7U,4336
13
+ indexify/executor/function_executor/function_executor_states_container.py,sha256=MFtHNMkzL3zzoa4YdWaw6X21dzo3P4vdEyJ_OKAuTlw,3766
14
+ indexify/executor/function_executor/function_executor_status.py,sha256=Ms8tHG0wlw__pToeQIfBV6SO9c4tPu3UQgJAwXUkg2M,3597
15
+ indexify/executor/function_executor/health_checker.py,sha256=EVA65Rn7eAC7HXzhZgScMDc57ODnvFopopdye7j1hfU,6254
16
+ indexify/executor/function_executor/invocation_state_client.py,sha256=VTpeNxxfsa0ej20Q_ker5RZVdHiu59HWd5qNOjo6DBQ,9800
13
17
  indexify/executor/function_executor/metrics/function_executor.py,sha256=TDksxLRJr-P9ZKhF2Orsaxzzb4lVIBxFEjd_9Zv53Ng,6313
14
18
  indexify/executor/function_executor/metrics/function_executor_state.py,sha256=qheMhnoiYLiZB7ky5EyegfDy4Mr0Zh83bOE0gJ38YmU,1607
15
19
  indexify/executor/function_executor/metrics/function_executor_state_container.py,sha256=6rrAfml-TivjkHatCM4BLY7jmVs523Wzb6QIysncc-0,302
@@ -20,19 +24,23 @@ indexify/executor/function_executor/server/client_configuration.py,sha256=gOywMu
20
24
  indexify/executor/function_executor/server/function_executor_server.py,sha256=_DLivLDikupZusRk8gVWDk7fWPT9XjZ4un1yWSlOObs,883
21
25
  indexify/executor/function_executor/server/function_executor_server_factory.py,sha256=cP93a3t1AfGx8qwageNLVdTwG52UOwzYNbbyrPq2TUQ,1692
22
26
  indexify/executor/function_executor/server/subprocess_function_executor_server.py,sha256=JekDOqF7oFD4J6zcN3xB0Dxd1cgpEXMOsb_rKZOeBlI,668
23
- indexify/executor/function_executor/server/subprocess_function_executor_server_factory.py,sha256=xbH0-73tBM-i0dh1x_k0fDrNAi8WgDKjqiQ9xveU4Zg,4214
24
- indexify/executor/function_executor/single_task_runner.py,sha256=iWnJsB2BGqdgAkrlJHbOvSIhVXc88X0AYbB2_o-bB-E,13547
27
+ indexify/executor/function_executor/server/subprocess_function_executor_server_factory.py,sha256=g1AUbhOoPsdhp_50Ayahdyv1Ix5-nEBE8orOQfkATpM,4470
28
+ indexify/executor/function_executor/single_task_runner.py,sha256=OY3a2znwtuv0_Pqn9r5ScGhekNn1OquznKmaGnQL71k,13979
25
29
  indexify/executor/function_executor/task_input.py,sha256=wSrHR4m0juiGClQyeVdhRC37QzDt6Rrjq-ZXJkfBi9k,584
26
- indexify/executor/function_executor/task_output.py,sha256=SQJSlrknB7Ylf5IOeINfBEgiplS5hAPJh1hYulhyvfU,1962
27
- indexify/executor/grpc/channel_manager.py,sha256=THamn5VghCxRkXDlu2WEXtC6-SNKGc0xoa718bw9A4k,6257
30
+ indexify/executor/function_executor/task_output.py,sha256=snh25Ynj7uss1SUIeivpDYWdRkODoDpdPrQrGvnjyIs,3077
31
+ indexify/executor/grpc/channel_manager.py,sha256=ihDkLoiGBLfSmoA2szbntjCfL3E_NDf5LABRXE7YRec,6330
32
+ indexify/executor/grpc/function_executor_controller.py,sha256=b_xqiXsA79yIMCHtRJv0i0px6QMToIj9nCTc_km9fHk,16070
28
33
  indexify/executor/grpc/metrics/channel_manager.py,sha256=k-WArgklmP5WhjcmFmrgRblB7yc3XlaOXO8owRyV-mw,649
34
+ indexify/executor/grpc/metrics/state_reconciler.py,sha256=0aI2IM4XztKxFa7NCxYSLafw_iiej3p07yEiKyewXIM,585
29
35
  indexify/executor/grpc/metrics/state_reporter.py,sha256=GggBEjMzQUYIG95LtTS4fUg1u9jYowkaXoUXppAXucs,543
30
- indexify/executor/grpc/state_reconciler.py,sha256=RvlY2k6QwxryjOYxhf1AMb1T8BRadEYzsU03mS0nQFY,13300
31
- indexify/executor/grpc/state_reporter.py,sha256=tpbg4A3nMyvwEsrYd-whET821a2ZuS8OLyu89Y3DvBw,9876
36
+ indexify/executor/grpc/metrics/task_controller.py,sha256=9Nm86nGxL2rZ3rAORB0_CBdO--Fe4MBrewVW4CqGyOU,222
37
+ indexify/executor/grpc/state_reconciler.py,sha256=Yx_r1oUBGWjHWqUSUhap2ALZpz_o1Ue-SdL7BOgWQQU,19273
38
+ indexify/executor/grpc/state_reporter.py,sha256=iixvl1nzJ_SfQhTUJpBEfiVlFPvOxQxvZyqT5Szk43Q,10503
39
+ indexify/executor/grpc/task_controller.py,sha256=IQkxKYfj8TLhmoLi4xDVjEKBZlK6ttP1w2a9kOlX58A,20277
32
40
  indexify/executor/metrics/downloader.py,sha256=lctPh8xjkXeLEFJnl1hNrD1yEhLhIl5sggsR4Yoe_Zc,2746
33
41
  indexify/executor/metrics/executor.py,sha256=ua-Vv_k1CB4juJdF7tEBQbBMksqWAA3iXKKMKXZUCLk,2369
34
42
  indexify/executor/metrics/task_fetcher.py,sha256=iJEwCLzYr2cuz7hRvNiqaa2nvQP4OrA0hm0iJY0YKG0,736
35
- indexify/executor/metrics/task_reporter.py,sha256=zUA9RpkSgx5lG_ZqDDuela5VuhtsnC0IKoQcEvHND0Y,730
43
+ indexify/executor/metrics/task_reporter.py,sha256=44VT_c7njXlTtPl4xjlsYrIHpaiVAnvhhQdj56RPU6o,1215
36
44
  indexify/executor/metrics/task_runner.py,sha256=ZGFrl7zzfUdgPZnklxRIbnv9wVcHIQRhOGNqn9V2hSk,2047
37
45
  indexify/executor/monitoring/function_allowlist.py,sha256=wUGeiv3aAGWMlQXzHXq9O6MVHby6Tu-zY4U0MyWiQu0,683
38
46
  indexify/executor/monitoring/handler.py,sha256=Cj1cu_LcsAP0tdviqNhoEtGm4h0OJAxxzW9C2YdNXYU,240
@@ -45,13 +53,13 @@ indexify/executor/monitoring/server.py,sha256=yzdYhcxnmY6uTQUMt3vatF5jilN52ZtfFs
45
53
  indexify/executor/monitoring/startup_probe_handler.py,sha256=zXXsBU15SMlBx1bSFpxWDfed1VHtKKnwvLQ8-frpG98,425
46
54
  indexify/executor/runtime_probes.py,sha256=bo6Dq6AGZpJH099j0DHtVSDEH80tv3j9MXf3VXSx_p8,2182
47
55
  indexify/executor/task_fetcher.py,sha256=p3iEsWyGi0ZMPAv0183smzOUD1KycQ_dXsyd9mpB9IU,3529
48
- indexify/executor/task_reporter.py,sha256=0D6ToLhDvd9U0ZPRaDMsZJYBsdzZUqcdkpIxHDUrvdk,7892
49
- indexify/executor/task_runner.py,sha256=1zYH03yS_FaFk9xXBl-ioM74-L2xdW3vHJt522mseds,7073
50
- indexify/proto/executor_api.proto,sha256=-dSnBE35OUoknDDV0HvSOVk11-pPqIjbQ5X22uJ_rSs,6399
51
- indexify/proto/executor_api_pb2.py,sha256=WffUqYV39xoDmdaHYpckR3XX-pdbOzMoaYO5ghcA1Lg,9949
52
- indexify/proto/executor_api_pb2.pyi,sha256=lXP79CootL4pHghuVIv1wgR0Y0YPl0wIVUiHKY7PM2s,12677
53
- indexify/proto/executor_api_pb2_grpc.py,sha256=i8LEPG6esub6C-xxJ7S3vEJSgWCOxSqElNjMW3Imqg8,7607
54
- indexify-0.3.18.dist-info/METADATA,sha256=T7_EDOfiMyAn0dpZ-m96vgiDVT2oGJDn0N7UYzDYNSA,1158
55
- indexify-0.3.18.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
56
- indexify-0.3.18.dist-info/entry_points.txt,sha256=GU9wmsgvN7nQw3N2X0PMYn1RSvF6CrhH9RuC2D8d3Gk,53
57
- indexify-0.3.18.dist-info/RECORD,,
56
+ indexify/executor/task_reporter.py,sha256=AbestQmKxpJo0pfJWnB_9ziOnAdFmMScvWzFTeyG6X4,12382
57
+ indexify/executor/task_runner.py,sha256=2-f6Uupu_aVPg34G27yuiPTC6eE4XnT-qizpzPryzDI,7134
58
+ indexify/proto/executor_api.proto,sha256=K1lwFmk042GA1tp8s633FZJVg6Fi8f8LtAuFj8Gz7XU,9930
59
+ indexify/proto/executor_api_pb2.py,sha256=5y570_FIgc6WFhHVAKWFieMuUhyKBA7rPJJ4DJ5hcCM,14054
60
+ indexify/proto/executor_api_pb2.pyi,sha256=5eJJJjPNdTMSttNUOtzGwADbASsCh7138de_Y3l8uq4,18612
61
+ indexify/proto/executor_api_pb2_grpc.py,sha256=GGiDtyQlA2382E_ZyKUBYcWNEJHH_RlulieStKfkJXI,9514
62
+ indexify-0.3.20.dist-info/METADATA,sha256=rg0FBC-z-e_Ft09YgQ5ldhaS3u5XKtmqxNFFMa9074A,1198
63
+ indexify-0.3.20.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
64
+ indexify-0.3.20.dist-info/entry_points.txt,sha256=GU9wmsgvN7nQw3N2X0PMYn1RSvF6CrhH9RuC2D8d3Gk,53
65
+ indexify-0.3.20.dist-info/RECORD,,