Coverage report: 95%

Files Functions Classes

coverage.py v7.15.4, created at 2026-08-21 13:53 +0000

File   statements missing excluded   coverage
haystack/__init__.py   11 0 0   100%
haystack/components/agents/__init__.py   5 0 3   100%
haystack/components/agents/agent.py   360 3 0   99%
haystack/components/agents/state/__init__.py   5 0 4   100%
haystack/components/agents/state/state.py   77 2 0   97%
haystack/components/agents/state/state_utils.py   18 0 0   100%
haystack/components/agents/tool_calling.py   250 5 0   98%
haystack/components/agents/utils.py   120 3 0   98%
haystack/components/builders/__init__.py   5 0 4   100%
haystack/components/builders/answer_builder.py   98 3 0   97%
haystack/components/builders/chat_prompt_builder.py   110 2 0   98%
haystack/components/builders/prompt_builder.py   50 0 0   100%
haystack/components/caching/__init__.py   5 0 2   100%
haystack/components/caching/cache_checker.py   43 0 0   100%
haystack/components/converters/__init__.py   5 0 15   100%
haystack/components/converters/csv.py   88 4 0   95%
haystack/components/converters/docx.py   146 1 0   99%
haystack/components/converters/file_to_file_content.py   32 0 0   100%
haystack/components/converters/html.py   50 0 0   100%
haystack/components/converters/image/__init__.py   5 0 5   100%
haystack/components/converters/image/document_to_image.py   43 0 0   100%
haystack/components/converters/image/file_to_document.py   27 1 0   96%
haystack/components/converters/image/file_to_image.py   53 0 0   100%
haystack/components/converters/image/image_utils.py   128 5 0   96%
haystack/components/converters/image/pdf_to_image.py   46 3 0   93%
haystack/components/converters/json.py   91 11 0   88%
haystack/components/converters/markdown.py   71 10 0   86%
haystack/components/converters/msg.py   77 5 0   94%
haystack/components/converters/multi_file_converter.py   50 0 9   100%
haystack/components/converters/output_adapter.py   71 1 0   99%
haystack/components/converters/pdfminer.py   105 0 0   100%
haystack/components/converters/pptx.py   69 2 0   97%
haystack/components/converters/pypdf.py   103 6 0   94%
haystack/components/converters/txt.py   34 3 0   91%
haystack/components/converters/utils.py   37 0 0   100%
haystack/components/converters/xlsx.py   113 3 0   97%
haystack/components/embedders/__init__.py   5 0 7   100%
haystack/components/embedders/azure_document_embedder.py   69 2 0   97%
haystack/components/embedders/azure_text_embedder.py   63 2 0   97%
haystack/components/embedders/mock_document_embedder.py   58 0 0   100%
haystack/components/embedders/mock_text_embedder.py   50 0 0   100%
haystack/components/embedders/mock_utils.py   25 0 0   100%
haystack/components/embedders/openai_document_embedder.py   145 44 0   70%
haystack/components/embedders/openai_text_embedder.py   73 9 0   88%
haystack/components/embedders/types/__init__.py   2 0 0   100%
haystack/components/embedders/types/protocol.py   6 0 5   100%
haystack/components/evaluators/__init__.py   5 0 10   100%
haystack/components/evaluators/answer_exact_match.py   15 0 0   100%
haystack/components/evaluators/context_relevance.py   50 0 0   100%
haystack/components/evaluators/document_map.py   52 4 0   92%
haystack/components/evaluators/document_mrr.py   42 4 0   90%
haystack/components/evaluators/document_ndcg.py   70 0 0   100%
haystack/components/evaluators/document_recall.py   73 2 0   97%
haystack/components/evaluators/faithfulness.py   50 0 0   100%
haystack/components/evaluators/llm_evaluator.py   160 1 0   99%
haystack/components/evaluators/sas_evaluator.py   57 25 0   56%
haystack/components/extractors/__init__.py   5 0 3   100%
haystack/components/extractors/image/__init__.py   5 0 2   100%
haystack/components/extractors/image/llm_document_content_extractor.py   156 1 0   99%
haystack/components/extractors/llm_metadata_extractor.py   173 16 0   91%
haystack/components/extractors/regex_text_extractor.py   49 0 0   100%
haystack/components/fetchers/__init__.py   5 0 2   100%
haystack/components/fetchers/link_content.py   202 18 0   91%
haystack/components/generators/__init__.py   5 0 2   100%
haystack/components/generators/chat/__init__.py   5 0 8   100%
haystack/components/generators/chat/azure.py   92 3 0   97%
haystack/components/generators/chat/azure_responses.py   46 2 0   96%
haystack/components/generators/chat/fallback.py   98 3 0   97%
haystack/components/generators/chat/llm.py   40 1 0   98%
haystack/components/generators/chat/mock.py   154 0 0   100%
haystack/components/generators/chat/openai.py   232 4 0   98%
haystack/components/generators/chat/openai_responses.py   360 34 0   91%
haystack/components/generators/chat/types/__init__.py   2 0 0   100%
haystack/components/generators/chat/types/protocol.py   4 0 2   100%
haystack/components/generators/openai_image_generator.py   80 0 0   100%
haystack/components/generators/utils.py   93 9 0   90%
haystack/components/joiners/__init__.py   5 0 6   100%
haystack/components/joiners/answer_joiner.py   54 1 0   98%
haystack/components/joiners/branch.py   20 3 0   85%
haystack/components/joiners/document_joiner.py   101 0 0   100%
haystack/components/joiners/list_joiner.py   23 0 0   100%
haystack/components/joiners/string_joiner.py   8 0 0   100%
haystack/components/preprocessors/__init__.py   5 0 12   100%
haystack/components/preprocessors/csv_document_cleaner.py   64 0 0   100%
haystack/components/preprocessors/csv_document_splitter.py   108 4 0   96%
haystack/components/preprocessors/document_cleaner.py   117 1 0   99%
haystack/components/preprocessors/document_preprocessor.py   46 2 6   96%
haystack/components/preprocessors/document_splitter.py   206 0 0   100%
haystack/components/preprocessors/embedding_based_document_splitter.py   226 12 0   95%
haystack/components/preprocessors/hierarchical_document_splitter.py   60 0 0   100%
haystack/components/preprocessors/markdown_header_splitter.py   166 6 0   96%
haystack/components/preprocessors/python_code_splitter.py   290 15 2   95%
haystack/components/preprocessors/recursive_splitter.py   242 19 0   92%
haystack/components/preprocessors/sentence_tokenizer.py   83 5 0   94%
haystack/components/preprocessors/text_cleaner.py   29 0 0   100%
haystack/components/query/__init__.py   5 0 2   100%
haystack/components/query/query_expander.py   137 10 0   93%
haystack/components/rankers/__init__.py   5 0 5   100%
haystack/components/rankers/llm_ranker.py   154 7 0   95%
haystack/components/rankers/lost_in_the_middle.py   43 2 0   95%
haystack/components/rankers/meta_field.py   118 0 0   100%
haystack/components/rankers/meta_field_grouping_ranker.py   38 0 0   100%
haystack/components/retrievers/__init__.py   5 0 10   100%
haystack/components/retrievers/auto_merging_retriever.py   86 0 0   100%
haystack/components/retrievers/filter_retriever.py   28 1 0   96%
haystack/components/retrievers/in_memory/__init__.py   5 0 3   100%
haystack/components/retrievers/in_memory/bm25_retriever.py   44 0 0   100%
haystack/components/retrievers/in_memory/embedding_retriever.py   49 1 0   98%
haystack/components/retrievers/multi_query_embedding_retriever.py   78 2 0   97%
haystack/components/retrievers/multi_query_text_retriever.py   68 3 0   96%
haystack/components/retrievers/multi_retriever.py   115 1 0   99%
haystack/components/retrievers/sentence_window_retriever.py   103 5 0   95%
haystack/components/retrievers/text_embedding_retriever.py   52 0 0   100%
haystack/components/retrievers/types/__init__.py   2 0 0   100%
haystack/components/retrievers/types/protocol.py   5 0 5   100%
haystack/components/routers/__init__.py   5 0 7   100%
haystack/components/routers/conditional_router.py   178 8 0   96%
haystack/components/routers/document_length_router.py   15 0 0   100%
haystack/components/routers/document_type_router.py   46 0 0   100%
haystack/components/routers/file_type_router.py   72 6 0   92%
haystack/components/routers/llm_messages_router.py   87 1 0   99%
haystack/components/routers/metadata_router.py   36 0 0   100%
haystack/components/samplers/__init__.py   5 0 2   100%
haystack/components/samplers/top_p.py   65 0 0   100%
haystack/components/validators/__init__.py   5 0 2   100%
haystack/components/validators/json_schema.py   71 8 0   89%
haystack/components/writers/__init__.py   5 0 2   100%
haystack/components/writers/document_writer.py   38 0 0   100%
haystack/core/__init__.py   2 0 0   100%
haystack/core/component/__init__.py   3 0 0   100%
haystack/core/component/component.py   179 1 13   99%
haystack/core/component/sockets.py   41 6 0   85%
haystack/core/component/types.py   42 3 0   93%
haystack/core/errors.py   72 10 0   86%
haystack/core/pipeline/__init__.py   2 0 0   100%
haystack/core/pipeline/base.py   636 51 0   92%
haystack/core/pipeline/breakpoint.py   106 11 0   90%
haystack/core/pipeline/component_checks.py   66 0 0   100%
haystack/core/pipeline/descriptions.py   6 0 0   100%
haystack/core/pipeline/draw.py   199 41 0   79%
haystack/core/pipeline/pipeline.py   327 19 0   94%
haystack/core/pipeline/utils.py   71 1 0   99%
haystack/core/serialization.py   129 6 0   95%
haystack/core/serialization_security.py   135 0 0   100%
haystack/core/super_component/__init__.py   2 0 0   100%
haystack/core/super_component/super_component.py   194 7 0   96%
haystack/core/super_component/utils.py   95 4 0   96%
haystack/core/type_utils.py   165 6 0   96%
haystack/dataclasses/__init__.py   5 0 27   100%
haystack/dataclasses/answer.py   57 0 5   100%
haystack/dataclasses/breakpoints.py   39 0 0   100%
haystack/dataclasses/byte_stream.py   39 0 0   100%
haystack/dataclasses/chat_message.py   341 4 0   99%
haystack/dataclasses/document.py   104 4 0   96%
haystack/dataclasses/file_content.py   68 0 0   100%
haystack/dataclasses/image_content.py   85 2 0   98%
haystack/dataclasses/skill_info.py   3 0 0   100%
haystack/dataclasses/sparse_embedding.py   14 0 0   100%
haystack/dataclasses/streaming_chunk.py   81 1 12   99%
haystack/document_stores/errors/__init__.py   2 0 0   100%
haystack/document_stores/errors/errors.py   6 0 0   100%
haystack/document_stores/in_memory/__init__.py   5 0 2   100%
haystack/document_stores/in_memory/document_store.py   431 15 0   97%
haystack/document_stores/types/__init__.py   4 0 0   100%
haystack/document_stores/types/filter_policy.py   65 11 0   83%
haystack/document_stores/types/policy.py   6 0 0   100%
haystack/document_stores/types/protocol.py   11 0 12   100%
haystack/errors.py   2 0 0   100%
haystack/evaluation/__init__.py   5 0 2   100%
haystack/evaluation/eval_run_result.py   93 35 0   62%
haystack/hooks/__init__.py   5 0 12   100%
haystack/hooks/budget/__init__.py   5 0 2   100%
haystack/hooks/budget/hooks.py   32 0 0   100%
haystack/hooks/compaction/__init__.py   5 0 6   100%
haystack/hooks/compaction/hooks.py   101 5 0   95%
haystack/hooks/compaction/sliding_window.py   67 0 0   100%
haystack/hooks/compaction/summarization.py   171 16 0   91%
haystack/hooks/compaction/tool_result_pruning.py   55 0 0   100%
haystack/hooks/compaction/types/__init__.py   2 0 0   100%
haystack/hooks/compaction/types/protocol.py   12 0 4   100%
haystack/hooks/compaction/utils.py   56 0 0   100%
haystack/hooks/from_function.py   45 0 0   100%
haystack/hooks/human_in_the_loop/__init__.py   5 0 10   100%
haystack/hooks/human_in_the_loop/dataclasses.py   16 0 0   100%
haystack/hooks/human_in_the_loop/hooks.py   30 1 0   97%
haystack/hooks/human_in_the_loop/policies.py   17 0 0   100%
haystack/hooks/human_in_the_loop/strategies.py   193 5 0   97%
haystack/hooks/human_in_the_loop/types/__init__.py   2 0 0   100%
haystack/hooks/human_in_the_loop/types/protocol.py   25 0 12   100%
haystack/hooks/human_in_the_loop/user_interfaces.py   96 2 0   98%
haystack/hooks/invocation.py   40 0 0   100%
haystack/hooks/protocol.py   15 0 6   100%
haystack/hooks/tool_result_offloading/__init__.py   5 0 9   100%
haystack/hooks/tool_result_offloading/hooks.py   95 1 0   99%
haystack/hooks/tool_result_offloading/policies.py   17 0 0   100%
haystack/hooks/tool_result_offloading/stores.py   27 0 0   100%
haystack/hooks/tool_result_offloading/types/__init__.py   2 0 0   100%
haystack/hooks/tool_result_offloading/types/protocol.py   18 2 6   89%
haystack/hooks/utils.py   47 0 0   100%
haystack/lazy_imports.py   13 0 0   100%
haystack/logging.py   129 4 2   97%
haystack/marshal/__init__.py   5 0 3   100%
haystack/marshal/protocol.py   4 0 4   100%
haystack/marshal/yaml.py   21 1 0   95%
haystack/skill_stores/file_system/__init__.py   5 0 2   100%
haystack/skill_stores/file_system/skill_store.py   95 1 0   99%
haystack/skill_stores/types/__init__.py   2 0 0   100%
haystack/skill_stores/types/protocol.py   11 0 10   100%
haystack/telemetry/__init__.py   1 0 0   100%
haystack/telemetry/_environment.py   25 0 0   100%
haystack/telemetry/_telemetry.py   83 12 2   86%
haystack/token_counters/__init__.py   5 0 5   100%
haystack/token_counters/approximate_counter.py   21 0 0   100%
haystack/token_counters/openai_counter.py   48 1 0   98%
haystack/token_counters/tiktoken_counter.py   28 0 0   100%
haystack/token_counters/types/__init__.py   2 0 0   100%
haystack/token_counters/types/protocol.py   10 0 4   100%
haystack/token_counters/utils.py   49 0 0   100%
haystack/tools/__init__.py   7 0 12   100%
haystack/tools/agent_tool.py   46 0 0   100%
haystack/tools/component_tool.py   100 5 0   95%
haystack/tools/errors.py   6 0 0   100%
haystack/tools/from_function.py   61 0 25   100%
haystack/tools/parameters_schema_utils.py   97 3 0   97%
haystack/tools/pipeline_tool.py   30 2 0   93%
haystack/tools/searchable_toolset.py   112 0 2   100%
haystack/tools/serde_utils.py   43 3 2   93%
haystack/tools/skills/__init__.py   2 0 0   100%
haystack/tools/skills/skill_toolset.py   61 0 0   100%
haystack/tools/tool.py   150 5 0   97%
haystack/tools/tool_types.py   5 0 0   100%
haystack/tools/toolset.py   107 8 0   93%
haystack/tools/utils.py   29 0 2   100%
haystack/tracing/__init__.py   1 0 0   100%
haystack/tracing/logging_tracer.py   36 0 0   100%
haystack/tracing/tracer.py   54 4 0   93%
haystack/tracing/utils.py   26 0 0   100%
haystack/utils/__init__.py   5 0 23   100%
haystack/utils/async_utils.py   19 0 0   100%
haystack/utils/auth.py   105 11 0   90%
haystack/utils/azure.py   6 2 0   67%
haystack/utils/base_serialization.py   136 9 0   93%
haystack/utils/callable_serialization.py   66 8 0   88%
haystack/utils/dataclasses.py   22 0 0   100%
haystack/utils/deserialization.py   18 1 0   94%
haystack/utils/device.py   214 17 0   92%
haystack/utils/experimental.py   14 0 1   100%
haystack/utils/filters.py   158 0 0   100%
haystack/utils/hf.py   61 15 0   75%
haystack/utils/http_client.py   14 0 8   100%
haystack/utils/jinja2_chat_extension.py   146 1 0   99%
haystack/utils/jinja2_extensions.py   47 0 0   100%
haystack/utils/jinja2_sandbox.py   16 0 0   100%
haystack/utils/jupyter.py   9 3 0   67%
haystack/utils/misc.py   96 5 18   95%
haystack/utils/requests_utils.py   33 0 0   100%
haystack/utils/type_serialization.py   144 6 0   96%
haystack/utils/url_validation.py   4 0 0   100%
haystack/version.py   5 2 0   60%
Total   17110 779 412   95%

No items found using the specified filter.

3 empty files skipped.