indexify 0.2.14__py3-none-any.whl → 0.2.15__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.
@@ -79,6 +79,10 @@ class IndexifyFunction(ABC):
79
79
 
80
80
  return partial(self.run, **kwargs)
81
81
 
82
+ @classmethod
83
+ def deserialize_output(cls, output: IndexifyData) -> Any:
84
+ serializer = get_serializer(cls.payload_encoder)
85
+ return serializer.deserialize(output.payload)
82
86
 
83
87
  class IndexifyRouter(ABC):
84
88
  name: str = ""
@@ -265,7 +269,3 @@ class IndexifyFunctionWrapper:
265
269
  payload = list(payload.values())[0]
266
270
  return arg_type.model_validate(payload)
267
271
  return payload
268
-
269
- def deserialize_fn_output(self, output: IndexifyData) -> Any:
270
- serializer = get_serializer(self.indexify_function.payload_encoder)
271
- return serializer.deserialize(output.payload)
indexify/http_client.py CHANGED
@@ -13,7 +13,7 @@ from rich import print
13
13
  from indexify.error import ApiException
14
14
  from indexify.functions_sdk.data_objects import IndexifyData
15
15
  from indexify.functions_sdk.graph import ComputeGraphMetadata, Graph
16
- from indexify.functions_sdk.indexify_functions import IndexifyFunctionWrapper
16
+ from indexify.functions_sdk.indexify_functions import IndexifyFunction
17
17
  from indexify.settings import DEFAULT_SERVICE_URL, DEFAULT_SERVICE_URL_HTTPS
18
18
 
19
19
 
@@ -71,7 +71,7 @@ class IndexifyClient:
71
71
  self._service_url = service_url
72
72
  self._timeout = kwargs.get("timeout")
73
73
  self._graphs: Dict[str, Graph] = {}
74
- self._fns = {}
74
+ self._fns: Dict[str, IndexifyFunction] = {}
75
75
 
76
76
  def _request(self, method: str, **kwargs) -> httpx.Response:
77
77
  try:
@@ -181,14 +181,12 @@ class IndexifyClient:
181
181
  response = self._get(f"namespaces/{self.namespace}/compute_graphs/{name}")
182
182
  return ComputeGraphMetadata(**response.json())
183
183
 
184
- def load_fn_wrapper(self, name: str, fn_name: str) -> IndexifyFunctionWrapper:
184
+ def load_fn(self, name: str, fn_name: str) -> IndexifyFunction:
185
185
  response = self._get(
186
186
  f"internal/namespaces/{self.namespace}/compute_graphs/{name}/code"
187
187
  )
188
188
  pickled_functions_by_name = cloudpickle.loads(response.content)
189
- return IndexifyFunctionWrapper(
190
- cloudpickle.loads(pickled_functions_by_name[fn_name])
191
- )
189
+ return cloudpickle.loads(pickled_functions_by_name[fn_name])
192
190
 
193
191
  def namespaces(self) -> List[str]:
194
192
  response = self._get(f"namespaces")
@@ -323,7 +321,7 @@ class IndexifyClient:
323
321
  """
324
322
  fn_key = f"{graph}/{fn_name}"
325
323
  if fn_key not in self._fns:
326
- self._fns[fn_key] = self.load_fn_wrapper(graph, fn_name)
324
+ self._fns[fn_key] = self.load_fn(graph, fn_name)
327
325
  response = self._get(
328
326
  f"namespaces/{self.namespace}/compute_graphs/{graph}/invocations/{invocation_id}/outputs",
329
327
  )
@@ -335,7 +333,7 @@ class IndexifyClient:
335
333
  indexify_data = self._download_output(
336
334
  self.namespace, graph, invocation_id, fn_name, output.id
337
335
  )
338
- output = self._fns[fn_key].deserialize_fn_output(indexify_data)
336
+ output = self._fns[fn_key].deserialize_output(indexify_data)
339
337
  outputs.append(output)
340
338
  return outputs
341
339
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: indexify
3
- Version: 0.2.14
3
+ Version: 0.2.15
4
4
  Summary: Python Client for Indexify
5
5
  Home-page: https://github.com/tensorlakeai/indexify
6
6
  License: Apache 2.0
@@ -18,16 +18,16 @@ indexify/functions_sdk/graph.py,sha256=3hUZjdCesiAHJ9y1_heQsEFO-WHROR4kRYxBtVnb7
18
18
  indexify/functions_sdk/graph_definition.py,sha256=EJfC0MdKEbFF1CBaU0htrveSlcAQJCH96DLSNfZ02V4,1178
19
19
  indexify/functions_sdk/graph_validation.py,sha256=XLHiC9PAtZungJLysU3hIUOPNDkO5TXUDZ_jiZ0H4hg,2508
20
20
  indexify/functions_sdk/image.py,sha256=Rsol3LfE15Kca78ruPfDrDPqCkeZPxZx0ULYrFFS5ig,905
21
- indexify/functions_sdk/indexify_functions.py,sha256=QnumxE0Ln_ryyyjLMopjCGZQUGSX7N25PRpisIdEEXI,9600
21
+ indexify/functions_sdk/indexify_functions.py,sha256=KTEbTs-waqXTKC5e2f1MWxShr87nwJd3PgNEL3QMvIU,9593
22
22
  indexify/functions_sdk/local_cache.py,sha256=cNWF67zbhbTJe3g86hyLBy3Rqzs6dNvp2SjLazGZWvw,1348
23
23
  indexify/functions_sdk/object_serializer.py,sha256=Zz4GobW3ZamBBtFDF76QxU3TP6oJNdWnhsfKd0OUFoc,1660
24
24
  indexify/functions_sdk/pipeline.py,sha256=7hDatRK-SCHYvttf2Vj5YFyiJEVU0OOXEZBOIQenSmk,847
25
- indexify/http_client.py,sha256=EBzqwT3r90W4w0ADG8oRy8tCh47BHuMPB-vVh-bjUO8,13640
25
+ indexify/http_client.py,sha256=x92EbFD987pIxuBVVQZ-eN9nSL-oI2vpfv6OSKuBGgs,13589
26
26
  indexify/remote_graph.py,sha256=ILg6IY6EFgyvnfz1DSzicBZhqvPkg2-UUwgI6lxp6sA,3094
27
27
  indexify/remote_pipeline.py,sha256=FW7IAv3r24OOpiqlprw3kuFrpdkqi6Ic4_tT26FThjA,761
28
28
  indexify/settings.py,sha256=LSaWZ0ADIVmUv6o6dHWRC3-Ry5uLbCw2sBSg1e_U7UM,99
29
- indexify-0.2.14.dist-info/LICENSE.txt,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
30
- indexify-0.2.14.dist-info/METADATA,sha256=zMLk24iy5hXk8BGlvSxkAMHenl2JNxSeXQuENZLNsuY,6199
31
- indexify-0.2.14.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
32
- indexify-0.2.14.dist-info/entry_points.txt,sha256=Pih7WV-XMpAzI5dEvROcpLr-ybVhd9Y-AtuzBKUdcDs,49
33
- indexify-0.2.14.dist-info/RECORD,,
29
+ indexify-0.2.15.dist-info/LICENSE.txt,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
30
+ indexify-0.2.15.dist-info/METADATA,sha256=6iDb6m_2f2tjoA9y4630Z6j23ymDLGmoNjkIIyV1kxA,6199
31
+ indexify-0.2.15.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
32
+ indexify-0.2.15.dist-info/entry_points.txt,sha256=Pih7WV-XMpAzI5dEvROcpLr-ybVhd9Y-AtuzBKUdcDs,49
33
+ indexify-0.2.15.dist-info/RECORD,,