Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

328 Commits
328 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Repository Coverage

Full report

Name Stmts Miss Cover Missing
haystack/__init__.py 11 0 100%
haystack/components/__init__.py 0 0 100%
haystack/components/agents/__init__.py 5 0 100%
haystack/components/agents/agent.py 455 5 99% 152, 220, 236, 360, 936
haystack/components/agents/state/__init__.py 5 0 100%
haystack/components/agents/state/state.py 74 2 97% 76, 80
haystack/components/agents/state/state_utils.py 18 0 100%
haystack/components/agents/tool_calling.py 248 5 98% 30, 247-249, 618
haystack/components/agents/utils.py 23 0 100%
haystack/components/builders/__init__.py 5 0 100%
haystack/components/builders/answer_builder.py 98 3 97% 270, 291, 303
haystack/components/builders/chat_prompt_builder.py 110 2 98% 179, 266
haystack/components/builders/prompt_builder.py 50 0 100%
haystack/components/caching/__init__.py 5 0 100%
haystack/components/caching/cache_checker.py 43 0 100%
haystack/components/converters/__init__.py 5 0 100%
haystack/components/converters/csv.py 88 4 95% 161-162, 189-190
haystack/components/converters/docx.py 159 1 99% 262
haystack/components/converters/file_to_file_content.py 32 0 100%
haystack/components/converters/html.py 50 0 100%
haystack/components/converters/image/__init__.py 5 0 100%
haystack/components/converters/image/document_to_image.py 43 0 100%
haystack/components/converters/image/file_to_document.py 27 1 96% 94
haystack/components/converters/image/file_to_image.py 53 0 100%
haystack/components/converters/image/image_utils.py 128 5 96% 78-82, 104, 109-110
haystack/components/converters/image/pdf_to_image.py 46 3 93% 137-141
haystack/components/converters/json.py 91 11 88% 228-229, 231-234, 238-239, 251-252, 283-285
haystack/components/converters/markdown.py 71 10 86% 107, 120-122, 128-134, 152, 173-178
haystack/components/converters/msg.py 75 5 93% 91, 165-167, 179
haystack/components/converters/multi_file_converter.py 50 0 100%
haystack/components/converters/output_adapter.py 65 1 98% 129
haystack/components/converters/pdfminer.py 68 0 100%
haystack/components/converters/pptx.py 69 2 97% 89-90
haystack/components/converters/pypdf.py 74 3 96% 209-213
haystack/components/converters/txt.py 34 3 91% 87-91
haystack/components/converters/utils.py 21 0 100%
haystack/components/converters/xlsx.py 113 3 97% 83, 183, 185
haystack/components/embedders/__init__.py 5 0 100%
haystack/components/embedders/azure_document_embedder.py 67 2 97% 121, 124
haystack/components/embedders/azure_text_embedder.py 61 2 97% 107, 110
haystack/components/embedders/mock_document_embedder.py 58 0 100%
haystack/components/embedders/mock_text_embedder.py 50 0 100%
haystack/components/embedders/mock_utils.py 25 0 100%
haystack/components/embedders/openai_document_embedder.py 143 44 69% 179, 217, 250, 272-273, 284-320, 369-390
haystack/components/embedders/openai_text_embedder.py 71 9 87% 154, 221-223, 241-245
haystack/components/embedders/types/__init__.py 2 0 100%
haystack/components/embedders/types/protocol.py 6 0 100%
haystack/components/evaluators/__init__.py 5 0 100%
haystack/components/evaluators/answer_exact_match.py 15 0 100%
haystack/components/evaluators/context_relevance.py 50 0 100%
haystack/components/evaluators/document_map.py 46 4 91% 73, 76-80, 126
haystack/components/evaluators/document_mrr.py 42 4 90% 71, 74-78, 122
haystack/components/evaluators/document_ndcg.py 70 0 100%
haystack/components/evaluators/document_recall.py 73 2 97% 109-113
haystack/components/evaluators/faithfulness.py 50 0 100%
haystack/components/evaluators/llm_evaluator.py 160 1 99% 241
haystack/components/evaluators/sas_evaluator.py 57 25 56% 111-125, 153-188
haystack/components/extractors/__init__.py 5 0 100%
haystack/components/extractors/image/__init__.py 5 0 100%
haystack/components/extractors/image/llm_document_content_extractor.py 155 1 99% 323
haystack/components/extractors/llm_metadata_extractor.py 173 16 91% 325-333, 347-355, 373-376, 419, 471
haystack/components/extractors/regex_text_extractor.py 49 0 100%
haystack/components/fetchers/__init__.py 5 0 100%
haystack/components/fetchers/link_content.py 202 27 87% 192-200, 267, 276-283, 316-320, 409-416, 449, 482
haystack/components/generators/__init__.py 5 0 100%
haystack/components/generators/chat/__init__.py 5 0 100%
haystack/components/generators/chat/azure.py 90 3 97% 213, 363, 366
haystack/components/generators/chat/azure_responses.py 46 2 96% 224, 271
haystack/components/generators/chat/fallback.py 98 3 97% 252-257
haystack/components/generators/chat/llm.py 40 1 98% 124
haystack/components/generators/chat/mock.py 144 0 100%
haystack/components/generators/chat/openai.py 230 4 98% 458, 509, 680, 780
haystack/components/generators/chat/openai_responses.py 358 34 91% 278, 309, 398, 478, 494, 531, 556, 609-618, 634-635, 640, 650, 660-676, 685, 742, 839, 881-882, 895, 947, 969, 988
haystack/components/generators/chat/types/__init__.py 2 0 100%
haystack/components/generators/chat/types/protocol.py 4 0 100%
haystack/components/generators/openai_image_generator.py 78 0 100%
haystack/components/generators/utils.py 93 9 90% 69, 83, 129, 162-163, 195, 211, 213, 215
haystack/components/joiners/__init__.py 5 0 100%
haystack/components/joiners/answer_joiner.py 49 1 98% 140
haystack/components/joiners/branch.py 20 3 85% 105, 116-117
haystack/components/joiners/document_joiner.py 97 0 100%
haystack/components/joiners/list_joiner.py 23 0 100%
haystack/components/joiners/string_joiner.py 8 0 100%
haystack/components/preprocessors/__init__.py 5 0 100%
haystack/components/preprocessors/csv_document_cleaner.py 64 0 100%
haystack/components/preprocessors/csv_document_splitter.py 107 4 96% 127, 130, 141-145
haystack/components/preprocessors/document_cleaner.py 117 1 99% 101
haystack/components/preprocessors/document_preprocessor.py 46 2 96% 162, 197
haystack/components/preprocessors/document_splitter.py 206 0 100%
haystack/components/preprocessors/embedding_based_document_splitter.py 215 19 91% 246, 273-282, 297-298, 316-319, 429, 469-481, 551-552
haystack/components/preprocessors/hierarchical_document_splitter.py 59 0 100%
haystack/components/preprocessors/markdown_header_splitter.py 162 6 96% 219-220, 228, 276, 299, 354
haystack/components/preprocessors/python_code_splitter.py 290 15 95% 150, 162, 190, 197, 231, 280, 308-310, 411-413, 415, 528, 596
haystack/components/preprocessors/recursive_splitter.py 238 18 92% 148-151, 193-195, 236-238, 254-256, 276, 401-404
haystack/components/preprocessors/sentence_tokenizer.py 83 5 94% 62-63, 70-75, 215
haystack/components/preprocessors/text_cleaner.py 29 0 100%
haystack/components/query/__init__.py 5 0 100%
haystack/components/query/query_expander.py 137 10 93% 274-275, 279, 289-290, 297-303, 314-317
haystack/components/rankers/__init__.py 5 0 100%
haystack/components/rankers/llm_ranker.py 154 8 95% 314, 317, 324-325, 349, 376, 385, 389
haystack/components/rankers/lost_in_the_middle.py 43 4 91% 57, 83, 87, 117
haystack/components/rankers/meta_field.py 118 0 100%
haystack/components/rankers/meta_field_grouping_ranker.py 38 0 100%
haystack/components/retrievers/__init__.py 5 0 100%
haystack/components/retrievers/auto_merging_retriever.py 86 0 100%
haystack/components/retrievers/filter_retriever.py 28 1 96% 55
haystack/components/retrievers/in_memory/__init__.py 5 0 100%
haystack/components/retrievers/in_memory/bm25_retriever.py 44 0 100%
haystack/components/retrievers/in_memory/embedding_retriever.py 49 1 98% 102
haystack/components/retrievers/multi_query_embedding_retriever.py 77 2 97% 193, 212
haystack/components/retrievers/multi_query_text_retriever.py 67 3 96% 123, 169, 184
haystack/components/retrievers/multi_retriever.py 114 1 99% 135
haystack/components/retrievers/sentence_window_retriever.py 104 6 94% 139, 249, 269-276, 291-298
haystack/components/retrievers/text_embedding_retriever.py 52 0 100%
haystack/components/retrievers/types/__init__.py 2 0 100%
haystack/components/retrievers/types/protocol.py 5 0 100%
haystack/components/routers/__init__.py 5 0 100%
haystack/components/routers/conditional_router.py 172 8 95% 458-459, 495, 513, 555, 573, 583, 595
haystack/components/routers/document_length_router.py 15 0 100%
haystack/components/routers/document_type_router.py 46 0 100%
haystack/components/routers/file_type_router.py 72 6 92% 182-187
haystack/components/routers/llm_messages_router.py 87 1 99% 192
haystack/components/routers/metadata_router.py 35 0 100%
haystack/components/samplers/__init__.py 5 0 100%
haystack/components/samplers/top_p.py 65 0 100%
haystack/components/validators/__init__.py 5 0 100%
haystack/components/validators/json_schema.py 71 8 89% 23-24, 137, 139, 154, 242, 248, 252
haystack/components/writers/__init__.py 5 0 100%
haystack/components/writers/document_writer.py 38 0 100%
haystack/core/__init__.py 2 0 100%
haystack/core/component/__init__.py 3 0 100%
haystack/core/component/component.py 185 1 99% 355
haystack/core/component/sockets.py 41 6 85% 82, 117-124, 129-130
haystack/core/component/types.py 42 3 93% 87-89
haystack/core/errors.py 72 10 86% 60-67, 127, 142-144, 151-153, 166
haystack/core/pipeline/__init__.py 2 0 100%
haystack/core/pipeline/base.py 596 53 91% 123, 265-266, 270, 409, 421, 620, 657-667, 832, 900, 1470, 1636, 1640, 1650-1656, 1673-1735
haystack/core/pipeline/breakpoint.py 107 11 90% 52, 71, 80, 88, 115-120, 187
haystack/core/pipeline/component_checks.py 57 0 100%
haystack/core/pipeline/descriptions.py 6 0 100%
haystack/core/pipeline/draw.py 199 41 79% 35-58, 142, 145, 148, 150, 158, 162-169, 293, 303, 375-377, 382, 390-391, 419-424
haystack/core/pipeline/pipeline.py 319 21 93% 171, 178, 407, 451-452, 552, 575, 743, 936, 941, 958-962, 966-978, 1019-1028, 1053
haystack/core/pipeline/utils.py 71 1 99% 206
haystack/core/serialization.py 127 6 95% 75, 99, 246, 333, 349-350
haystack/core/serialization_security.py 85 2 98% 206, 276
haystack/core/super_component/__init__.py 2 0 100%
haystack/core/super_component/super_component.py 194 7 96% 67, 196, 209, 247, 301, 343, 596
haystack/core/super_component/utils.py 95 4 96% 77, 112, 124, 181
haystack/core/type_utils.py 153 5 97% 51, 58, 121, 157, 249
haystack/dataclasses/__init__.py 5 0 100%
haystack/dataclasses/answer.py 57 0 100%
haystack/dataclasses/breakpoints.py 37 0 100%
haystack/dataclasses/byte_stream.py 39 0 100%
haystack/dataclasses/chat_message.py 341 4 99% 140, 381, 397, 619
haystack/dataclasses/document.py 94 4 96% 79, 81, 83, 85
haystack/dataclasses/file_content.py 68 0 100%
haystack/dataclasses/image_content.py 85 2 98% 100-104
haystack/dataclasses/skill_info.py 3 0 100%
haystack/dataclasses/sparse_embedding.py 14 0 100%
haystack/dataclasses/streaming_chunk.py 81 1 99% 182
haystack/document_stores/__init__.py 0 0 100%
haystack/document_stores/errors/__init__.py 2 0 100%
haystack/document_stores/errors/errors.py 6 0 100%
haystack/document_stores/in_memory/__init__.py 5 0 100%
haystack/document_stores/in_memory/document_store.py 424 16 96% 411-412, 421, 521, 584, 623, 625, 652-653, 668, 692, 828, 830, 848, 853-854
haystack/document_stores/types/__init__.py 4 0 100%
haystack/document_stores/types/filter_policy.py 65 11 83% 25, 38-39, 166, 174-181, 224-229, 233-239
haystack/document_stores/types/policy.py 6 0 100%
haystack/document_stores/types/protocol.py 11 0 100%
haystack/errors.py 2 0 100%
haystack/evaluation/__init__.py 5 0 100%
haystack/evaluation/eval_run_result.py 93 35 62% 72-97, 111-120, 189, 192, 195, 200, 211, 215
haystack/hooks/__init__.py 5 0 100%
haystack/hooks/from_function.py 50 2 96% 29-30
haystack/hooks/human_in_the_loop/__init__.py 5 0 100%
haystack/hooks/human_in_the_loop/dataclasses.py 16 0 100%
haystack/hooks/human_in_the_loop/hooks.py 30 1 97% 117
haystack/hooks/human_in_the_loop/policies.py 17 0 100%
haystack/hooks/human_in_the_loop/strategies.py 158 9 94% 120-121, 265, 314, 358, 419, 453, 510, 620
haystack/hooks/human_in_the_loop/types/__init__.py 2 0 100%
haystack/hooks/human_in_the_loop/types/protocol.py 25 0 100%
haystack/hooks/human_in_the_loop/user_interfaces.py 96 2 98% 65, 103
haystack/hooks/invocation.py 9 0 100%
haystack/hooks/protocol.py 15 0 100%
haystack/hooks/tool_result_offloading/__init__.py 5 0 100%
haystack/hooks/tool_result_offloading/hooks.py 95 1 99% 222
haystack/hooks/tool_result_offloading/policies.py 17 0 100%
haystack/hooks/tool_result_offloading/stores.py 27 0 100%
haystack/hooks/tool_result_offloading/types/__init__.py 2 0 100%
haystack/hooks/tool_result_offloading/types/protocol.py 18 2 89% 39, 44
haystack/hooks/utils.py 47 0 100%
haystack/lazy_imports.py 13 0 100%
haystack/logging.py 129 4 97% 247-248, 358-360
haystack/marshal/__init__.py 5 0 100%
haystack/marshal/protocol.py 4 0 100%
haystack/marshal/yaml.py 21 1 95% 42
haystack/skill_stores/__init__.py 0 0 100%
haystack/skill_stores/file_system/__init__.py 5 0 100%
haystack/skill_stores/file_system/skill_store.py 95 1 99% 119
haystack/skill_stores/types/__init__.py 2 0 100%
haystack/skill_stores/types/protocol.py 11 0 100%
haystack/telemetry/__init__.py 1 0 100%
haystack/telemetry/_environment.py 25 0 100%
haystack/telemetry/_telemetry.py 83 12 86% 70-76, 94-95, 114-115, 188
haystack/tools/__init__.py 7 0 100%
haystack/tools/component_tool.py 100 5 95% 372-373, 416-418
haystack/tools/errors.py 6 0 100%
haystack/tools/from_function.py 57 0 100%
haystack/tools/parameters_schema_utils.py 97 3 97% 95, 135-136
haystack/tools/pipeline_tool.py 30 2 93% 240, 243
haystack/tools/searchable_toolset.py 120 2 98% 191, 214
haystack/tools/serde_utils.py 43 3 93% 33, 35, 57
haystack/tools/skills/__init__.py 2 0 100%
haystack/tools/skills/skill_toolset.py 61 0 100%
haystack/tools/tool.py 150 5 97% 174, 197, 241-242, 376
haystack/tools/tool_types.py 5 0 100%
haystack/tools/toolset.py 126 13 90% 119, 193, 249, 301, 431-434, 440-444
haystack/tools/utils.py 29 0 100%
haystack/tracing/__init__.py 1 0 100%
haystack/tracing/logging_tracer.py 36 0 100%
haystack/tracing/tracer.py 54 4 93% 28, 74, 94, 103
haystack/tracing/utils.py 26 0 100%
haystack/utils/__init__.py 5 0 100%
haystack/utils/async_utils.py 10 0 100%
haystack/utils/auth.py 105 11 90% 22, 116, 124, 128, 133, 161, 234-238
haystack/utils/azure.py 6 2 67% 15-16
haystack/utils/base_serialization.py 128 9 93% 181-184, 204, 215, 312-316
haystack/utils/callable_serialization.py 64 8 88% 53, 57, 107-109, 119, 130, 148
haystack/utils/dataclasses.py 22 0 100%
haystack/utils/deserialization.py 18 1 94% 54
haystack/utils/device.py 214 17 92% 237-239, 325-327, 364, 403, 447, 468, 484, 512-515, 539-540
haystack/utils/experimental.py 14 0 100%
haystack/utils/filters.py 119 0 100%
haystack/utils/hf.py 61 15 75% 23-31, 40-51
haystack/utils/http_client.py 14 0 100%
haystack/utils/jinja2_chat_extension.py 146 1 99% 405
haystack/utils/jinja2_extensions.py 47 0 100%
haystack/utils/jupyter.py 9 3 67% 15-17
haystack/utils/misc.py 96 5 95% 52-53, 129-132
haystack/utils/requests_utils.py 33 0 100%
haystack/utils/type_serialization.py 123 6 95% 82, 84, 210-211, 219, 235
haystack/utils/url_validation.py 4 0 100%
haystack/version.py 5 2 60% 9-10
TOTAL 15973 791 95%

Setup coverage badge

Below are examples of the badges you can use in your main branch README file.

Direct image

Coverage badge

This is the one to use if your repository is private or if you don't want to customize anything.

Shields.io Json Endpoint

Coverage badge

Using this one will allow you to customize the look of your badge. It won't work with private repositories. It won't be refreshed more than once per five minutes.

Shields.io Dynamic Badge

Coverage badge

This one will always be the same color. It won't work for private repos. I'm not even sure why we included it.

What is that?

This branch is part of the python-coverage-comment-action GitHub Action. All the files in this branch are automatically generated and may be overwritten at any moment.

About

Open-source AI orchestration framework for building context-engineered, production-ready LLM applications. Design modular pipelines and agent workflows with explicit control over retrieval, routing, memory, and generation. Built for scalable agents, RAG, multimodal applications, semantic search, and conversational systems.

Topics

Resources

Stars

Watchers

Forks

Releases

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.