hermes-client-python 1.4.11__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.
@@ -0,0 +1,485 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+ import warnings
5
+
6
+ from . import hermes_pb2 as hermes__pb2
7
+
8
+ GRPC_GENERATED_VERSION = '1.76.0'
9
+ GRPC_VERSION = grpc.__version__
10
+ _version_not_supported = False
11
+
12
+ try:
13
+ from grpc._utilities import first_version_is_lower
14
+ _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
15
+ except ImportError:
16
+ _version_not_supported = True
17
+
18
+ if _version_not_supported:
19
+ raise RuntimeError(
20
+ f'The grpc package installed is at version {GRPC_VERSION},'
21
+ + ' but the generated code in hermes_pb2_grpc.py depends on'
22
+ + f' grpcio>={GRPC_GENERATED_VERSION}.'
23
+ + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
24
+ + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
25
+ )
26
+
27
+
28
+ class SearchServiceStub(object):
29
+ """Search service
30
+ """
31
+
32
+ def __init__(self, channel):
33
+ """Constructor.
34
+
35
+ Args:
36
+ channel: A grpc.Channel.
37
+ """
38
+ self.Search = channel.unary_unary(
39
+ '/hermes.SearchService/Search',
40
+ request_serializer=hermes__pb2.SearchRequest.SerializeToString,
41
+ response_deserializer=hermes__pb2.SearchResponse.FromString,
42
+ _registered_method=True)
43
+ self.GetDocument = channel.unary_unary(
44
+ '/hermes.SearchService/GetDocument',
45
+ request_serializer=hermes__pb2.GetDocumentRequest.SerializeToString,
46
+ response_deserializer=hermes__pb2.GetDocumentResponse.FromString,
47
+ _registered_method=True)
48
+ self.GetIndexInfo = channel.unary_unary(
49
+ '/hermes.SearchService/GetIndexInfo',
50
+ request_serializer=hermes__pb2.GetIndexInfoRequest.SerializeToString,
51
+ response_deserializer=hermes__pb2.GetIndexInfoResponse.FromString,
52
+ _registered_method=True)
53
+
54
+
55
+ class SearchServiceServicer(object):
56
+ """Search service
57
+ """
58
+
59
+ def Search(self, request, context):
60
+ """Search for documents
61
+ """
62
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
63
+ context.set_details('Method not implemented!')
64
+ raise NotImplementedError('Method not implemented!')
65
+
66
+ def GetDocument(self, request, context):
67
+ """Get document by ID
68
+ """
69
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
70
+ context.set_details('Method not implemented!')
71
+ raise NotImplementedError('Method not implemented!')
72
+
73
+ def GetIndexInfo(self, request, context):
74
+ """Get index info
75
+ """
76
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
77
+ context.set_details('Method not implemented!')
78
+ raise NotImplementedError('Method not implemented!')
79
+
80
+
81
+ def add_SearchServiceServicer_to_server(servicer, server):
82
+ rpc_method_handlers = {
83
+ 'Search': grpc.unary_unary_rpc_method_handler(
84
+ servicer.Search,
85
+ request_deserializer=hermes__pb2.SearchRequest.FromString,
86
+ response_serializer=hermes__pb2.SearchResponse.SerializeToString,
87
+ ),
88
+ 'GetDocument': grpc.unary_unary_rpc_method_handler(
89
+ servicer.GetDocument,
90
+ request_deserializer=hermes__pb2.GetDocumentRequest.FromString,
91
+ response_serializer=hermes__pb2.GetDocumentResponse.SerializeToString,
92
+ ),
93
+ 'GetIndexInfo': grpc.unary_unary_rpc_method_handler(
94
+ servicer.GetIndexInfo,
95
+ request_deserializer=hermes__pb2.GetIndexInfoRequest.FromString,
96
+ response_serializer=hermes__pb2.GetIndexInfoResponse.SerializeToString,
97
+ ),
98
+ }
99
+ generic_handler = grpc.method_handlers_generic_handler(
100
+ 'hermes.SearchService', rpc_method_handlers)
101
+ server.add_generic_rpc_handlers((generic_handler,))
102
+ server.add_registered_method_handlers('hermes.SearchService', rpc_method_handlers)
103
+
104
+
105
+ # This class is part of an EXPERIMENTAL API.
106
+ class SearchService(object):
107
+ """Search service
108
+ """
109
+
110
+ @staticmethod
111
+ def Search(request,
112
+ target,
113
+ options=(),
114
+ channel_credentials=None,
115
+ call_credentials=None,
116
+ insecure=False,
117
+ compression=None,
118
+ wait_for_ready=None,
119
+ timeout=None,
120
+ metadata=None):
121
+ return grpc.experimental.unary_unary(
122
+ request,
123
+ target,
124
+ '/hermes.SearchService/Search',
125
+ hermes__pb2.SearchRequest.SerializeToString,
126
+ hermes__pb2.SearchResponse.FromString,
127
+ options,
128
+ channel_credentials,
129
+ insecure,
130
+ call_credentials,
131
+ compression,
132
+ wait_for_ready,
133
+ timeout,
134
+ metadata,
135
+ _registered_method=True)
136
+
137
+ @staticmethod
138
+ def GetDocument(request,
139
+ target,
140
+ options=(),
141
+ channel_credentials=None,
142
+ call_credentials=None,
143
+ insecure=False,
144
+ compression=None,
145
+ wait_for_ready=None,
146
+ timeout=None,
147
+ metadata=None):
148
+ return grpc.experimental.unary_unary(
149
+ request,
150
+ target,
151
+ '/hermes.SearchService/GetDocument',
152
+ hermes__pb2.GetDocumentRequest.SerializeToString,
153
+ hermes__pb2.GetDocumentResponse.FromString,
154
+ options,
155
+ channel_credentials,
156
+ insecure,
157
+ call_credentials,
158
+ compression,
159
+ wait_for_ready,
160
+ timeout,
161
+ metadata,
162
+ _registered_method=True)
163
+
164
+ @staticmethod
165
+ def GetIndexInfo(request,
166
+ target,
167
+ options=(),
168
+ channel_credentials=None,
169
+ call_credentials=None,
170
+ insecure=False,
171
+ compression=None,
172
+ wait_for_ready=None,
173
+ timeout=None,
174
+ metadata=None):
175
+ return grpc.experimental.unary_unary(
176
+ request,
177
+ target,
178
+ '/hermes.SearchService/GetIndexInfo',
179
+ hermes__pb2.GetIndexInfoRequest.SerializeToString,
180
+ hermes__pb2.GetIndexInfoResponse.FromString,
181
+ options,
182
+ channel_credentials,
183
+ insecure,
184
+ call_credentials,
185
+ compression,
186
+ wait_for_ready,
187
+ timeout,
188
+ metadata,
189
+ _registered_method=True)
190
+
191
+
192
+ class IndexServiceStub(object):
193
+ """Index service
194
+ """
195
+
196
+ def __init__(self, channel):
197
+ """Constructor.
198
+
199
+ Args:
200
+ channel: A grpc.Channel.
201
+ """
202
+ self.CreateIndex = channel.unary_unary(
203
+ '/hermes.IndexService/CreateIndex',
204
+ request_serializer=hermes__pb2.CreateIndexRequest.SerializeToString,
205
+ response_deserializer=hermes__pb2.CreateIndexResponse.FromString,
206
+ _registered_method=True)
207
+ self.IndexDocuments = channel.stream_unary(
208
+ '/hermes.IndexService/IndexDocuments',
209
+ request_serializer=hermes__pb2.IndexDocumentRequest.SerializeToString,
210
+ response_deserializer=hermes__pb2.IndexDocumentsResponse.FromString,
211
+ _registered_method=True)
212
+ self.BatchIndexDocuments = channel.unary_unary(
213
+ '/hermes.IndexService/BatchIndexDocuments',
214
+ request_serializer=hermes__pb2.BatchIndexDocumentsRequest.SerializeToString,
215
+ response_deserializer=hermes__pb2.BatchIndexDocumentsResponse.FromString,
216
+ _registered_method=True)
217
+ self.Commit = channel.unary_unary(
218
+ '/hermes.IndexService/Commit',
219
+ request_serializer=hermes__pb2.CommitRequest.SerializeToString,
220
+ response_deserializer=hermes__pb2.CommitResponse.FromString,
221
+ _registered_method=True)
222
+ self.ForceMerge = channel.unary_unary(
223
+ '/hermes.IndexService/ForceMerge',
224
+ request_serializer=hermes__pb2.ForceMergeRequest.SerializeToString,
225
+ response_deserializer=hermes__pb2.ForceMergeResponse.FromString,
226
+ _registered_method=True)
227
+ self.DeleteIndex = channel.unary_unary(
228
+ '/hermes.IndexService/DeleteIndex',
229
+ request_serializer=hermes__pb2.DeleteIndexRequest.SerializeToString,
230
+ response_deserializer=hermes__pb2.DeleteIndexResponse.FromString,
231
+ _registered_method=True)
232
+
233
+
234
+ class IndexServiceServicer(object):
235
+ """Index service
236
+ """
237
+
238
+ def CreateIndex(self, request, context):
239
+ """Create a new index (supports both structured schema and SDL string)
240
+ """
241
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
242
+ context.set_details('Method not implemented!')
243
+ raise NotImplementedError('Method not implemented!')
244
+
245
+ def IndexDocuments(self, request_iterator, context):
246
+ """Add documents to index (streaming)
247
+ """
248
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
249
+ context.set_details('Method not implemented!')
250
+ raise NotImplementedError('Method not implemented!')
251
+
252
+ def BatchIndexDocuments(self, request, context):
253
+ """Add documents in batch
254
+ """
255
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
256
+ context.set_details('Method not implemented!')
257
+ raise NotImplementedError('Method not implemented!')
258
+
259
+ def Commit(self, request, context):
260
+ """Commit pending changes
261
+ """
262
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
263
+ context.set_details('Method not implemented!')
264
+ raise NotImplementedError('Method not implemented!')
265
+
266
+ def ForceMerge(self, request, context):
267
+ """Force merge segments
268
+ """
269
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
270
+ context.set_details('Method not implemented!')
271
+ raise NotImplementedError('Method not implemented!')
272
+
273
+ def DeleteIndex(self, request, context):
274
+ """Delete an index
275
+ """
276
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
277
+ context.set_details('Method not implemented!')
278
+ raise NotImplementedError('Method not implemented!')
279
+
280
+
281
+ def add_IndexServiceServicer_to_server(servicer, server):
282
+ rpc_method_handlers = {
283
+ 'CreateIndex': grpc.unary_unary_rpc_method_handler(
284
+ servicer.CreateIndex,
285
+ request_deserializer=hermes__pb2.CreateIndexRequest.FromString,
286
+ response_serializer=hermes__pb2.CreateIndexResponse.SerializeToString,
287
+ ),
288
+ 'IndexDocuments': grpc.stream_unary_rpc_method_handler(
289
+ servicer.IndexDocuments,
290
+ request_deserializer=hermes__pb2.IndexDocumentRequest.FromString,
291
+ response_serializer=hermes__pb2.IndexDocumentsResponse.SerializeToString,
292
+ ),
293
+ 'BatchIndexDocuments': grpc.unary_unary_rpc_method_handler(
294
+ servicer.BatchIndexDocuments,
295
+ request_deserializer=hermes__pb2.BatchIndexDocumentsRequest.FromString,
296
+ response_serializer=hermes__pb2.BatchIndexDocumentsResponse.SerializeToString,
297
+ ),
298
+ 'Commit': grpc.unary_unary_rpc_method_handler(
299
+ servicer.Commit,
300
+ request_deserializer=hermes__pb2.CommitRequest.FromString,
301
+ response_serializer=hermes__pb2.CommitResponse.SerializeToString,
302
+ ),
303
+ 'ForceMerge': grpc.unary_unary_rpc_method_handler(
304
+ servicer.ForceMerge,
305
+ request_deserializer=hermes__pb2.ForceMergeRequest.FromString,
306
+ response_serializer=hermes__pb2.ForceMergeResponse.SerializeToString,
307
+ ),
308
+ 'DeleteIndex': grpc.unary_unary_rpc_method_handler(
309
+ servicer.DeleteIndex,
310
+ request_deserializer=hermes__pb2.DeleteIndexRequest.FromString,
311
+ response_serializer=hermes__pb2.DeleteIndexResponse.SerializeToString,
312
+ ),
313
+ }
314
+ generic_handler = grpc.method_handlers_generic_handler(
315
+ 'hermes.IndexService', rpc_method_handlers)
316
+ server.add_generic_rpc_handlers((generic_handler,))
317
+ server.add_registered_method_handlers('hermes.IndexService', rpc_method_handlers)
318
+
319
+
320
+ # This class is part of an EXPERIMENTAL API.
321
+ class IndexService(object):
322
+ """Index service
323
+ """
324
+
325
+ @staticmethod
326
+ def CreateIndex(request,
327
+ target,
328
+ options=(),
329
+ channel_credentials=None,
330
+ call_credentials=None,
331
+ insecure=False,
332
+ compression=None,
333
+ wait_for_ready=None,
334
+ timeout=None,
335
+ metadata=None):
336
+ return grpc.experimental.unary_unary(
337
+ request,
338
+ target,
339
+ '/hermes.IndexService/CreateIndex',
340
+ hermes__pb2.CreateIndexRequest.SerializeToString,
341
+ hermes__pb2.CreateIndexResponse.FromString,
342
+ options,
343
+ channel_credentials,
344
+ insecure,
345
+ call_credentials,
346
+ compression,
347
+ wait_for_ready,
348
+ timeout,
349
+ metadata,
350
+ _registered_method=True)
351
+
352
+ @staticmethod
353
+ def IndexDocuments(request_iterator,
354
+ target,
355
+ options=(),
356
+ channel_credentials=None,
357
+ call_credentials=None,
358
+ insecure=False,
359
+ compression=None,
360
+ wait_for_ready=None,
361
+ timeout=None,
362
+ metadata=None):
363
+ return grpc.experimental.stream_unary(
364
+ request_iterator,
365
+ target,
366
+ '/hermes.IndexService/IndexDocuments',
367
+ hermes__pb2.IndexDocumentRequest.SerializeToString,
368
+ hermes__pb2.IndexDocumentsResponse.FromString,
369
+ options,
370
+ channel_credentials,
371
+ insecure,
372
+ call_credentials,
373
+ compression,
374
+ wait_for_ready,
375
+ timeout,
376
+ metadata,
377
+ _registered_method=True)
378
+
379
+ @staticmethod
380
+ def BatchIndexDocuments(request,
381
+ target,
382
+ options=(),
383
+ channel_credentials=None,
384
+ call_credentials=None,
385
+ insecure=False,
386
+ compression=None,
387
+ wait_for_ready=None,
388
+ timeout=None,
389
+ metadata=None):
390
+ return grpc.experimental.unary_unary(
391
+ request,
392
+ target,
393
+ '/hermes.IndexService/BatchIndexDocuments',
394
+ hermes__pb2.BatchIndexDocumentsRequest.SerializeToString,
395
+ hermes__pb2.BatchIndexDocumentsResponse.FromString,
396
+ options,
397
+ channel_credentials,
398
+ insecure,
399
+ call_credentials,
400
+ compression,
401
+ wait_for_ready,
402
+ timeout,
403
+ metadata,
404
+ _registered_method=True)
405
+
406
+ @staticmethod
407
+ def Commit(request,
408
+ target,
409
+ options=(),
410
+ channel_credentials=None,
411
+ call_credentials=None,
412
+ insecure=False,
413
+ compression=None,
414
+ wait_for_ready=None,
415
+ timeout=None,
416
+ metadata=None):
417
+ return grpc.experimental.unary_unary(
418
+ request,
419
+ target,
420
+ '/hermes.IndexService/Commit',
421
+ hermes__pb2.CommitRequest.SerializeToString,
422
+ hermes__pb2.CommitResponse.FromString,
423
+ options,
424
+ channel_credentials,
425
+ insecure,
426
+ call_credentials,
427
+ compression,
428
+ wait_for_ready,
429
+ timeout,
430
+ metadata,
431
+ _registered_method=True)
432
+
433
+ @staticmethod
434
+ def ForceMerge(request,
435
+ target,
436
+ options=(),
437
+ channel_credentials=None,
438
+ call_credentials=None,
439
+ insecure=False,
440
+ compression=None,
441
+ wait_for_ready=None,
442
+ timeout=None,
443
+ metadata=None):
444
+ return grpc.experimental.unary_unary(
445
+ request,
446
+ target,
447
+ '/hermes.IndexService/ForceMerge',
448
+ hermes__pb2.ForceMergeRequest.SerializeToString,
449
+ hermes__pb2.ForceMergeResponse.FromString,
450
+ options,
451
+ channel_credentials,
452
+ insecure,
453
+ call_credentials,
454
+ compression,
455
+ wait_for_ready,
456
+ timeout,
457
+ metadata,
458
+ _registered_method=True)
459
+
460
+ @staticmethod
461
+ def DeleteIndex(request,
462
+ target,
463
+ options=(),
464
+ channel_credentials=None,
465
+ call_credentials=None,
466
+ insecure=False,
467
+ compression=None,
468
+ wait_for_ready=None,
469
+ timeout=None,
470
+ metadata=None):
471
+ return grpc.experimental.unary_unary(
472
+ request,
473
+ target,
474
+ '/hermes.IndexService/DeleteIndex',
475
+ hermes__pb2.DeleteIndexRequest.SerializeToString,
476
+ hermes__pb2.DeleteIndexResponse.FromString,
477
+ options,
478
+ channel_credentials,
479
+ insecure,
480
+ call_credentials,
481
+ compression,
482
+ wait_for_ready,
483
+ timeout,
484
+ metadata,
485
+ _registered_method=True)
@@ -0,0 +1,48 @@
1
+ """Type definitions for Hermes client."""
2
+
3
+ from dataclasses import dataclass, field
4
+ from typing import Any
5
+
6
+
7
+ @dataclass
8
+ class Document:
9
+ """A document with field values."""
10
+
11
+ fields: dict[str, Any] = field(default_factory=dict)
12
+
13
+ def __getitem__(self, key: str) -> Any:
14
+ return self.fields[key]
15
+
16
+ def __setitem__(self, key: str, value: Any) -> None:
17
+ self.fields[key] = value
18
+
19
+ def get(self, key: str, default: Any = None) -> Any:
20
+ return self.fields.get(key, default)
21
+
22
+
23
+ @dataclass
24
+ class SearchHit:
25
+ """A single search result."""
26
+
27
+ doc_id: int
28
+ score: float
29
+ fields: dict[str, Any] = field(default_factory=dict)
30
+
31
+
32
+ @dataclass
33
+ class SearchResponse:
34
+ """Search response with hits and metadata."""
35
+
36
+ hits: list[SearchHit]
37
+ total_hits: int
38
+ took_ms: int
39
+
40
+
41
+ @dataclass
42
+ class IndexInfo:
43
+ """Information about an index."""
44
+
45
+ index_name: str
46
+ num_docs: int
47
+ num_segments: int
48
+ schema: str