trustgraph-base 2.8.2__tar.gz → 2.8.3__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-2.8.2 → trustgraph_base-2.8.3}/PKG-INFO +1 -1
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/async_processor.py +2 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/metrics.py +40 -27
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/receiver_pool.py +45 -2
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/sender_pool.py +15 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/tool_service.py +2 -3
- trustgraph_base-2.8.3/trustgraph/base_version.py +1 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph_base.egg-info/PKG-INFO +1 -1
- trustgraph_base-2.8.2/trustgraph/base_version.py +0 -1
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/README.md +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/pyproject.toml +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/setup.cfg +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/__init__.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/api.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/async_bulk_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/async_flow.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/async_metrics.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/async_socket_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/bulk_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/collection.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/config.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/exceptions.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/explainability.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/flow.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/knowledge.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/library.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/metrics.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/socket_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/api/types.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/__init__.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/agent_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/agent_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/async_backend.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/async_config_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/async_kafka_backend.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/async_librarian_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/async_pulsar_backend.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/async_rabbitmq_backend.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/async_rr_wrapper.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/audit_publisher.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/backend.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/cassandra_config.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/chunking_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/collection_config_handler.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/config_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/consumer_spec.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/document_embeddings_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/document_embeddings_query_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/document_embeddings_store_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/dynamic_tool_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/embeddings_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/embeddings_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/flow.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/flow_processor.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/graph_embeddings_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/graph_embeddings_query_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/graph_embeddings_store_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/graph_rag_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/iam_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/image_to_text_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/keyword_index_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/keyword_index_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/librarian_spec.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/llm_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/logging.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/parameter_spec.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/processor_group.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/producer_spec.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/prompt_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/pubsub.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/qdrant_config.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/request_response_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/request_response_spec.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/reranker_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/reranker_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/row_embeddings_query_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/schema_compatibility.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/serialization.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/spec.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/structured_query_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/text_completion_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/tool_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/tool_service_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/triples_client.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/triples_query_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/triples_store_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/workspace_processor.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/exceptions.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/i18n/__init__.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/i18n/packs/__init__.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/i18n/packs/ar.json +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/i18n/packs/en.json +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/i18n/packs/es.json +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/i18n/packs/he.json +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/i18n/packs/hi.json +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/i18n/packs/pt.json +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/i18n/packs/ru.json +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/i18n/packs/sw.json +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/i18n/packs/tr.json +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/i18n/packs/zh-cn.json +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/knowledge/__init__.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/knowledge/defs.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/knowledge/document.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/knowledge/identifier.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/knowledge/organization.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/knowledge/publication.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/log_level.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/__init__.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/registry.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/__init__.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/agent.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/base.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/collection.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/config.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/diagnosis.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/document_loading.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/embeddings.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/embeddings_query.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/flow.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/iam.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/image_to_text.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/knowledge.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/library.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/metadata.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/nlp_query.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/primitives.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/prompt.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/reranker.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/retrieval.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/rows_query.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/sparql_query.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/structured_query.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/text_completion.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/tool.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/triples.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/objects/__init__.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/objects/field.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/objects/object.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/provenance/__init__.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/provenance/agent.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/provenance/namespaces.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/provenance/triples.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/provenance/uris.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/provenance/vocabulary.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/rdf.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/__init__.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/core/__init__.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/core/metadata.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/core/primitives.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/core/topic.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/knowledge/__init__.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/knowledge/document.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/knowledge/embeddings.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/knowledge/graph.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/knowledge/knowledge.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/knowledge/nlp.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/knowledge/object.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/knowledge/rows.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/knowledge/structured.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/__init__.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/agent.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/audit.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/collection.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/config.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/diagnosis.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/flow.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/iam.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/image_to_text.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/library.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/llm.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/lookup.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/nlp_query.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/prompt.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/query.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/reranker.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/retrieval.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/rows_query.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/sparql_query.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/storage.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/structured_query.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/tool_service.py +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph_base.egg-info/SOURCES.txt +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph_base.egg-info/dependency_links.txt +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph_base.egg-info/entry_points.txt +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph_base.egg-info/requires.txt +0 -0
- {trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/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.8.
|
|
3
|
+
Version: 2.8.3
|
|
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
|
|
@@ -51,10 +51,12 @@ class AsyncProcessor:
|
|
|
51
51
|
self.receiver_pool = ReceiverPool(
|
|
52
52
|
backend=self.async_backend,
|
|
53
53
|
concurrency=self.concurrency,
|
|
54
|
+
processor_id=self.id,
|
|
54
55
|
)
|
|
55
56
|
|
|
56
57
|
self.sender_pool = SenderPool(
|
|
57
58
|
backend=self.async_backend,
|
|
59
|
+
processor_id=self.id,
|
|
58
60
|
)
|
|
59
61
|
|
|
60
62
|
self.config_push_queue = params.get(
|
|
@@ -13,13 +13,11 @@ class ConsumerMetrics:
|
|
|
13
13
|
|
|
14
14
|
self.processor = processor
|
|
15
15
|
self.consumer = consumer
|
|
16
|
-
self.workspace = workspace
|
|
17
|
-
self.flow = flow
|
|
18
16
|
|
|
19
17
|
if not hasattr(__class__, "state_metric"):
|
|
20
18
|
__class__.state_metric = Enum(
|
|
21
19
|
'consumer_state', 'Consumer state',
|
|
22
|
-
["processor", "
|
|
20
|
+
["processor", "consumer"],
|
|
23
21
|
states=['stopped', 'running']
|
|
24
22
|
)
|
|
25
23
|
|
|
@@ -32,31 +30,46 @@ class ConsumerMetrics:
|
|
|
32
30
|
if not hasattr(__class__, "processing_metric"):
|
|
33
31
|
__class__.processing_metric = Counter(
|
|
34
32
|
'processing_count', 'Processing count',
|
|
35
|
-
["processor", "
|
|
33
|
+
["processor", "consumer", "status"],
|
|
36
34
|
)
|
|
37
35
|
|
|
38
36
|
if not hasattr(__class__, "rate_limit_metric"):
|
|
39
37
|
__class__.rate_limit_metric = Counter(
|
|
40
38
|
'rate_limit_count', 'Rate limit event count',
|
|
41
|
-
["processor", "
|
|
39
|
+
["processor", "consumer"],
|
|
42
40
|
)
|
|
43
41
|
|
|
42
|
+
__class__.request_metric.labels(
|
|
43
|
+
processor=self.processor, consumer=self.consumer,
|
|
44
|
+
)
|
|
45
|
+
__class__.processing_metric.labels(
|
|
46
|
+
processor=self.processor, consumer=self.consumer,
|
|
47
|
+
status="ok",
|
|
48
|
+
)
|
|
49
|
+
__class__.processing_metric.labels(
|
|
50
|
+
processor=self.processor, consumer=self.consumer,
|
|
51
|
+
status="error",
|
|
52
|
+
)
|
|
53
|
+
__class__.rate_limit_metric.labels(
|
|
54
|
+
processor=self.processor, consumer=self.consumer,
|
|
55
|
+
)
|
|
56
|
+
|
|
44
57
|
def process(self, status: str) -> None:
|
|
45
58
|
__class__.processing_metric.labels(
|
|
46
|
-
processor=self.processor,
|
|
47
|
-
|
|
59
|
+
processor=self.processor,
|
|
60
|
+
consumer=self.consumer, status=status,
|
|
48
61
|
).inc()
|
|
49
62
|
|
|
50
63
|
def rate_limit(self) -> None:
|
|
51
64
|
__class__.rate_limit_metric.labels(
|
|
52
|
-
processor=self.processor,
|
|
53
|
-
|
|
65
|
+
processor=self.processor,
|
|
66
|
+
consumer=self.consumer,
|
|
54
67
|
).inc()
|
|
55
68
|
|
|
56
69
|
def state(self, state: str) -> None:
|
|
57
70
|
__class__.state_metric.labels(
|
|
58
|
-
processor=self.processor,
|
|
59
|
-
|
|
71
|
+
processor=self.processor,
|
|
72
|
+
consumer=self.consumer,
|
|
60
73
|
).state(state)
|
|
61
74
|
|
|
62
75
|
def record_time(self) -> Any:
|
|
@@ -72,19 +85,21 @@ class ProducerMetrics:
|
|
|
72
85
|
|
|
73
86
|
self.processor = processor
|
|
74
87
|
self.producer = producer
|
|
75
|
-
self.workspace = workspace
|
|
76
|
-
self.flow = flow
|
|
77
88
|
|
|
78
89
|
if not hasattr(__class__, "producer_metric"):
|
|
79
90
|
__class__.producer_metric = Counter(
|
|
80
91
|
'producer_count', 'Output items produced',
|
|
81
|
-
["processor", "
|
|
92
|
+
["processor", "producer"],
|
|
82
93
|
)
|
|
83
94
|
|
|
95
|
+
__class__.producer_metric.labels(
|
|
96
|
+
processor=self.processor, producer=self.producer,
|
|
97
|
+
)
|
|
98
|
+
|
|
84
99
|
def inc(self) -> None:
|
|
85
100
|
__class__.producer_metric.labels(
|
|
86
|
-
processor=self.processor,
|
|
87
|
-
|
|
101
|
+
processor=self.processor,
|
|
102
|
+
producer=self.producer,
|
|
88
103
|
).inc()
|
|
89
104
|
|
|
90
105
|
class ProcessorMetrics:
|
|
@@ -111,42 +126,40 @@ class SubscriberMetrics:
|
|
|
111
126
|
|
|
112
127
|
self.processor = processor
|
|
113
128
|
self.subscriber = subscriber
|
|
114
|
-
self.workspace = workspace
|
|
115
|
-
self.flow = flow
|
|
116
129
|
|
|
117
130
|
if not hasattr(__class__, "state_metric"):
|
|
118
131
|
__class__.state_metric = Enum(
|
|
119
132
|
'subscriber_state', 'Subscriber state',
|
|
120
|
-
["processor", "
|
|
133
|
+
["processor", "subscriber"],
|
|
121
134
|
states=['stopped', 'running']
|
|
122
135
|
)
|
|
123
136
|
|
|
124
137
|
if not hasattr(__class__, "received_metric"):
|
|
125
138
|
__class__.received_metric = Counter(
|
|
126
139
|
'received_count', 'Received count',
|
|
127
|
-
["processor", "
|
|
140
|
+
["processor", "subscriber"],
|
|
128
141
|
)
|
|
129
142
|
|
|
130
143
|
if not hasattr(__class__, "dropped_metric"):
|
|
131
144
|
__class__.dropped_metric = Counter(
|
|
132
145
|
'dropped_count', 'Dropped messages count',
|
|
133
|
-
["processor", "
|
|
146
|
+
["processor", "subscriber"],
|
|
134
147
|
)
|
|
135
148
|
|
|
136
149
|
def received(self) -> None:
|
|
137
150
|
__class__.received_metric.labels(
|
|
138
|
-
processor=self.processor,
|
|
139
|
-
|
|
151
|
+
processor=self.processor,
|
|
152
|
+
subscriber=self.subscriber,
|
|
140
153
|
).inc()
|
|
141
154
|
|
|
142
155
|
def state(self, state: str) -> None:
|
|
143
156
|
__class__.state_metric.labels(
|
|
144
|
-
processor=self.processor,
|
|
145
|
-
|
|
157
|
+
processor=self.processor,
|
|
158
|
+
subscriber=self.subscriber,
|
|
146
159
|
).state(state)
|
|
147
160
|
|
|
148
161
|
def dropped(self, state: str) -> None:
|
|
149
162
|
__class__.dropped_metric.labels(
|
|
150
|
-
processor=self.processor,
|
|
151
|
-
|
|
163
|
+
processor=self.processor,
|
|
164
|
+
subscriber=self.subscriber,
|
|
152
165
|
).inc()
|
|
@@ -26,6 +26,7 @@ class ConsumerRegistration:
|
|
|
26
26
|
backend_consumer: AsyncBackendConsumer
|
|
27
27
|
receiver_task: asyncio.Task
|
|
28
28
|
pool: 'ReceiverPool'
|
|
29
|
+
metrics: Any = None
|
|
29
30
|
|
|
30
31
|
async def unregister(self):
|
|
31
32
|
await self.pool.remove_consumer(self)
|
|
@@ -58,9 +59,13 @@ class ReceiverPool:
|
|
|
58
59
|
await pool.stop()
|
|
59
60
|
"""
|
|
60
61
|
|
|
61
|
-
def __init__(
|
|
62
|
+
def __init__(
|
|
63
|
+
self, backend: AsyncPubSubBackend, concurrency: int = 1,
|
|
64
|
+
processor_id: str | None = None,
|
|
65
|
+
):
|
|
62
66
|
self.backend = backend
|
|
63
67
|
self.concurrency = concurrency
|
|
68
|
+
self.processor_id = processor_id
|
|
64
69
|
self.work_queue = asyncio.Queue(maxsize=concurrency)
|
|
65
70
|
self.registrations: list[ConsumerRegistration] = []
|
|
66
71
|
self.worker_tasks: list[asyncio.Task] = []
|
|
@@ -93,6 +98,11 @@ class ReceiverPool:
|
|
|
93
98
|
await reg.receiver_task
|
|
94
99
|
except BaseException:
|
|
95
100
|
pass
|
|
101
|
+
|
|
102
|
+
for reg in self.registrations:
|
|
103
|
+
if reg.metrics:
|
|
104
|
+
reg.metrics.state("stopped")
|
|
105
|
+
|
|
96
106
|
self.registrations.clear()
|
|
97
107
|
|
|
98
108
|
if not self.work_queue.empty():
|
|
@@ -136,8 +146,18 @@ class ReceiverPool:
|
|
|
136
146
|
initial_position=initial_position,
|
|
137
147
|
)
|
|
138
148
|
|
|
149
|
+
metrics = None
|
|
150
|
+
if self.processor_id:
|
|
151
|
+
from .metrics import ConsumerMetrics
|
|
152
|
+
metrics = ConsumerMetrics(
|
|
153
|
+
processor=self.processor_id, consumer=topic,
|
|
154
|
+
)
|
|
155
|
+
metrics.state("running")
|
|
156
|
+
|
|
157
|
+
instrumented = self._instrumented_handler(handler, metrics)
|
|
158
|
+
|
|
139
159
|
receiver_task = asyncio.create_task(
|
|
140
|
-
self._receiver_loop(backend_consumer,
|
|
160
|
+
self._receiver_loop(backend_consumer, instrumented),
|
|
141
161
|
name=f"receiver-{topic}",
|
|
142
162
|
)
|
|
143
163
|
|
|
@@ -147,12 +167,32 @@ class ReceiverPool:
|
|
|
147
167
|
backend_consumer=backend_consumer,
|
|
148
168
|
receiver_task=receiver_task,
|
|
149
169
|
pool=self,
|
|
170
|
+
metrics=metrics,
|
|
150
171
|
)
|
|
151
172
|
self.registrations.append(reg)
|
|
152
173
|
|
|
153
174
|
logger.info(f"Added consumer: {topic}")
|
|
154
175
|
return reg
|
|
155
176
|
|
|
177
|
+
def _instrumented_handler(
|
|
178
|
+
self,
|
|
179
|
+
handler: Callable[..., Awaitable[None]],
|
|
180
|
+
metrics,
|
|
181
|
+
) -> Callable[..., Awaitable[None]]:
|
|
182
|
+
if metrics is None:
|
|
183
|
+
return handler
|
|
184
|
+
|
|
185
|
+
async def wrapper(message):
|
|
186
|
+
with metrics.record_time():
|
|
187
|
+
try:
|
|
188
|
+
await handler(message)
|
|
189
|
+
metrics.process("ok")
|
|
190
|
+
except Exception:
|
|
191
|
+
metrics.process("error")
|
|
192
|
+
raise
|
|
193
|
+
|
|
194
|
+
return wrapper
|
|
195
|
+
|
|
156
196
|
async def remove_consumer(self, reg: ConsumerRegistration):
|
|
157
197
|
try:
|
|
158
198
|
await reg.backend_consumer.close()
|
|
@@ -168,6 +208,9 @@ class ReceiverPool:
|
|
|
168
208
|
if reg in self.registrations:
|
|
169
209
|
self.registrations.remove(reg)
|
|
170
210
|
|
|
211
|
+
if reg.metrics:
|
|
212
|
+
reg.metrics.state("stopped")
|
|
213
|
+
|
|
171
214
|
logger.info(f"Removed consumer: {reg.topic}")
|
|
172
215
|
|
|
173
216
|
async def _receiver_loop(
|
|
@@ -31,11 +31,13 @@ class ProducerHandle:
|
|
|
31
31
|
def __init__(
|
|
32
32
|
self, topic: str, backend_producer: AsyncBackendProducer,
|
|
33
33
|
send_queue: asyncio.Queue, pool: 'SenderPool',
|
|
34
|
+
metrics=None,
|
|
34
35
|
):
|
|
35
36
|
self.topic = topic
|
|
36
37
|
self.backend_producer = backend_producer
|
|
37
38
|
self.send_queue = send_queue
|
|
38
39
|
self.pool = pool
|
|
40
|
+
self.metrics = metrics
|
|
39
41
|
|
|
40
42
|
async def send(
|
|
41
43
|
self, message: Any, properties: dict = {}, wait: bool = False,
|
|
@@ -49,6 +51,9 @@ class ProducerHandle:
|
|
|
49
51
|
SendItem(message=message, properties=properties, future=future)
|
|
50
52
|
)
|
|
51
53
|
|
|
54
|
+
if self.metrics:
|
|
55
|
+
self.metrics.inc()
|
|
56
|
+
|
|
52
57
|
if future is not None:
|
|
53
58
|
await future
|
|
54
59
|
|
|
@@ -75,9 +80,11 @@ class SenderPool:
|
|
|
75
80
|
|
|
76
81
|
def __init__(
|
|
77
82
|
self, backend: AsyncPubSubBackend, send_queue_size: int = 64,
|
|
83
|
+
processor_id: str | None = None,
|
|
78
84
|
):
|
|
79
85
|
self.backend = backend
|
|
80
86
|
self.send_queue_size = send_queue_size
|
|
87
|
+
self.processor_id = processor_id
|
|
81
88
|
self.handles: list[ProducerHandle] = []
|
|
82
89
|
self.sender_task: asyncio.Task | None = None
|
|
83
90
|
self.running = False
|
|
@@ -130,11 +137,19 @@ class SenderPool:
|
|
|
130
137
|
|
|
131
138
|
send_queue = asyncio.Queue(maxsize=self.send_queue_size)
|
|
132
139
|
|
|
140
|
+
metrics = None
|
|
141
|
+
if self.processor_id:
|
|
142
|
+
from .metrics import ProducerMetrics
|
|
143
|
+
metrics = ProducerMetrics(
|
|
144
|
+
processor=self.processor_id, producer=topic,
|
|
145
|
+
)
|
|
146
|
+
|
|
133
147
|
handle = ProducerHandle(
|
|
134
148
|
topic=topic,
|
|
135
149
|
backend_producer=backend_producer,
|
|
136
150
|
send_queue=send_queue,
|
|
137
151
|
pool=self,
|
|
152
|
+
metrics=metrics,
|
|
138
153
|
)
|
|
139
154
|
self.handles.append(handle)
|
|
140
155
|
|
|
@@ -50,7 +50,7 @@ class ToolService(FlowProcessor):
|
|
|
50
50
|
if not hasattr(__class__, "tool_invocation_metric"):
|
|
51
51
|
__class__.tool_invocation_metric = Counter(
|
|
52
52
|
'tool_invocation_count', 'Tool invocation count',
|
|
53
|
-
["processor", "
|
|
53
|
+
["processor", "tool"],
|
|
54
54
|
)
|
|
55
55
|
|
|
56
56
|
async def on_request(self, msg, consumer, flow):
|
|
@@ -89,8 +89,7 @@ class ToolService(FlowProcessor):
|
|
|
89
89
|
)
|
|
90
90
|
|
|
91
91
|
__class__.tool_invocation_metric.labels(
|
|
92
|
-
processor=self.id,
|
|
93
|
-
flow=flow.name, tool=request.name,
|
|
92
|
+
processor=self.id, tool=request.name,
|
|
94
93
|
).inc()
|
|
95
94
|
|
|
96
95
|
except TooManyRequests as e:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.8.3"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trustgraph-base
|
|
3
|
-
Version: 2.8.
|
|
3
|
+
Version: 2.8.3
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.8.2"
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/collection_config_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/document_embeddings_client.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/document_embeddings_query_service.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/document_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
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/graph_embeddings_query_service.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/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
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/base/row_embeddings_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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/collection.py
RENAMED
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/diagnosis.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/document_loading.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/embeddings.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/embeddings_query.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/image_to_text.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/knowledge.py
RENAMED
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/metadata.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/nlp_query.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/primitives.py
RENAMED
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/reranker.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/retrieval.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/rows_query.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/sparql_query.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/structured_query.py
RENAMED
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph/messaging/translators/text_completion.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
|
|
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-2.8.2 → trustgraph_base-2.8.3}/trustgraph/schema/services/structured_query.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.8.2 → trustgraph_base-2.8.3}/trustgraph_base.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|