Coverage report: 90%

Files Functions Classes

coverage.py v7.15.0, created at 2026-07-20 10:12 +0000

File function   statements missing excluded   coverage
src/qdrant_loader_core/__init__.py (no function)   4 0 0   100%
src/qdrant_loader_core/config/__init__.py (no function)   3 0 0   100%
src/qdrant_loader_core/config/capabilities.py CollectionVectorCapabilities.hybrid_ready   1 0 0   100%
src/qdrant_loader_core/config/capabilities.py parse_collection_capabilities   6 0 0   100%
src/qdrant_loader_core/config/capabilities.py _normalise_vector_map   13 2 0   85%
src/qdrant_loader_core/config/capabilities.py (no function)   12 0 0   100%
src/qdrant_loader_core/config/sparse.py SparseRuntimeConfig._strict_bool   9 1 0   89%
src/qdrant_loader_core/config/sparse.py SparseRuntimeConfig._strict_str   5 0 0   100%
src/qdrant_loader_core/config/sparse.py SparseRuntimeConfig.from_global_config   16 0 0   100%
src/qdrant_loader_core/config/sparse.py (no function)   19 0 0   100%
src/qdrant_loader_core/graph/__init__.py get_graph_store   12 0 0   100%
src/qdrant_loader_core/graph/__init__.py (no function)   13 2 2   85%
src/qdrant_loader_core/graph/base.py GraphStore.upsert_node   1 0 0   100%
src/qdrant_loader_core/graph/base.py GraphStore.upsert_edge   1 0 0   100%
src/qdrant_loader_core/graph/base.py GraphStore.upsert_nodes_batch   1 0 0   100%
src/qdrant_loader_core/graph/base.py GraphStore.upsert_edges_batch   1 0 0   100%
src/qdrant_loader_core/graph/base.py GraphStore.neighbors   1 0 0   100%
src/qdrant_loader_core/graph/base.py GraphStore.query_cypher   1 0 0   100%
src/qdrant_loader_core/graph/base.py (no function)   17 0 0   100%
src/qdrant_loader_core/graph/extractor/base_extractor.py EntityExtractor.extract   1 1 0   0%
src/qdrant_loader_core/graph/extractor/base_extractor.py EntityExtractor.register_extractor   3 0 0   100%
src/qdrant_loader_core/graph/extractor/base_extractor.py EntityExtractor.for_source   3 0 0   100%
src/qdrant_loader_core/graph/extractor/base_extractor.py BaseEntityExtractor.get_source_type   1 0 0   100%
src/qdrant_loader_core/graph/extractor/base_extractor.py BaseEntityExtractor.extract   30 0 0   100%
src/qdrant_loader_core/graph/extractor/base_extractor.py BaseEntityExtractor._person_node   1 0 0   100%
src/qdrant_loader_core/graph/extractor/base_extractor.py BaseEntityExtractor._build_document_node   0 0 0   100%
src/qdrant_loader_core/graph/extractor/base_extractor.py BaseEntityExtractor._project   0 0 0   100%
src/qdrant_loader_core/graph/extractor/base_extractor.py BaseEntityExtractor._extract_people   0 0 0   100%
src/qdrant_loader_core/graph/extractor/base_extractor.py BaseEntityExtractor._extract_container   0 0 0   100%
src/qdrant_loader_core/graph/extractor/base_extractor.py BaseEntityExtractor._extract_labels   1 0 0   100%
src/qdrant_loader_core/graph/extractor/base_extractor.py BaseEntityExtractor._extract_links   1 0 0   100%
src/qdrant_loader_core/graph/extractor/base_extractor.py BaseEntityExtractor._extract_source_specific   1 0 0   100%
src/qdrant_loader_core/graph/extractor/base_extractor.py (no function)   30 0 2   100%
src/qdrant_loader_core/graph/extractor/confluence.py ConfluenceEntityExtractor._project   1 0 0   100%
src/qdrant_loader_core/graph/extractor/confluence.py ConfluenceEntityExtractor._build_document_node   1 0 0   100%
src/qdrant_loader_core/graph/extractor/confluence.py ConfluenceEntityExtractor._extract_people   4 0 0   100%
src/qdrant_loader_core/graph/extractor/confluence.py ConfluenceEntityExtractor._extract_container   4 0 0   100%
src/qdrant_loader_core/graph/extractor/confluence.py ConfluenceEntityExtractor._extract_labels   3 0 0   100%
src/qdrant_loader_core/graph/extractor/confluence.py ConfluenceEntityExtractor._extract_source_specific   11 0 0   100%
src/qdrant_loader_core/graph/extractor/confluence.py (no function)   12 0 2   100%
src/qdrant_loader_core/graph/extractor/git.py GitEntityExtractor._repository_id   5 0 0   100%
src/qdrant_loader_core/graph/extractor/git.py GitEntityExtractor._project   1 0 0   100%
src/qdrant_loader_core/graph/extractor/git.py GitEntityExtractor._build_document_node   1 0 0   100%
src/qdrant_loader_core/graph/extractor/git.py GitEntityExtractor._extract_people   4 0 0   100%
src/qdrant_loader_core/graph/extractor/git.py GitEntityExtractor._extract_container   4 0 0   100%
src/qdrant_loader_core/graph/extractor/git.py (no function)   12 0 2   100%
src/qdrant_loader_core/graph/extractor/jira.py JiraEntityExtractor._project   1 0 0   100%
src/qdrant_loader_core/graph/extractor/jira.py JiraEntityExtractor._build_document_node   2 0 0   100%
src/qdrant_loader_core/graph/extractor/jira.py JiraEntityExtractor._extract_people   20 0 0   100%
src/qdrant_loader_core/graph/extractor/jira.py JiraEntityExtractor._extract_container   4 0 0   100%
src/qdrant_loader_core/graph/extractor/jira.py JiraEntityExtractor._extract_labels   6 0 0   100%
src/qdrant_loader_core/graph/extractor/jira.py JiraEntityExtractor._extract_links   12 0 0   100%
src/qdrant_loader_core/graph/extractor/jira.py JiraEntityExtractor._extract_links._is_url   5 2 0   60%
src/qdrant_loader_core/graph/extractor/jira.py JiraEntityExtractor._extract_links._handle_url   4 0 0   100%
src/qdrant_loader_core/graph/extractor/jira.py JiraEntityExtractor._extract_source_specific   24 0 0   100%
src/qdrant_loader_core/graph/extractor/jira.py (no function)   17 0 2   100%
src/qdrant_loader_core/graph/extractor/localfile.py LocalFileEntityExtractor._project   1 0 0   100%
src/qdrant_loader_core/graph/extractor/localfile.py LocalFileEntityExtractor._extract_people   1 0 0   100%
src/qdrant_loader_core/graph/extractor/localfile.py LocalFileEntityExtractor._extract_container   7 0 0   100%
src/qdrant_loader_core/graph/extractor/localfile.py LocalFileEntityExtractor._build_document_node   2 0 0   100%
src/qdrant_loader_core/graph/extractor/localfile.py (no function)   11 0 2   100%
src/qdrant_loader_core/graph/extractor/publicdocs.py PublicDocsEntityExtractor._project   5 0 0   100%
src/qdrant_loader_core/graph/extractor/publicdocs.py PublicDocsEntityExtractor._build_document_node   1 0 0   100%
src/qdrant_loader_core/graph/extractor/publicdocs.py PublicDocsEntityExtractor._extract_people   1 0 0   100%
src/qdrant_loader_core/graph/extractor/publicdocs.py PublicDocsEntityExtractor._extract_container   8 0 0   100%
src/qdrant_loader_core/graph/extractor/publicdocs.py PublicDocsEntityExtractor._extract_labels   2 0 0   100%
src/qdrant_loader_core/graph/extractor/publicdocs.py PublicDocsEntityExtractor._extract_source_specific   12 0 0   100%
src/qdrant_loader_core/graph/extractor/publicdocs.py (no function)   13 0 2   100%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore.__init__   5 0 0   100%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore._validate_node   2 0 0   100%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore._validate_edge   2 0 0   100%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore._node_payload   3 0 0   100%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore.upsert_node   6 1 0   83%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore.upsert_nodes_batch   18 1 0   94%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore._edge_payload   3 0 0   100%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore.upsert_edge   7 1 0   86%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore._edge_batch_query   8 0 0   100%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore.upsert_edges_batch   23 2 0   91%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore.neighbors   40 0 0   100%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore.neighbors._extract_node   12 0 0   100%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore.neighbors._normalize_relationships   5 0 0   100%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore.neighbors._resolve_internal_node_id   3 1 0   67%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore.neighbors._extract_edge   9 0 0   100%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore.query_cypher   2 0 0   100%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore._clean_props   8 0 0   100%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore._clean_props._normalize_value   26 1 0   96%
src/qdrant_loader_core/graph/falkor_store.py FalkorGraphStore._run_query   2 0 0   100%
src/qdrant_loader_core/graph/falkor_store.py (no function)   27 0 0   100%
src/qdrant_loader_core/graph/models.py (no function)   47 0 0   100%
src/qdrant_loader_core/graph/registry.py (no function)   11 0 0   100%
src/qdrant_loader_core/graph/schema/utils.py _apply_v1   2 0 0   100%
src/qdrant_loader_core/graph/schema/utils.py init_schema   7 0 0   100%
src/qdrant_loader_core/graph/schema/utils.py _ensure_indexes   8 0 0   100%
src/qdrant_loader_core/graph/schema/utils.py _get_current_version   4 0 0   100%
src/qdrant_loader_core/graph/schema/utils.py _set_version   1 0 0   100%
src/qdrant_loader_core/graph/schema/utils.py apply   4 0 0   100%
src/qdrant_loader_core/graph/schema/utils.py (no function)   13 0 0   100%
src/qdrant_loader_core/graph/schema/versioning.py get_version_query   1 0 0   100%
src/qdrant_loader_core/graph/schema/versioning.py set_version_query   1 0 0   100%
src/qdrant_loader_core/graph/schema/versioning.py (no function)   3 0 0   100%
src/qdrant_loader_core/llm/__init__.py (no function)   4 0 0   100%
src/qdrant_loader_core/llm/errors.py (no function)   12 0 0   100%
src/qdrant_loader_core/llm/factory.py _NoopEmbeddings.embed   1 0 0   100%
src/qdrant_loader_core/llm/factory.py _NoopChat.chat   1 0 0   100%
src/qdrant_loader_core/llm/factory.py _NoopTokenizer.count   1 0 0   100%
src/qdrant_loader_core/llm/factory.py _NoopProvider.embeddings   1 0 0   100%
src/qdrant_loader_core/llm/factory.py _NoopProvider.chat   1 0 0   100%
src/qdrant_loader_core/llm/factory.py _NoopProvider.tokenizer   1 0 0   100%
src/qdrant_loader_core/llm/factory.py _get_azure_provider_class   5 0 2   100%
src/qdrant_loader_core/llm/factory.py _safe_hostname   7 2 0   71%
src/qdrant_loader_core/llm/factory.py create_provider   36 8 0   78%
src/qdrant_loader_core/llm/factory.py (no function)   19 0 0   100%
src/qdrant_loader_core/llm/providers/__init__.py (no function)   1 0 0   100%
src/qdrant_loader_core/llm/providers/azure_openai.py _host_of   6 3 0   50%
src/qdrant_loader_core/llm/providers/azure_openai.py _validate_azure_settings   5 0 0   100%
src/qdrant_loader_core/llm/providers/azure_openai.py AzureOpenAIProvider.__init__   11 1 0   91%
src/qdrant_loader_core/llm/providers/azure_openai.py AzureOpenAIProvider.embeddings   2 2 0   0%
src/qdrant_loader_core/llm/providers/azure_openai.py AzureOpenAIProvider.chat   2 2 0   0%
src/qdrant_loader_core/llm/providers/azure_openai.py AzureOpenAIProvider.tokenizer   1 1 0   0%
src/qdrant_loader_core/llm/providers/azure_openai.py (no function)   17 0 2   100%
src/qdrant_loader_core/llm/providers/bedrock.py BedrockEmbeddings.__init__   9 1 0   89%
src/qdrant_loader_core/llm/providers/bedrock.py BedrockEmbeddings._build_invoke_kwargs   6 0 0   100%
src/qdrant_loader_core/llm/providers/bedrock.py BedrockEmbeddings._read_response_body   11 5 0   55%
src/qdrant_loader_core/llm/providers/bedrock.py BedrockEmbeddings._parse_single_embedding   5 1 0   80%
src/qdrant_loader_core/llm/providers/bedrock.py BedrockEmbeddings._validate_vector   2 1 0   50%
src/qdrant_loader_core/llm/providers/bedrock.py BedrockEmbeddings._invoke_single   16 1 0   94%
src/qdrant_loader_core/llm/providers/bedrock.py BedrockEmbeddings.embed   8 2 0   75%
src/qdrant_loader_core/llm/providers/bedrock.py BedrockEmbeddings.embed._one   2 0 0   100%
src/qdrant_loader_core/llm/providers/bedrock.py _BedrockChat.chat   1 1 0   0%
src/qdrant_loader_core/llm/providers/bedrock.py BedrockProvider.__init__   18 4 0   78%
src/qdrant_loader_core/llm/providers/bedrock.py BedrockProvider.embeddings   1 0 0   100%
src/qdrant_loader_core/llm/providers/bedrock.py BedrockProvider.chat   1 1 0   0%
src/qdrant_loader_core/llm/providers/bedrock.py BedrockProvider.tokenizer   1 1 0   0%
src/qdrant_loader_core/llm/providers/bedrock.py (no function)   34 0 0   100%
src/qdrant_loader_core/llm/providers/bedrock_utils.py _map_bedrock_exception   35 16 0   54%
src/qdrant_loader_core/llm/providers/bedrock_utils.py _extract_embeddings   25 4 0   84%
src/qdrant_loader_core/llm/providers/bedrock_utils.py BedrockTokenizer.__init__   1 1 0   0%
src/qdrant_loader_core/llm/providers/bedrock_utils.py BedrockTokenizer.count   1 1 0   0%
src/qdrant_loader_core/llm/providers/bedrock_utils.py (no function)   29 15 0   48%
src/qdrant_loader_core/llm/providers/gemini.py _map_gemini_exception   23 2 0   91%
src/qdrant_loader_core/llm/providers/gemini.py _GeminiTokenCounter.__init__   2 0 0   100%
src/qdrant_loader_core/llm/providers/gemini.py _GeminiTokenCounter.count   10 3 0   70%
src/qdrant_loader_core/llm/providers/gemini.py _messages_to_contents   18 0 0   100%
src/qdrant_loader_core/llm/providers/gemini.py GeminiEmbeddings.__init__   4 0 0   100%
src/qdrant_loader_core/llm/providers/gemini.py GeminiEmbeddings._build_config   3 0 0   100%
src/qdrant_loader_core/llm/providers/gemini.py GeminiEmbeddings._wrap_inputs   3 1 0   67%
src/qdrant_loader_core/llm/providers/gemini.py GeminiEmbeddings.embed   31 4 0   87%
src/qdrant_loader_core/llm/providers/gemini.py GeminiChat.__init__   3 0 0   100%
src/qdrant_loader_core/llm/providers/gemini.py GeminiChat.chat   40 4 0   90%
src/qdrant_loader_core/llm/providers/gemini.py GeminiProvider.__init__   14 0 0   100%
src/qdrant_loader_core/llm/providers/gemini.py GeminiProvider.embeddings   2 0 0   100%
src/qdrant_loader_core/llm/providers/gemini.py GeminiProvider.chat   2 0 0   100%
src/qdrant_loader_core/llm/providers/gemini.py GeminiProvider.tokenizer   2 0 0   100%
src/qdrant_loader_core/llm/providers/gemini.py (no function)   32 0 6   100%
src/qdrant_loader_core/llm/providers/ollama.py _join_url   3 0 0   100%
src/qdrant_loader_core/llm/providers/ollama.py OllamaEmbeddings.__init__   5 0 0   100%
src/qdrant_loader_core/llm/providers/ollama.py OllamaEmbeddings.embed   60 13 0   78%
src/qdrant_loader_core/llm/providers/ollama.py OllamaChat.__init__   3 0 0   100%
src/qdrant_loader_core/llm/providers/ollama.py OllamaChat.chat   67 3 0   96%
src/qdrant_loader_core/llm/providers/ollama.py OllamaTokenizer.count   1 1 0   0%
src/qdrant_loader_core/llm/providers/ollama.py OllamaProvider.__init__   1 0 0   100%
src/qdrant_loader_core/llm/providers/ollama.py OllamaProvider.embeddings   3 3 0   0%
src/qdrant_loader_core/llm/providers/ollama.py OllamaProvider.chat   2 2 0   0%
src/qdrant_loader_core/llm/providers/ollama.py OllamaProvider.tokenizer   1 1 0   0%
src/qdrant_loader_core/llm/providers/ollama.py (no function)   24 0 2   100%
src/qdrant_loader_core/llm/providers/openai.py _safe_host   6 3 0   50%
src/qdrant_loader_core/llm/providers/openai.py _map_openai_exception   23 4 0   83%
src/qdrant_loader_core/llm/providers/openai.py _OpenAITokenCounter.__init__   1 1 0   0%
src/qdrant_loader_core/llm/providers/openai.py _OpenAITokenCounter.count   1 1 0   0%
src/qdrant_loader_core/llm/providers/openai.py OpenAIEmbeddings.__init__   4 0 0   100%
src/qdrant_loader_core/llm/providers/openai.py OpenAIEmbeddings.embed   19 5 0   74%
src/qdrant_loader_core/llm/providers/openai.py OpenAIChat.__init__   4 0 0   100%
src/qdrant_loader_core/llm/providers/openai.py OpenAIChat.chat   34 6 0   82%
src/qdrant_loader_core/llm/providers/openai.py OpenAIProvider.__init__   10 1 0   90%
src/qdrant_loader_core/llm/providers/openai.py OpenAIProvider.embeddings   2 0 0   100%
src/qdrant_loader_core/llm/providers/openai.py OpenAIProvider.chat   2 0 0   100%
src/qdrant_loader_core/llm/providers/openai.py OpenAIProvider.tokenizer   1 1 0   0%
src/qdrant_loader_core/llm/providers/openai.py (no function)   30 0 5   100%
src/qdrant_loader_core/llm/ratelimit.py AsyncRateLimiter.__init__   1 0 0   100%
src/qdrant_loader_core/llm/ratelimit.py AsyncRateLimiter.__aenter__   2 0 0   100%
src/qdrant_loader_core/llm/ratelimit.py AsyncRateLimiter.__aexit__   1 0 0   100%
src/qdrant_loader_core/llm/ratelimit.py (no function)   6 0 0   100%
src/qdrant_loader_core/llm/settings.py LLMSettings.from_global_config   32 5 0   84%
src/qdrant_loader_core/llm/settings.py (no function)   35 0 0   100%
src/qdrant_loader_core/llm/tokenization.py CharCountTokenCounter.count   1 0 0   100%
src/qdrant_loader_core/llm/tokenization.py TiktokenTokenCounter.__init__   7 2 0   71%
src/qdrant_loader_core/llm/tokenization.py TiktokenTokenCounter.count   6 0 0   100%
src/qdrant_loader_core/llm/tokenization.py (no function)   9 0 2   100%
src/qdrant_loader_core/llm/types.py EmbeddingsClient.embed   0 0 1   100%
src/qdrant_loader_core/llm/types.py ChatClient.chat   0 0 1   100%
src/qdrant_loader_core/llm/types.py TokenCounter.count   0 0 1   100%
src/qdrant_loader_core/llm/types.py LLMProvider.embeddings   0 0 1   100%
src/qdrant_loader_core/llm/types.py LLMProvider.chat   0 0 1   100%
src/qdrant_loader_core/llm/types.py LLMProvider.tokenizer   0 0 1   100%
src/qdrant_loader_core/llm/types.py (no function)   10 0 10   100%
src/qdrant_loader_core/logging.py LoggingConfig.setup   71 12 0   83%
src/qdrant_loader_core/logging.py LoggingConfig.get_logger   3 0 0   100%
src/qdrant_loader_core/logging.py LoggingConfig.reconfigure   35 4 0   89%
src/qdrant_loader_core/logging.py (no function)   20 0 2   100%
src/qdrant_loader_core/logging_filters.py QdrantVersionFilter.filter   4 4 0   0%
src/qdrant_loader_core/logging_filters.py ApplicationFilter.filter   1 0 0   100%
src/qdrant_loader_core/logging_filters.py UvicornAccessRedactFilter._redact_query_pair   4 1 0   75%
src/qdrant_loader_core/logging_filters.py UvicornAccessRedactFilter.filter   10 2 0   80%
src/qdrant_loader_core/logging_filters.py RedactionFilter._redact_text   5 0 0   100%
src/qdrant_loader_core/logging_filters.py RedactionFilter._redact_text.mask   4 1 0   75%
src/qdrant_loader_core/logging_filters.py RedactionFilter.filter   36 10 0   72%
src/qdrant_loader_core/logging_filters.py (no function)   19 0 0   100%
src/qdrant_loader_core/logging_processors.py CleanFormatter.format   6 2 0   67%
src/qdrant_loader_core/logging_processors.py redact_processor   6 0 0   100%
src/qdrant_loader_core/logging_processors.py redact_processor.is_sensitive_key   3 1 0   67%
src/qdrant_loader_core/logging_processors.py redact_processor.mask   8 3 0   62%
src/qdrant_loader_core/logging_processors.py redact_processor.deep_redact   8 2 0   75%
src/qdrant_loader_core/logging_processors.py (no function)   7 0 0   100%
src/qdrant_loader_core/sparse/__init__.py (no function)   2 0 0   100%
src/qdrant_loader_core/sparse/bm25.py SparseVectorData.is_empty   1 0 0   100%
src/qdrant_loader_core/sparse/bm25.py BM25SparseEncoder.__init__   7 0 0   100%
src/qdrant_loader_core/sparse/bm25.py BM25SparseEncoder._tokenize   4 0 0   100%
src/qdrant_loader_core/sparse/bm25.py BM25SparseEncoder._token_to_index   3 0 0   100%
src/qdrant_loader_core/sparse/bm25.py BM25SparseEncoder._encode_with_weights   14 0 0   100%
src/qdrant_loader_core/sparse/bm25.py BM25SparseEncoder.encode_document   1 0 0   100%
src/qdrant_loader_core/sparse/bm25.py BM25SparseEncoder.encode_query   1 0 0   100%
src/qdrant_loader_core/sparse/bm25.py _get_sparse_encoder_cached   1 0 0   100%
src/qdrant_loader_core/sparse/bm25.py get_sparse_encoder   2 0 0   100%
src/qdrant_loader_core/sparse/bm25.py (no function)   25 0 0   100%
Total     2000 197 51   90%

No items found using the specified filter.