trustgraph-base 1.0.11__tar.gz → 1.0.13__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.
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/PKG-INFO +2 -2
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/consumer.py +81 -48
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/consumer_spec.py +3 -1
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/embeddings_service.py +15 -2
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/llm_service.py +19 -3
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/subscriber.py +4 -0
- trustgraph-base-1.0.13/trustgraph/base_version.py +1 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph_base.egg-info/PKG-INFO +2 -2
- trustgraph-base-1.0.11/trustgraph/base_version.py +0 -1
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/README.md +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/setup.cfg +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/setup.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/api/__init__.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/api/api.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/api/config.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/api/exceptions.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/api/flow.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/api/knowledge.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/api/library.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/api/types.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/__init__.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/agent_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/agent_service.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/async_processor.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/document_embeddings_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/document_embeddings_query_service.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/document_embeddings_store_service.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/embeddings_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/flow.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/flow_processor.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/graph_embeddings_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/graph_embeddings_query_service.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/graph_embeddings_store_service.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/graph_rag_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/metrics.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/producer.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/producer_spec.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/prompt_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/publisher.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/pubsub.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/request_response_spec.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/setting_spec.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/spec.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/subscriber_spec.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/text_completion_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/triples_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/triples_query_service.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/triples_store_service.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/__init__.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/agent_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/base.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/config_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/document_embeddings_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/document_rag_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/embeddings_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/graph_embeddings_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/graph_rag_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/llm_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/prompt_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/triples_query_client.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/exceptions.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/knowledge/__init__.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/knowledge/defs.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/knowledge/document.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/knowledge/identifier.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/knowledge/organization.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/knowledge/publication.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/log_level.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/objects/__init__.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/objects/field.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/objects/object.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/rdf.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/__init__.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/agent.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/config.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/documents.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/flows.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/graph.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/knowledge.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/library.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/lookup.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/metadata.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/models.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/object.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/prompt.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/retrieval.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/topic.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/schema/types.py +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph_base.egg-info/SOURCES.txt +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph_base.egg-info/dependency_links.txt +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph_base.egg-info/requires.txt +0 -0
- {trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph_base.egg-info/top_level.txt +0 -0
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: trustgraph-base
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.13
|
4
4
|
Summary: TrustGraph provides a means to run a pipeline of flexible AI processing components in a flexible means to achieve a processing pipeline.
|
5
5
|
Home-page: https://github.com/trustgraph-ai/trustgraph
|
6
|
-
Download-URL: https://github.com/trustgraph-ai/trustgraph/archive/refs/tags/v1.0.
|
6
|
+
Download-URL: https://github.com/trustgraph-ai/trustgraph/archive/refs/tags/v1.0.13.tar.gz
|
7
7
|
Author: trustgraph.ai
|
8
8
|
Author-email: security@trustgraph.ai
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
@@ -1,4 +1,14 @@
|
|
1
1
|
|
2
|
+
# Consumer is similar to subscriber: It takes information from a queue
|
3
|
+
# and passes on to a processor function. This is the main receiving
|
4
|
+
# loop for TrustGraph processors. Incorporates retry functionality
|
5
|
+
|
6
|
+
# Note: there is a 'defect' in the system which is tolerated, althought
|
7
|
+
# the processing handlers are async functions, ideally implementation
|
8
|
+
# would use all async code. In practice if the processor only implements
|
9
|
+
# one handler, and a single thread of concurrency, nothing too outrageous
|
10
|
+
# will happen if synchronous / blocking code is used
|
11
|
+
|
2
12
|
from pulsar.schema import JsonSchema
|
3
13
|
import pulsar
|
4
14
|
import _pulsar
|
@@ -16,6 +26,7 @@ class Consumer:
|
|
16
26
|
start_of_messages=False,
|
17
27
|
rate_limit_retry_time = 10, rate_limit_timeout = 7200,
|
18
28
|
reconnect_time = 5,
|
29
|
+
concurrency = 1, # Number of concurrent requests to handle
|
19
30
|
):
|
20
31
|
|
21
32
|
self.taskgroup = taskgroup
|
@@ -34,7 +45,9 @@ class Consumer:
|
|
34
45
|
self.start_of_messages = start_of_messages
|
35
46
|
|
36
47
|
self.running = True
|
37
|
-
self.
|
48
|
+
self.consumer_task = None
|
49
|
+
|
50
|
+
self.concurrency = concurrency
|
38
51
|
|
39
52
|
self.metrics = metrics
|
40
53
|
|
@@ -52,7 +65,11 @@ class Consumer:
|
|
52
65
|
async def stop(self):
|
53
66
|
|
54
67
|
self.running = False
|
55
|
-
|
68
|
+
|
69
|
+
if self.consumer_task:
|
70
|
+
await self.consumer_task
|
71
|
+
|
72
|
+
self.consumer_task = None
|
56
73
|
|
57
74
|
async def start(self):
|
58
75
|
|
@@ -62,9 +79,9 @@ class Consumer:
|
|
62
79
|
if self.metrics:
|
63
80
|
self.metrics.state("stopped")
|
64
81
|
|
65
|
-
self.
|
82
|
+
self.consumer_task = self.taskgroup.create_task(self.consumer_run())
|
66
83
|
|
67
|
-
async def
|
84
|
+
async def consumer_run(self):
|
68
85
|
|
69
86
|
while self.running:
|
70
87
|
|
@@ -102,7 +119,19 @@ class Consumer:
|
|
102
119
|
|
103
120
|
try:
|
104
121
|
|
105
|
-
|
122
|
+
print(
|
123
|
+
"Starting", self.concurrency, "receiver threads",
|
124
|
+
flush=True
|
125
|
+
)
|
126
|
+
|
127
|
+
async with asyncio.TaskGroup() as tg:
|
128
|
+
|
129
|
+
tasks = []
|
130
|
+
|
131
|
+
for i in range(0, self.concurrency):
|
132
|
+
tasks.append(
|
133
|
+
tg.create_task(self.consume_from_queue())
|
134
|
+
)
|
106
135
|
|
107
136
|
if self.metrics:
|
108
137
|
self.metrics.state("stopped")
|
@@ -120,7 +149,7 @@ class Consumer:
|
|
120
149
|
self.consumer.unsubscribe()
|
121
150
|
self.consumer.close()
|
122
151
|
|
123
|
-
async def
|
152
|
+
async def consume_from_queue(self):
|
124
153
|
|
125
154
|
while self.running:
|
126
155
|
|
@@ -134,71 +163,75 @@ class Consumer:
|
|
134
163
|
except Exception as e:
|
135
164
|
raise e
|
136
165
|
|
137
|
-
|
166
|
+
await self.handle_one_from_queue(msg)
|
138
167
|
|
139
|
-
|
140
|
-
while self.running:
|
168
|
+
async def handle_one_from_queue(self, msg):
|
141
169
|
|
142
|
-
|
170
|
+
expiry = time.time() + self.rate_limit_timeout
|
143
171
|
|
144
|
-
|
172
|
+
# This loop is for retry on rate-limit / resource limits
|
173
|
+
while self.running:
|
145
174
|
|
146
|
-
|
147
|
-
# be retried
|
148
|
-
self.consumer.negative_acknowledge(msg)
|
175
|
+
if time.time() > expiry:
|
149
176
|
|
150
|
-
|
151
|
-
self.metrics.process("error")
|
177
|
+
print("Gave up waiting for rate-limit retry", flush=True)
|
152
178
|
|
153
|
-
|
154
|
-
|
179
|
+
# Message failed to be processed, this causes it to
|
180
|
+
# be retried
|
181
|
+
self.consumer.negative_acknowledge(msg)
|
155
182
|
|
156
|
-
|
183
|
+
if self.metrics:
|
184
|
+
self.metrics.process("error")
|
157
185
|
|
158
|
-
|
186
|
+
# Break out of retry loop, processes next message
|
187
|
+
break
|
159
188
|
|
160
|
-
|
189
|
+
try:
|
190
|
+
|
191
|
+
print("Handle...", flush=True)
|
161
192
|
|
162
|
-
|
163
|
-
await self.handler(msg, self, self.flow)
|
193
|
+
if self.metrics:
|
164
194
|
|
165
|
-
|
195
|
+
with self.metrics.record_time():
|
166
196
|
await self.handler(msg, self, self.flow)
|
167
197
|
|
168
|
-
|
198
|
+
else:
|
199
|
+
await self.handler(msg, self, self.flow)
|
200
|
+
|
201
|
+
print("Handled.", flush=True)
|
169
202
|
|
170
|
-
|
171
|
-
|
203
|
+
# Acknowledge successful processing of the message
|
204
|
+
self.consumer.acknowledge(msg)
|
172
205
|
|
173
|
-
|
174
|
-
|
206
|
+
if self.metrics:
|
207
|
+
self.metrics.process("success")
|
175
208
|
|
176
|
-
|
177
|
-
|
209
|
+
# Break out of retry loop
|
210
|
+
break
|
178
211
|
|
179
|
-
|
212
|
+
except TooManyRequests:
|
180
213
|
|
181
|
-
|
214
|
+
print("TooManyRequests: will retry...", flush=True)
|
182
215
|
|
183
|
-
|
184
|
-
|
216
|
+
if self.metrics:
|
217
|
+
self.metrics.rate_limit()
|
185
218
|
|
186
|
-
|
187
|
-
|
219
|
+
# Sleep
|
220
|
+
await asyncio.sleep(self.rate_limit_retry_time)
|
188
221
|
|
189
|
-
|
190
|
-
|
222
|
+
# Contine from retry loop, just causes a reprocessing
|
223
|
+
continue
|
191
224
|
|
192
|
-
|
225
|
+
except Exception as e:
|
193
226
|
|
194
|
-
|
227
|
+
print("consume exception:", e, flush=True)
|
195
228
|
|
196
|
-
|
197
|
-
|
198
|
-
|
229
|
+
# Message failed to be processed, this causes it to
|
230
|
+
# be retried
|
231
|
+
self.consumer.negative_acknowledge(msg)
|
199
232
|
|
200
|
-
|
201
|
-
|
233
|
+
if self.metrics:
|
234
|
+
self.metrics.process("error")
|
202
235
|
|
203
|
-
|
204
|
-
|
236
|
+
# Break out of retry loop, processes next message
|
237
|
+
break
|
@@ -4,10 +4,11 @@ from . consumer import Consumer
|
|
4
4
|
from . spec import Spec
|
5
5
|
|
6
6
|
class ConsumerSpec(Spec):
|
7
|
-
def __init__(self, name, schema, handler):
|
7
|
+
def __init__(self, name, schema, handler, concurrency = 1):
|
8
8
|
self.name = name
|
9
9
|
self.schema = schema
|
10
10
|
self.handler = handler
|
11
|
+
self.concurrency = concurrency
|
11
12
|
|
12
13
|
def add(self, flow, processor, definition):
|
13
14
|
|
@@ -24,6 +25,7 @@ class ConsumerSpec(Spec):
|
|
24
25
|
schema = self.schema,
|
25
26
|
handler = self.handler,
|
26
27
|
metrics = consumer_metrics,
|
28
|
+
concurrency = self.concurrency
|
27
29
|
)
|
28
30
|
|
29
31
|
# Consumer handle gets access to producers and other
|
@@ -11,20 +11,26 @@ from .. exceptions import TooManyRequests
|
|
11
11
|
from .. base import FlowProcessor, ConsumerSpec, ProducerSpec
|
12
12
|
|
13
13
|
default_ident = "embeddings"
|
14
|
+
default_concurrency = 1
|
14
15
|
|
15
16
|
class EmbeddingsService(FlowProcessor):
|
16
17
|
|
17
18
|
def __init__(self, **params):
|
18
19
|
|
19
20
|
id = params.get("id")
|
21
|
+
concurrency = params.get("concurrency", 1)
|
20
22
|
|
21
|
-
super(EmbeddingsService, self).__init__(**params | {
|
23
|
+
super(EmbeddingsService, self).__init__(**params | {
|
24
|
+
"id": id,
|
25
|
+
"concurrency": concurrency,
|
26
|
+
})
|
22
27
|
|
23
28
|
self.register_specification(
|
24
29
|
ConsumerSpec(
|
25
30
|
name = "request",
|
26
31
|
schema = EmbeddingsRequest,
|
27
|
-
handler = self.on_request
|
32
|
+
handler = self.on_request,
|
33
|
+
concurrency = concurrency,
|
28
34
|
)
|
29
35
|
)
|
30
36
|
|
@@ -84,6 +90,13 @@ class EmbeddingsService(FlowProcessor):
|
|
84
90
|
@staticmethod
|
85
91
|
def add_args(parser):
|
86
92
|
|
93
|
+
parser.add_argument(
|
94
|
+
'-c', '--concurrency',
|
95
|
+
type=int,
|
96
|
+
default=default_concurrency,
|
97
|
+
help=f'Concurrent processing threads (default: {default_concurrency})'
|
98
|
+
)
|
99
|
+
|
87
100
|
FlowProcessor.add_args(parser)
|
88
101
|
|
89
102
|
|
@@ -11,9 +11,13 @@ from .. exceptions import TooManyRequests
|
|
11
11
|
from .. base import FlowProcessor, ConsumerSpec, ProducerSpec
|
12
12
|
|
13
13
|
default_ident = "text-completion"
|
14
|
+
default_concurrency = 1
|
14
15
|
|
15
16
|
class LlmResult:
|
16
|
-
def __init__(
|
17
|
+
def __init__(
|
18
|
+
self, text = None, in_token = None, out_token = None,
|
19
|
+
model = None,
|
20
|
+
):
|
17
21
|
self.text = text
|
18
22
|
self.in_token = in_token
|
19
23
|
self.out_token = out_token
|
@@ -25,14 +29,19 @@ class LlmService(FlowProcessor):
|
|
25
29
|
def __init__(self, **params):
|
26
30
|
|
27
31
|
id = params.get("id")
|
32
|
+
concurrency = params.get("concurrency", 1)
|
28
33
|
|
29
|
-
super(LlmService, self).__init__(**params | {
|
34
|
+
super(LlmService, self).__init__(**params | {
|
35
|
+
"id": id,
|
36
|
+
"concurrency": concurrency,
|
37
|
+
})
|
30
38
|
|
31
39
|
self.register_specification(
|
32
40
|
ConsumerSpec(
|
33
41
|
name = "request",
|
34
42
|
schema = TextCompletionRequest,
|
35
|
-
handler = self.on_request
|
43
|
+
handler = self.on_request,
|
44
|
+
concurrency = concurrency,
|
36
45
|
)
|
37
46
|
)
|
38
47
|
|
@@ -115,5 +124,12 @@ class LlmService(FlowProcessor):
|
|
115
124
|
@staticmethod
|
116
125
|
def add_args(parser):
|
117
126
|
|
127
|
+
parser.add_argument(
|
128
|
+
'-c', '--concurrency',
|
129
|
+
type=int,
|
130
|
+
default=default_concurrency,
|
131
|
+
help=f'Concurrent processing threads (default: {default_concurrency})'
|
132
|
+
)
|
133
|
+
|
118
134
|
FlowProcessor.add_args(parser)
|
119
135
|
|
@@ -1,4 +1,8 @@
|
|
1
1
|
|
2
|
+
# Subscriber is similar to consumer: It provides a service to take stuff
|
3
|
+
# off of a queue and make it available using an internal broker system,
|
4
|
+
# so suitable for when multiple recipients are reading from the same queue
|
5
|
+
|
2
6
|
from pulsar.schema import JsonSchema
|
3
7
|
import asyncio
|
4
8
|
import _pulsar
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "1.0.13"
|
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: trustgraph-base
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.13
|
4
4
|
Summary: TrustGraph provides a means to run a pipeline of flexible AI processing components in a flexible means to achieve a processing pipeline.
|
5
5
|
Home-page: https://github.com/trustgraph-ai/trustgraph
|
6
|
-
Download-URL: https://github.com/trustgraph-ai/trustgraph/archive/refs/tags/v1.0.
|
6
|
+
Download-URL: https://github.com/trustgraph-ai/trustgraph/archive/refs/tags/v1.0.13.tar.gz
|
7
7
|
Author: trustgraph.ai
|
8
8
|
Author-email: security@trustgraph.ai
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "1.0.11"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/document_embeddings_client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/graph_embeddings_client.py
RENAMED
File without changes
|
{trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/graph_embeddings_query_service.py
RENAMED
File without changes
|
{trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/base/graph_embeddings_store_service.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/document_embeddings_client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/graph_embeddings_client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph/clients/triples_query_client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{trustgraph-base-1.0.11 → trustgraph-base-1.0.13}/trustgraph_base.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|