indexify 0.2.40__py3-none-any.whl → 0.2.42__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.
- indexify/cli.py +92 -52
- indexify/executor/agent.py +99 -187
- indexify/executor/api_objects.py +2 -8
- indexify/executor/downloader.py +129 -90
- indexify/executor/executor_tasks.py +15 -30
- indexify/executor/function_executor/function_executor.py +32 -0
- indexify/executor/function_executor/function_executor_factory.py +26 -0
- indexify/executor/function_executor/function_executor_map.py +91 -0
- indexify/executor/function_executor/process_function_executor.py +64 -0
- indexify/executor/function_executor/process_function_executor_factory.py +102 -0
- indexify/executor/function_worker.py +227 -184
- indexify/executor/runtime_probes.py +9 -8
- indexify/executor/task_fetcher.py +80 -0
- indexify/executor/task_reporter.py +18 -25
- indexify/executor/task_store.py +35 -16
- indexify/function_executor/function_executor_service.py +86 -0
- indexify/function_executor/handlers/run_function/function_inputs_loader.py +54 -0
- indexify/function_executor/handlers/run_function/handler.py +149 -0
- indexify/function_executor/handlers/run_function/request_validator.py +24 -0
- indexify/function_executor/handlers/run_function/response_helper.py +98 -0
- indexify/function_executor/initialize_request_validator.py +22 -0
- indexify/function_executor/proto/configuration.py +13 -0
- indexify/function_executor/proto/function_executor.proto +70 -0
- indexify/function_executor/proto/function_executor_pb2.py +53 -0
- indexify/function_executor/proto/function_executor_pb2.pyi +125 -0
- indexify/function_executor/proto/function_executor_pb2_grpc.py +163 -0
- indexify/function_executor/proto/message_validator.py +38 -0
- indexify/function_executor/server.py +31 -0
- indexify/functions_sdk/data_objects.py +0 -9
- indexify/functions_sdk/graph.py +10 -11
- indexify/functions_sdk/graph_definition.py +2 -2
- indexify/functions_sdk/image.py +35 -30
- indexify/functions_sdk/indexify_functions.py +5 -5
- indexify/http_client.py +15 -23
- indexify/logging.py +32 -0
- {indexify-0.2.40.dist-info → indexify-0.2.42.dist-info}/METADATA +3 -1
- indexify-0.2.42.dist-info/RECORD +53 -0
- indexify/executor/indexify_executor.py +0 -32
- indexify-0.2.40.dist-info/RECORD +0 -34
- {indexify-0.2.40.dist-info → indexify-0.2.42.dist-info}/LICENSE.txt +0 -0
- {indexify-0.2.40.dist-info → indexify-0.2.42.dist-info}/WHEEL +0 -0
- {indexify-0.2.40.dist-info → indexify-0.2.42.dist-info}/entry_points.txt +0 -0
indexify/http_client.py
CHANGED
@@ -64,7 +64,6 @@ class IndexifyClient:
|
|
64
64
|
self._service_url = service_url
|
65
65
|
self._timeout = kwargs.get("timeout")
|
66
66
|
self._graphs: Dict[str, Graph] = {}
|
67
|
-
self._fns: Dict[str, IndexifyFunction] = {}
|
68
67
|
self._api_key = api_key
|
69
68
|
if not self._api_key:
|
70
69
|
print(
|
@@ -174,8 +173,6 @@ class IndexifyClient:
|
|
174
173
|
)
|
175
174
|
response.raise_for_status()
|
176
175
|
self._graphs[graph.name] = graph
|
177
|
-
for fn_name, fn in graph.nodes.items():
|
178
|
-
self._fns[f"{graph.name}/{fn_name}"] = fn
|
179
176
|
|
180
177
|
def delete_compute_graph(
|
181
178
|
self,
|
@@ -191,21 +188,18 @@ class IndexifyClient:
|
|
191
188
|
)
|
192
189
|
response.raise_for_status()
|
193
190
|
|
194
|
-
def graphs(self) -> List[
|
195
|
-
response = self._get(f"
|
196
|
-
|
191
|
+
def graphs(self, namespace="default") -> List[ComputeGraphMetadata]:
|
192
|
+
response = self._get(f"namespaces/{namespace}/compute_graphs")
|
193
|
+
graphs = []
|
194
|
+
for graph in response.json()["compute_graphs"]:
|
195
|
+
graphs.append(ComputeGraphMetadata(**graph))
|
196
|
+
|
197
|
+
return graphs
|
197
198
|
|
198
199
|
def graph(self, name: str) -> ComputeGraphMetadata:
|
199
200
|
response = self._get(f"namespaces/{self.namespace}/compute_graphs/{name}")
|
200
201
|
return ComputeGraphMetadata(**response.json())
|
201
202
|
|
202
|
-
def load_fn(self, name: str, fn_name: str) -> IndexifyFunction:
|
203
|
-
response = self._get(
|
204
|
-
f"internal/namespaces/{self.namespace}/compute_graphs/{name}/code"
|
205
|
-
)
|
206
|
-
pickled_functions_by_name = cloudpickle.loads(response.content)
|
207
|
-
return cloudpickle.loads(pickled_functions_by_name[fn_name])
|
208
|
-
|
209
203
|
def namespaces(self) -> List[str]:
|
210
204
|
response = self._get(f"namespaces")
|
211
205
|
namespaces_dict = response.json()["namespaces"]
|
@@ -351,30 +345,27 @@ class IndexifyClient:
|
|
351
345
|
)
|
352
346
|
response.raise_for_status()
|
353
347
|
content_type = response.headers.get("Content-Type")
|
354
|
-
if content_type == "application/
|
355
|
-
encoding = "cloudpickle"
|
356
|
-
else:
|
348
|
+
if content_type == "application/json":
|
357
349
|
encoding = "json"
|
350
|
+
else:
|
351
|
+
encoding = "cloudpickle"
|
358
352
|
return IndexifyData(id=output_id, payload=response.content, encoder=encoding)
|
359
353
|
|
360
354
|
def graph_outputs(
|
361
355
|
self,
|
362
356
|
graph: str,
|
363
357
|
invocation_id: str,
|
364
|
-
fn_name:
|
358
|
+
fn_name: str,
|
365
359
|
) -> List[Any]:
|
366
360
|
"""
|
367
361
|
Returns the extracted objects by a graph for an ingested object. If the extractor name is provided, only the objects extracted by that extractor are returned.
|
368
362
|
If the extractor name is not provided, all the extracted objects are returned for the input object.
|
369
363
|
graph: str: The name of the graph
|
370
|
-
invocation_id: str: The ID of the
|
371
|
-
|
372
|
-
block_until_done: bool = True: If True, the method will block until the extraction is done. If False, the method will return immediately.
|
364
|
+
invocation_id: str: The ID of the invocation.
|
365
|
+
fn_name: Optional[str]: The name of the function whose output is to be returned if provided
|
373
366
|
return: Union[Dict[str, List[Any]], List[Any]]: The extracted objects. If the extractor name is provided, the output is a list of extracted objects by the extractor. If the extractor name is not provided, the output is a dictionary with the extractor name as the key and the extracted objects as the value. If no objects are found, an empty list is returned.
|
374
367
|
"""
|
375
368
|
fn_key = f"{graph}/{fn_name}"
|
376
|
-
if fn_key not in self._fns:
|
377
|
-
self._fns[fn_key] = self.load_fn(graph, fn_name)
|
378
369
|
response = self._get(
|
379
370
|
f"namespaces/{self.namespace}/compute_graphs/{graph}/invocations/{invocation_id}/outputs",
|
380
371
|
)
|
@@ -388,7 +379,8 @@ class IndexifyClient:
|
|
388
379
|
indexify_data = self._download_output(
|
389
380
|
self.namespace, graph, invocation_id, fn_name, output.id
|
390
381
|
)
|
391
|
-
|
382
|
+
serializer = get_serializer(indexify_data.encoder)
|
383
|
+
output = serializer.deserialize(indexify_data.payload)
|
392
384
|
outputs.append(output)
|
393
385
|
return outputs
|
394
386
|
|
indexify/logging.py
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
import logging
|
2
|
+
import sys
|
3
|
+
|
4
|
+
import structlog
|
5
|
+
|
6
|
+
# Using this module allows us to be consistent with the logging configuration across all Python programs.
|
7
|
+
|
8
|
+
|
9
|
+
def configure_logging_early():
|
10
|
+
"""Configures standard Python logging module.
|
11
|
+
|
12
|
+
By default 3rd party modules that are using standard Python logging module
|
13
|
+
(logging.getLogger()) have their log lines dropped unless the module gets configured.
|
14
|
+
|
15
|
+
Not dropping log lines from 3rd party modules is useful for debugging. E.g. this helps
|
16
|
+
debugging errors in grpc servers if exceptions happen inside grpc module code.
|
17
|
+
"""
|
18
|
+
logging.basicConfig(
|
19
|
+
level=logging.WARNING,
|
20
|
+
# This log message format is a bit similar to the default structlog format.
|
21
|
+
format="%(asctime)s [%(levelname)s] %(message)s logger=%(name)s",
|
22
|
+
datefmt="%Y-%m-%d %H:%M:%S",
|
23
|
+
handlers=[logging.StreamHandler(sys.stdout)],
|
24
|
+
)
|
25
|
+
|
26
|
+
|
27
|
+
def configure_production_logging():
|
28
|
+
processors = [
|
29
|
+
structlog.processors.dict_tracebacks,
|
30
|
+
structlog.processors.JSONRenderer(),
|
31
|
+
]
|
32
|
+
structlog.configure(processors=processors)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: indexify
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.42
|
4
4
|
Summary: Python Client for Indexify
|
5
5
|
Home-page: https://github.com/tensorlakeai/indexify
|
6
6
|
License: Apache 2.0
|
@@ -16,6 +16,8 @@ Classifier: Programming Language :: Python :: 3.12
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.13
|
17
17
|
Requires-Dist: cloudpickle (>=3.1.0,<4.0.0)
|
18
18
|
Requires-Dist: docker (>=7.1.0,<8.0.0)
|
19
|
+
Requires-Dist: grpcio (==1.68.1)
|
20
|
+
Requires-Dist: grpcio-tools (==1.68.1)
|
19
21
|
Requires-Dist: httpx-sse (>=0.4.0,<0.5.0)
|
20
22
|
Requires-Dist: httpx[http2] (==0.27.2)
|
21
23
|
Requires-Dist: nanoid (>=2.0.0,<3.0.0)
|
@@ -0,0 +1,53 @@
|
|
1
|
+
indexify/__init__.py,sha256=P0mvM8sbkeS2CjYzRYyzb42CnXGhyJXdz4FdmTBMSWM,697
|
2
|
+
indexify/cli.py,sha256=a6KPM7uWE3kcbREP1IkkY3Z30vJ-9B_70r6j9-1msSk,10385
|
3
|
+
indexify/common_util.py,sha256=LKS6yZ3yv8nF2J-KzisGIjqjTvCn7tLFifQJLT4gHRg,3529
|
4
|
+
indexify/data_loaders/__init__.py,sha256=Y5NEuseTcYAICRiweYw5wBQ2m2YplbsY21I7df-rdi4,1339
|
5
|
+
indexify/data_loaders/local_directory_loader.py,sha256=fCrgj5drnW71ZUdDDvcB1-VJjIs1w6Q8sEW0HSGSAiA,1247
|
6
|
+
indexify/data_loaders/url_loader.py,sha256=32SERljcq1Xsi4RdLz2dgyk2TER5pQPTtXl3gUzwHbY,1533
|
7
|
+
indexify/error.py,sha256=qAWr8R6AxPkjsxHSzXTc8zqYnNO_AjOqqYEPsQvF1Zs,238
|
8
|
+
indexify/executor/agent.py,sha256=vPbGUN2E9N6fa7WDCpzUD4CzNwSnDMQ0_vs1d5R61GU,10902
|
9
|
+
indexify/executor/api_objects.py,sha256=vp7aEjvfWL2j4nYDV0xLgLVZlGsbStMEu0nzrgJVq1A,741
|
10
|
+
indexify/executor/downloader.py,sha256=oeiSGxIIn7uBTKT6hzyPUa-AlOUlqy7WQkinm7qpV0I,6442
|
11
|
+
indexify/executor/executor_tasks.py,sha256=vxXK2pCSqu5_HaEPKj2VF9k8vgA1mUD8v4bx0TXGR-I,1570
|
12
|
+
indexify/executor/function_executor/function_executor.py,sha256=0W6vCT-DBVPUMPoOXLVRVHZjVGGUeTDV_NWb-XLP2gM,1218
|
13
|
+
indexify/executor/function_executor/function_executor_factory.py,sha256=23BU_i47Tz6xd9fAwsKH29lm261bZXfzYGRhSqeFtwY,900
|
14
|
+
indexify/executor/function_executor/function_executor_map.py,sha256=HXeCjkRusumJisU74Iy6M4e13k8jeHk4Yq8PyODSsUc,3922
|
15
|
+
indexify/executor/function_executor/process_function_executor.py,sha256=CdqFtvlvS_VIzVdbE3Wnzj_Kqfzhzf4X05avHIielEE,2150
|
16
|
+
indexify/executor/function_executor/process_function_executor_factory.py,sha256=ognYRd5l10kVD2KAShfkd8vg-JElYctG77Pcx77-grM,3850
|
17
|
+
indexify/executor/function_worker.py,sha256=JcVrDZPj6XE0c-SDyXMlS5ZMfr5FuByZxG2XoACHsoU,9803
|
18
|
+
indexify/executor/runtime_probes.py,sha256=bo6Dq6AGZpJH099j0DHtVSDEH80tv3j9MXf3VXSx_p8,2182
|
19
|
+
indexify/executor/task_fetcher.py,sha256=481Ta7UAlytDpf99wNGzcqaCpB7NGJitb1nn_rAE9Do,3017
|
20
|
+
indexify/executor/task_reporter.py,sha256=jThbGHte8nBikBIiSFgjRUQ6o3wE3Ms2zyz1NaZWIUQ,5113
|
21
|
+
indexify/executor/task_store.py,sha256=Gpsr7S6UuLhGiB4Vh-9A0-iU4Qgji5CYEzjwKWeETl4,4430
|
22
|
+
indexify/function_executor/function_executor_service.py,sha256=EwwHTPX-AVqbSl-BONWWy3Z6gowXnYj5tigGoFs1u0s,3694
|
23
|
+
indexify/function_executor/handlers/run_function/function_inputs_loader.py,sha256=x2Lrzb6CsEWDWW5qG9etS7TyV7KVYfuFKEbzKVhYizo,1553
|
24
|
+
indexify/function_executor/handlers/run_function/handler.py,sha256=eklicxgyExd9ScdDahQO9LaLNXPNBPAAI0KBt3Wb9-w,5636
|
25
|
+
indexify/function_executor/handlers/run_function/request_validator.py,sha256=tVmbOS2g4AeV48CZCSDRycnoQjjGy12XD_vbaOLX_Z4,740
|
26
|
+
indexify/function_executor/handlers/run_function/response_helper.py,sha256=KDSadee08g6JRFwKRTdcOwbP6SmRJCGVHh1FOLdt_ws,3109
|
27
|
+
indexify/function_executor/initialize_request_validator.py,sha256=AtyKgIjlGHB-Fh3Vhso86TC0o65DfuVEY8GFfRSfylo,709
|
28
|
+
indexify/function_executor/proto/configuration.py,sha256=P0xtxwf-XaCxi0kvtCbm4X8y0YOuHhR-uh9xUuLdFoM,595
|
29
|
+
indexify/function_executor/proto/function_executor.proto,sha256=PiftSSIDjHkxUbD7rNVmgfTCP12bFJ7oKJXuRx2sM28,2188
|
30
|
+
indexify/function_executor/proto/function_executor_pb2.py,sha256=tEDJJUywM6-j4dBwvBEHXnGCv9spGWVuhtHuiTDxw7I,4582
|
31
|
+
indexify/function_executor/proto/function_executor_pb2.pyi,sha256=E-UnFIFbej-QPhaX1X4oYGeUW6_HuEi13qhCYkN1tzI,4182
|
32
|
+
indexify/function_executor/proto/function_executor_pb2_grpc.py,sha256=OIErF2wYWaRI2TyF8EbWGjj5K9aD7OIJwAp1BRMQ0ic,6265
|
33
|
+
indexify/function_executor/proto/message_validator.py,sha256=OKXPYgy5L9c-spnV9Zjv7PA_yxwzvykfhbYylYx8cwQ,1456
|
34
|
+
indexify/function_executor/server.py,sha256=YEeKHR6qjNJyLFb8KNjcCYClBgVzdJNmKwdwmyJ-ybE,1136
|
35
|
+
indexify/functions_sdk/data_objects.py,sha256=ZJ7B9b5OI7aieCWJFx18pV6tqScssIFtmth84i7nKTg,623
|
36
|
+
indexify/functions_sdk/graph.py,sha256=WNaS5yGNKNLa55gH3LPIlp4fH9VpAsb7VAVkELozrZ0,13413
|
37
|
+
indexify/functions_sdk/graph_definition.py,sha256=yQ7c7jpA8RB8Yt81D1i5R3LPT8fmLvN8bLuEHvS4P_o,1775
|
38
|
+
indexify/functions_sdk/graph_validation.py,sha256=mN2Fcp91GIwFZEQP6z_qGqt4LkLM70SnI7AWBi4CmKQ,2509
|
39
|
+
indexify/functions_sdk/image.py,sha256=wVDs5O5yshjSSZ1d-keyMp9zUrck2TazJlkVq94jMZk,1965
|
40
|
+
indexify/functions_sdk/indexify_functions.py,sha256=USuEeZnbQTd6uUjv-ZAwdBrbR8gGrTD78oXjyW6DBbw,13376
|
41
|
+
indexify/functions_sdk/local_cache.py,sha256=cNWF67zbhbTJe3g86hyLBy3Rqzs6dNvp2SjLazGZWvw,1348
|
42
|
+
indexify/functions_sdk/object_serializer.py,sha256=R58ALsl2Lb87ii6km4D6hBBsqRs_CHNISxhUICE2d9o,1931
|
43
|
+
indexify/functions_sdk/pipeline.py,sha256=KmxZE8eBFAQ4bbEcYURXXR26HSyoAT3O6iu9H38-OXE,974
|
44
|
+
indexify/http_client.py,sha256=XvIi7z7h7PZomMKlL8WEhFIWAAPzFe2hrLQUz4QC_Zc,15392
|
45
|
+
indexify/logging.py,sha256=_TLnWT0RzABvExwTixjdpuxoSNUev4zeNV0K1VlEUmA,1099
|
46
|
+
indexify/remote_graph.py,sha256=OzBucU4buR5UdTViNJvh1RfnOTmYA34Uel5qXnRsQsA,5006
|
47
|
+
indexify/remote_pipeline.py,sha256=oqx57rSPszNS3DToXO_nf-CKqkCZWptm1u_p3orV_gQ,790
|
48
|
+
indexify/settings.py,sha256=Ny59mzYI4gbXoK8hjx66a_men6ndbd1J1zCTcKOoyzg,50
|
49
|
+
indexify-0.2.42.dist-info/LICENSE.txt,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
50
|
+
indexify-0.2.42.dist-info/METADATA,sha256=FuvJ1XvFCLmUCXltSb_9kPGGi-99T_T_T7x3br78GDA,6271
|
51
|
+
indexify-0.2.42.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
52
|
+
indexify-0.2.42.dist-info/entry_points.txt,sha256=Pih7WV-XMpAzI5dEvROcpLr-ybVhd9Y-AtuzBKUdcDs,49
|
53
|
+
indexify-0.2.42.dist-info/RECORD,,
|
@@ -1,32 +0,0 @@
|
|
1
|
-
import asyncio
|
2
|
-
from typing import List, Optional
|
3
|
-
|
4
|
-
import nanoid
|
5
|
-
|
6
|
-
from .agent import ExtractorAgent
|
7
|
-
from .function_worker import FunctionWorker
|
8
|
-
|
9
|
-
|
10
|
-
def join(
|
11
|
-
workers: int,
|
12
|
-
server_addr: str = "localhost:8900",
|
13
|
-
config_path: Optional[str] = None,
|
14
|
-
):
|
15
|
-
print(f"receiving tasks from server addr: {server_addr}")
|
16
|
-
id = nanoid.generate()
|
17
|
-
print(f"executor id: {id}")
|
18
|
-
|
19
|
-
function_worker = FunctionWorker(workers=workers)
|
20
|
-
|
21
|
-
agent = ExtractorAgent(
|
22
|
-
id,
|
23
|
-
num_workers=workers,
|
24
|
-
function_worker=function_worker,
|
25
|
-
server_addr=server_addr,
|
26
|
-
config_path=config_path,
|
27
|
-
)
|
28
|
-
|
29
|
-
try:
|
30
|
-
asyncio.get_event_loop().run_until_complete(agent.run())
|
31
|
-
except asyncio.CancelledError as ex:
|
32
|
-
print("exiting gracefully", ex)
|
indexify-0.2.40.dist-info/RECORD
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
indexify/__init__.py,sha256=P0mvM8sbkeS2CjYzRYyzb42CnXGhyJXdz4FdmTBMSWM,697
|
2
|
-
indexify/cli.py,sha256=QqaRpm-XywJQ3zh-2pgABi15Jl0IkwA_sz6PRNvQ4wc,8872
|
3
|
-
indexify/common_util.py,sha256=LKS6yZ3yv8nF2J-KzisGIjqjTvCn7tLFifQJLT4gHRg,3529
|
4
|
-
indexify/data_loaders/__init__.py,sha256=Y5NEuseTcYAICRiweYw5wBQ2m2YplbsY21I7df-rdi4,1339
|
5
|
-
indexify/data_loaders/local_directory_loader.py,sha256=fCrgj5drnW71ZUdDDvcB1-VJjIs1w6Q8sEW0HSGSAiA,1247
|
6
|
-
indexify/data_loaders/url_loader.py,sha256=32SERljcq1Xsi4RdLz2dgyk2TER5pQPTtXl3gUzwHbY,1533
|
7
|
-
indexify/error.py,sha256=qAWr8R6AxPkjsxHSzXTc8zqYnNO_AjOqqYEPsQvF1Zs,238
|
8
|
-
indexify/executor/agent.py,sha256=6xcGDZLwFHlFDiqW9EOI_Dfxh8ahdhGZq4PZUoyPLEY,14167
|
9
|
-
indexify/executor/api_objects.py,sha256=mvmwGbK4paJNQGFvbtNHMPpiH_LpVhrlRnCcrqS6HOQ,859
|
10
|
-
indexify/executor/downloader.py,sha256=dHLxoBnX8-Bh4yZtFDYptZNF6rlVtmTk_70JK8Ect5w,4184
|
11
|
-
indexify/executor/executor_tasks.py,sha256=A0UIEZ5VaB6zSkFQG81UmTW0E57MTYhGlaXuAbRV8lQ,1884
|
12
|
-
indexify/executor/function_worker.py,sha256=wRW2-X9dNI80KhwTD1vD-pcyetsVKVs6vVdg7L7JjcQ,6462
|
13
|
-
indexify/executor/indexify_executor.py,sha256=2Ut_VX-Su_lm4b4aEROyRJ3gXx-uFHA-V7EN0sWiARE,771
|
14
|
-
indexify/executor/runtime_probes.py,sha256=mjw2_mGQ622wRT_39WPGGgPEZQTgtrf3-ICcUUZOeyg,2126
|
15
|
-
indexify/executor/task_reporter.py,sha256=XlEhNf_ScNnzG67zbtVwL7_9Bo8MvPZiHLI5UHymUnM,5305
|
16
|
-
indexify/executor/task_store.py,sha256=JlRlWwAm4YjFRkTNRx-6GsUcmOzcyvzb5Csa5XDpRTI,3982
|
17
|
-
indexify/functions_sdk/data_objects.py,sha256=wXbUa9hjU6rsXmmk19vQ5Kixf3FsI59VBWPNmHasAX0,854
|
18
|
-
indexify/functions_sdk/graph.py,sha256=jZSOVmlQB8Eb8MBz0TeRADl_4y5rnrjdTTy6VdRLISY,13448
|
19
|
-
indexify/functions_sdk/graph_definition.py,sha256=W3zRERTOC-UbiRms-NqvtlLDpSZM-33TocKeZXb5o_A,1762
|
20
|
-
indexify/functions_sdk/graph_validation.py,sha256=mN2Fcp91GIwFZEQP6z_qGqt4LkLM70SnI7AWBi4CmKQ,2509
|
21
|
-
indexify/functions_sdk/image.py,sha256=QK0H6KxLWriB_z4M0kunKzzHdHxYLWL670RPYgYuf_8,1762
|
22
|
-
indexify/functions_sdk/indexify_functions.py,sha256=kjGmkRYnA_KO5ypkyaIhqrz0-3UJOFTPGldgOrHSRHY,13401
|
23
|
-
indexify/functions_sdk/local_cache.py,sha256=cNWF67zbhbTJe3g86hyLBy3Rqzs6dNvp2SjLazGZWvw,1348
|
24
|
-
indexify/functions_sdk/object_serializer.py,sha256=R58ALsl2Lb87ii6km4D6hBBsqRs_CHNISxhUICE2d9o,1931
|
25
|
-
indexify/functions_sdk/pipeline.py,sha256=KmxZE8eBFAQ4bbEcYURXXR26HSyoAT3O6iu9H38-OXE,974
|
26
|
-
indexify/http_client.py,sha256=iLafZagCFnlTS6uHfOjInogjg0uXW_zXEspIN7ttB5I,15903
|
27
|
-
indexify/remote_graph.py,sha256=OzBucU4buR5UdTViNJvh1RfnOTmYA34Uel5qXnRsQsA,5006
|
28
|
-
indexify/remote_pipeline.py,sha256=oqx57rSPszNS3DToXO_nf-CKqkCZWptm1u_p3orV_gQ,790
|
29
|
-
indexify/settings.py,sha256=Ny59mzYI4gbXoK8hjx66a_men6ndbd1J1zCTcKOoyzg,50
|
30
|
-
indexify-0.2.40.dist-info/LICENSE.txt,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
31
|
-
indexify-0.2.40.dist-info/METADATA,sha256=x-8XRtgGLpvgQ5fEXUxamZwgoNtGCWPcbyvAgciO2HE,6199
|
32
|
-
indexify-0.2.40.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
33
|
-
indexify-0.2.40.dist-info/entry_points.txt,sha256=Pih7WV-XMpAzI5dEvROcpLr-ybVhd9Y-AtuzBKUdcDs,49
|
34
|
-
indexify-0.2.40.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|