trustgraph-base 2.3.9__tar.gz → 2.3.10__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.
Files changed (178) hide show
  1. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/PKG-INFO +1 -1
  2. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/pyproject.toml +3 -0
  3. trustgraph_base-2.3.10/trustgraph/base/processor_group.py +197 -0
  4. trustgraph_base-2.3.10/trustgraph/base_version.py +1 -0
  5. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph_base.egg-info/PKG-INFO +1 -1
  6. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph_base.egg-info/SOURCES.txt +2 -0
  7. trustgraph_base-2.3.10/trustgraph_base.egg-info/entry_points.txt +2 -0
  8. trustgraph_base-2.3.9/trustgraph/base_version.py +0 -1
  9. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/README.md +0 -0
  10. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/setup.cfg +0 -0
  11. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/__init__.py +0 -0
  12. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/api.py +0 -0
  13. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/async_bulk_client.py +0 -0
  14. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/async_flow.py +0 -0
  15. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/async_metrics.py +0 -0
  16. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/async_socket_client.py +0 -0
  17. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/bulk_client.py +0 -0
  18. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/collection.py +0 -0
  19. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/config.py +0 -0
  20. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/exceptions.py +0 -0
  21. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/explainability.py +0 -0
  22. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/flow.py +0 -0
  23. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/knowledge.py +0 -0
  24. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/library.py +0 -0
  25. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/metrics.py +0 -0
  26. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/socket_client.py +0 -0
  27. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/api/types.py +0 -0
  28. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/__init__.py +0 -0
  29. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/agent_client.py +0 -0
  30. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/agent_service.py +0 -0
  31. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/async_processor.py +0 -0
  32. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/backend.py +0 -0
  33. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/cassandra_config.py +0 -0
  34. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/chunking_service.py +0 -0
  35. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/collection_config_handler.py +0 -0
  36. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/consumer.py +0 -0
  37. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/consumer_spec.py +0 -0
  38. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/document_embeddings_client.py +0 -0
  39. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/document_embeddings_query_service.py +0 -0
  40. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/document_embeddings_store_service.py +0 -0
  41. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/dynamic_tool_service.py +0 -0
  42. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/embeddings_client.py +0 -0
  43. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/embeddings_service.py +0 -0
  44. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/flow.py +0 -0
  45. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/flow_processor.py +0 -0
  46. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/graph_embeddings_client.py +0 -0
  47. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/graph_embeddings_query_service.py +0 -0
  48. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/graph_embeddings_store_service.py +0 -0
  49. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/graph_rag_client.py +0 -0
  50. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/librarian_client.py +0 -0
  51. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/llm_service.py +0 -0
  52. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/logging.py +0 -0
  53. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/metrics.py +0 -0
  54. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/parameter_spec.py +0 -0
  55. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/producer.py +0 -0
  56. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/producer_spec.py +0 -0
  57. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/prompt_client.py +0 -0
  58. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/publisher.py +0 -0
  59. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/pubsub.py +0 -0
  60. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/pulsar_backend.py +0 -0
  61. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/rabbitmq_backend.py +0 -0
  62. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/request_response_spec.py +0 -0
  63. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/row_embeddings_query_client.py +0 -0
  64. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/serialization.py +0 -0
  65. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/spec.py +0 -0
  66. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/structured_query_client.py +0 -0
  67. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/subscriber.py +0 -0
  68. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/subscriber_spec.py +0 -0
  69. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/text_completion_client.py +0 -0
  70. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/tool_client.py +0 -0
  71. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/tool_service.py +0 -0
  72. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/tool_service_client.py +0 -0
  73. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/triples_client.py +0 -0
  74. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/triples_query_service.py +0 -0
  75. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/base/triples_store_service.py +0 -0
  76. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/clients/__init__.py +0 -0
  77. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/clients/agent_client.py +0 -0
  78. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/clients/base.py +0 -0
  79. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/clients/config_client.py +0 -0
  80. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/clients/document_embeddings_client.py +0 -0
  81. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/clients/document_rag_client.py +0 -0
  82. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/clients/embeddings_client.py +0 -0
  83. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/clients/graph_embeddings_client.py +0 -0
  84. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/clients/graph_rag_client.py +0 -0
  85. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/clients/llm_client.py +0 -0
  86. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/clients/prompt_client.py +0 -0
  87. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/clients/row_embeddings_client.py +0 -0
  88. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/clients/triples_query_client.py +0 -0
  89. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/exceptions.py +0 -0
  90. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/i18n/__init__.py +0 -0
  91. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/i18n/packs/__init__.py +0 -0
  92. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/i18n/packs/ar.json +0 -0
  93. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/i18n/packs/en.json +0 -0
  94. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/i18n/packs/es.json +0 -0
  95. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/i18n/packs/he.json +0 -0
  96. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/i18n/packs/hi.json +0 -0
  97. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/i18n/packs/pt.json +0 -0
  98. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/i18n/packs/ru.json +0 -0
  99. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/i18n/packs/sw.json +0 -0
  100. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/i18n/packs/tr.json +0 -0
  101. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/i18n/packs/zh-cn.json +0 -0
  102. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/knowledge/__init__.py +0 -0
  103. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/knowledge/defs.py +0 -0
  104. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/knowledge/document.py +0 -0
  105. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/knowledge/identifier.py +0 -0
  106. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/knowledge/organization.py +0 -0
  107. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/knowledge/publication.py +0 -0
  108. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/log_level.py +0 -0
  109. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/__init__.py +0 -0
  110. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/registry.py +0 -0
  111. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/__init__.py +0 -0
  112. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/agent.py +0 -0
  113. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/base.py +0 -0
  114. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/collection.py +0 -0
  115. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/config.py +0 -0
  116. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/diagnosis.py +0 -0
  117. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/document_loading.py +0 -0
  118. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/embeddings.py +0 -0
  119. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/embeddings_query.py +0 -0
  120. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/flow.py +0 -0
  121. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/knowledge.py +0 -0
  122. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/library.py +0 -0
  123. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/metadata.py +0 -0
  124. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/nlp_query.py +0 -0
  125. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/primitives.py +0 -0
  126. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/prompt.py +0 -0
  127. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/retrieval.py +0 -0
  128. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/rows_query.py +0 -0
  129. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/sparql_query.py +0 -0
  130. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/structured_query.py +0 -0
  131. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/text_completion.py +0 -0
  132. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/tool.py +0 -0
  133. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/triples.py +0 -0
  134. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/objects/__init__.py +0 -0
  135. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/objects/field.py +0 -0
  136. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/objects/object.py +0 -0
  137. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/provenance/__init__.py +0 -0
  138. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/provenance/agent.py +0 -0
  139. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/provenance/namespaces.py +0 -0
  140. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/provenance/triples.py +0 -0
  141. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/provenance/uris.py +0 -0
  142. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/provenance/vocabulary.py +0 -0
  143. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/rdf.py +0 -0
  144. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/__init__.py +0 -0
  145. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/core/__init__.py +0 -0
  146. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/core/metadata.py +0 -0
  147. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/core/primitives.py +0 -0
  148. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/core/topic.py +0 -0
  149. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/__init__.py +0 -0
  150. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/document.py +0 -0
  151. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/embeddings.py +0 -0
  152. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/graph.py +0 -0
  153. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/knowledge.py +0 -0
  154. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/nlp.py +0 -0
  155. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/object.py +0 -0
  156. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/rows.py +0 -0
  157. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/structured.py +0 -0
  158. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/__init__.py +0 -0
  159. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/agent.py +0 -0
  160. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/collection.py +0 -0
  161. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/config.py +0 -0
  162. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/diagnosis.py +0 -0
  163. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/flow.py +0 -0
  164. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/library.py +0 -0
  165. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/llm.py +0 -0
  166. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/lookup.py +0 -0
  167. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/nlp_query.py +0 -0
  168. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/prompt.py +0 -0
  169. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/query.py +0 -0
  170. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/retrieval.py +0 -0
  171. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/rows_query.py +0 -0
  172. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/sparql_query.py +0 -0
  173. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/storage.py +0 -0
  174. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/structured_query.py +0 -0
  175. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph/schema/services/tool_service.py +0 -0
  176. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph_base.egg-info/dependency_links.txt +0 -0
  177. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph_base.egg-info/requires.txt +0 -0
  178. {trustgraph_base-2.3.9 → trustgraph_base-2.3.10}/trustgraph_base.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trustgraph-base
3
- Version: 2.3.9
3
+ Version: 2.3.10
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
  Author-email: "trustgraph.ai" <security@trustgraph.ai>
6
6
  Project-URL: Homepage, https://github.com/trustgraph-ai/trustgraph
@@ -24,6 +24,9 @@ classifiers = [
24
24
  [project.urls]
25
25
  Homepage = "https://github.com/trustgraph-ai/trustgraph"
26
26
 
27
+ [project.scripts]
28
+ processor-group = "trustgraph.base.processor_group:run"
29
+
27
30
  [tool.setuptools.packages.find]
28
31
  include = ["trustgraph*"]
29
32
 
@@ -0,0 +1,197 @@
1
+
2
+ # Multi-processor group runner. Runs multiple AsyncProcessor descendants
3
+ # as concurrent tasks inside a single process, sharing one event loop,
4
+ # one Prometheus HTTP server, and one pub/sub backend pool.
5
+ #
6
+ # Intended for dev and resource-constrained deployments. Scale deployments
7
+ # should continue to use per-processor endpoints.
8
+ #
9
+ # Group config is a YAML or JSON file with shape:
10
+ #
11
+ # processors:
12
+ # - class: trustgraph.extract.kg.definitions.extract.Processor
13
+ # params:
14
+ # id: kg-extract-definitions
15
+ # triples_batch_size: 1000
16
+ # - class: trustgraph.chunking.recursive.Processor
17
+ # params:
18
+ # id: chunker-recursive
19
+ #
20
+ # Each entry's params are passed directly to the class constructor alongside
21
+ # the shared taskgroup. Defaults live inside each processor class.
22
+
23
+ import argparse
24
+ import asyncio
25
+ import importlib
26
+ import json
27
+ import logging
28
+ import time
29
+
30
+ from prometheus_client import start_http_server
31
+
32
+ from . logging import add_logging_args, setup_logging
33
+
34
+ logger = logging.getLogger(__name__)
35
+
36
+
37
+ def _load_config(path):
38
+ with open(path) as f:
39
+ text = f.read()
40
+ if path.endswith((".yaml", ".yml")):
41
+ import yaml
42
+ return yaml.safe_load(text)
43
+ return json.loads(text)
44
+
45
+
46
+ def _resolve_class(dotted):
47
+ module_path, _, class_name = dotted.rpartition(".")
48
+ if not module_path:
49
+ raise ValueError(
50
+ f"Processor class must be a dotted path, got {dotted!r}"
51
+ )
52
+ module = importlib.import_module(module_path)
53
+ return getattr(module, class_name)
54
+
55
+
56
+ RESTART_DELAY_SECONDS = 4
57
+
58
+
59
+ async def _supervise(entry):
60
+ """Run one processor with its own nested TaskGroup, restarting on any
61
+ failure. Each processor is isolated from its siblings — a crash here
62
+ does not propagate to the outer group."""
63
+
64
+ pid = entry["params"]["id"]
65
+ class_path = entry["class"]
66
+
67
+ while True:
68
+
69
+ try:
70
+
71
+ async with asyncio.TaskGroup() as inner_tg:
72
+
73
+ cls = _resolve_class(class_path)
74
+ params = dict(entry.get("params", {}))
75
+ params["taskgroup"] = inner_tg
76
+
77
+ logger.info(f"Starting {class_path} as {pid}")
78
+
79
+ p = cls(**params)
80
+ await p.start()
81
+ inner_tg.create_task(p.run())
82
+
83
+ # Clean exit — processor's run() returned without raising.
84
+ # Treat as a transient shutdown and restart, matching the
85
+ # behaviour of per-container `restart: on-failure`.
86
+ logger.warning(
87
+ f"Processor {pid} exited cleanly, will restart"
88
+ )
89
+
90
+ except asyncio.CancelledError:
91
+ logger.info(f"Processor {pid} cancelled")
92
+ raise
93
+
94
+ except BaseExceptionGroup as eg:
95
+ for e in eg.exceptions:
96
+ logger.error(
97
+ f"Processor {pid} failure: {type(e).__name__}: {e}",
98
+ exc_info=e,
99
+ )
100
+
101
+ except Exception as e:
102
+ logger.error(
103
+ f"Processor {pid} failure: {type(e).__name__}: {e}",
104
+ exc_info=True,
105
+ )
106
+
107
+ logger.info(
108
+ f"Restarting {pid} in {RESTART_DELAY_SECONDS}s..."
109
+ )
110
+ await asyncio.sleep(RESTART_DELAY_SECONDS)
111
+
112
+
113
+ async def run_group(config):
114
+
115
+ entries = config.get("processors", [])
116
+ if not entries:
117
+ raise RuntimeError("Group config has no processors")
118
+
119
+ seen_ids = set()
120
+ for entry in entries:
121
+ pid = entry.get("params", {}).get("id")
122
+ if pid is None:
123
+ raise RuntimeError(
124
+ f"Entry {entry.get('class')!r} missing params.id — "
125
+ f"required for metrics labelling"
126
+ )
127
+ if pid in seen_ids:
128
+ raise RuntimeError(f"Duplicate processor id {pid!r} in group")
129
+ seen_ids.add(pid)
130
+
131
+ async with asyncio.TaskGroup() as outer_tg:
132
+ for entry in entries:
133
+ outer_tg.create_task(_supervise(entry))
134
+
135
+
136
+ def run():
137
+
138
+ parser = argparse.ArgumentParser(
139
+ prog="processor-group",
140
+ description="Run multiple processors as tasks in one process",
141
+ )
142
+
143
+ parser.add_argument(
144
+ "-c", "--config",
145
+ required=True,
146
+ help="Path to group config file (JSON or YAML)",
147
+ )
148
+
149
+ parser.add_argument(
150
+ "--metrics",
151
+ action=argparse.BooleanOptionalAction,
152
+ default=True,
153
+ help="Metrics enabled (default: true)",
154
+ )
155
+
156
+ parser.add_argument(
157
+ "-P", "--metrics-port",
158
+ type=int,
159
+ default=8000,
160
+ help="Prometheus metrics port (default: 8000)",
161
+ )
162
+
163
+ add_logging_args(parser)
164
+
165
+ args = vars(parser.parse_args())
166
+
167
+ setup_logging(args)
168
+
169
+ config = _load_config(args["config"])
170
+
171
+ if args["metrics"]:
172
+ start_http_server(args["metrics_port"])
173
+
174
+ while True:
175
+
176
+ logger.info("Starting group...")
177
+
178
+ try:
179
+ asyncio.run(run_group(config))
180
+
181
+ except KeyboardInterrupt:
182
+ logger.info("Keyboard interrupt.")
183
+ return
184
+
185
+ except ExceptionGroup as e:
186
+ logger.error("Exception group:")
187
+ for se in e.exceptions:
188
+ logger.error(f" Type: {type(se)}")
189
+ logger.error(f" Exception: {se}", exc_info=se)
190
+
191
+ except Exception as e:
192
+ logger.error(f"Type: {type(e)}")
193
+ logger.error(f"Exception: {e}", exc_info=True)
194
+
195
+ logger.warning("Will retry...")
196
+ time.sleep(4)
197
+ logger.info("Retrying...")
@@ -0,0 +1 @@
1
+ __version__ = "2.3.10"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trustgraph-base
3
- Version: 2.3.9
3
+ Version: 2.3.10
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
  Author-email: "trustgraph.ai" <security@trustgraph.ai>
6
6
  Project-URL: Homepage, https://github.com/trustgraph-ai/trustgraph
@@ -48,6 +48,7 @@ trustgraph/base/llm_service.py
48
48
  trustgraph/base/logging.py
49
49
  trustgraph/base/metrics.py
50
50
  trustgraph/base/parameter_spec.py
51
+ trustgraph/base/processor_group.py
51
52
  trustgraph/base/producer.py
52
53
  trustgraph/base/producer_spec.py
53
54
  trustgraph/base/prompt_client.py
@@ -169,5 +170,6 @@ trustgraph/schema/services/tool_service.py
169
170
  trustgraph_base.egg-info/PKG-INFO
170
171
  trustgraph_base.egg-info/SOURCES.txt
171
172
  trustgraph_base.egg-info/dependency_links.txt
173
+ trustgraph_base.egg-info/entry_points.txt
172
174
  trustgraph_base.egg-info/requires.txt
173
175
  trustgraph_base.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ processor-group = trustgraph.base.processor_group:run
@@ -1 +0,0 @@
1
- __version__ = "2.3.9"