Coverage report: 81%

Files Functions Classes

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

File   statements missing excluded   coverage
src/qdrant_loader/__init__.py   33 0 0   100%
src/qdrant_loader/cli/__init__.py   15 0 0   100%
src/qdrant_loader/cli/__main__.py   4 4 0   0%
src/qdrant_loader/cli/async_utils.py   8 5 0   38%
src/qdrant_loader/cli/asyncio.py   22 0 0   100%
src/qdrant_loader/cli/cli.py   186 24 5   87%
src/qdrant_loader/cli/commands/__init__.py   18 6 0   67%
src/qdrant_loader/cli/commands/config.py   57 34 0   40%
src/qdrant_loader/cli/commands/config_cmd.py   24 24 0   0%
src/qdrant_loader/cli/commands/ingest.py   29 23 0   21%
src/qdrant_loader/cli/commands/ingest_cmd.py   104 29 0   72%
src/qdrant_loader/cli/commands/init.py   12 1 0   92%
src/qdrant_loader/cli/commands/init_cmd.py   91 91 2   0%
src/qdrant_loader/cli/commands/jobs_cmd.py   104 65 0   38%
src/qdrant_loader/cli/commands/project/__init__.py   4 0 0   100%
src/qdrant_loader/cli/commands/project/list_cmd.py   33 2 0   94%
src/qdrant_loader/cli/commands/project/status_cmd.py   57 9 0   84%
src/qdrant_loader/cli/commands/project/validate_cmd.py   44 14 0   68%
src/qdrant_loader/cli/commands/serve_cmd.py   136 91 0   33%
src/qdrant_loader/cli/commands/setup_cmd.py   317 39 0   88%
src/qdrant_loader/cli/commands/webhook_cmd.py   38 38 0   0%
src/qdrant_loader/cli/config_loader.py   74 39 4   47%
src/qdrant_loader/cli/logging_utils.py   33 33 3   0%
src/qdrant_loader/cli/path_utils.py   22 4 0   82%
src/qdrant_loader/cli/project_commands.py   162 8 0   95%
src/qdrant_loader/cli/update_check.py   18 8 0   56%
src/qdrant_loader/cli/version.py   8 0 2   100%
src/qdrant_loader/config.py   30 0 0   100%
src/qdrant_loader/config/__init__.py   201 29 0   86%
src/qdrant_loader/config/base.py   12 0 6   100%
src/qdrant_loader/config/chunking.py   69 0 0   100%
src/qdrant_loader/config/concurrency.py   8 0 0   100%
src/qdrant_loader/config/embedding.py   12 0 0   100%
src/qdrant_loader/config/error_formatter.py   69 4 0   94%
src/qdrant_loader/config/global_config.py   35 0 0   100%
src/qdrant_loader/config/graph.py   17 0 0   100%
src/qdrant_loader/config/models.py   70 0 0   100%
src/qdrant_loader/config/parser.py   89 0 0   100%
src/qdrant_loader/config/qdrant.py   8 0 0   100%
src/qdrant_loader/config/source_config.py   8 0 0   100%
src/qdrant_loader/config/sources.py   53 1 2   98%
src/qdrant_loader/config/state.py   77 18 0   77%
src/qdrant_loader/config/types.py   68 0 0   100%
src/qdrant_loader/config/validator.py   120 1 0   99%
src/qdrant_loader/config/workers.py   109 13 0   88%
src/qdrant_loader/config/workspace.py   66 0 0   100%
src/qdrant_loader/connectors/__init__.py   0 0 0   100%
src/qdrant_loader/connectors/attachments.py   22 22 0   0%
src/qdrant_loader/connectors/base.py   38 2 4   95%
src/qdrant_loader/connectors/confluence/__init__.py   3 0 0   100%
src/qdrant_loader/connectors/confluence/auth.py   26 16 0   38%
src/qdrant_loader/connectors/confluence/config.py   50 5 0   90%
src/qdrant_loader/connectors/confluence/connector.py   399 114 0   71%
src/qdrant_loader/connectors/confluence/mappers.py   27 0 0   100%
src/qdrant_loader/connectors/confluence/pagination.py   38 10 0   74%
src/qdrant_loader/connectors/exceptions.py   9 0 0   100%
src/qdrant_loader/connectors/factory.py   12 1 0   92%
src/qdrant_loader/connectors/git/__init__.py   5 0 0   100%
src/qdrant_loader/connectors/git/adapter.py   61 4 0   93%
src/qdrant_loader/connectors/git/config.py   27 2 0   93%
src/qdrant_loader/connectors/git/connector.py   201 60 0   70%
src/qdrant_loader/connectors/git/file_processor.py   112 23 3   79%
src/qdrant_loader/connectors/git/metadata_extractor.py   230 52 0   77%
src/qdrant_loader/connectors/git/operations.py   141 3 0   98%
src/qdrant_loader/connectors/http.py   1 1 0   0%
src/qdrant_loader/connectors/jira/__init__.py   3 0 0   100%
src/qdrant_loader/connectors/jira/auth.py   26 6 0   77%
src/qdrant_loader/connectors/jira/cloud_connector.py   56 4 0   93%
src/qdrant_loader/connectors/jira/config.py   134 5 0   96%
src/qdrant_loader/connectors/jira/connector.py   234 54 4   77%
src/qdrant_loader/connectors/jira/data_center_connector.py   57 7 0   88%
src/qdrant_loader/connectors/jira/mappers.py   153 26 0   83%
src/qdrant_loader/connectors/jira/models.py   47 0 0   100%
src/qdrant_loader/connectors/localfile/__init__.py   3 0 0   100%
src/qdrant_loader/connectors/localfile/config.py   14 0 0   100%
src/qdrant_loader/connectors/localfile/connector.py   121 11 0   91%
src/qdrant_loader/connectors/localfile/file_processor.py   99 6 2   94%
src/qdrant_loader/connectors/localfile/metadata_extractor.py   44 4 0   91%
src/qdrant_loader/connectors/publicdocs/__init__.py   2 0 0   100%
src/qdrant_loader/connectors/publicdocs/config.py   22 0 0   100%
src/qdrant_loader/connectors/publicdocs/connector.py   318 61 0   81%
src/qdrant_loader/connectors/publicdocs/crawler.py   85 17 3   80%
src/qdrant_loader/connectors/publicdocs/http.py   7 2 0   71%
src/qdrant_loader/connectors/publicdocs/parsers.py   88 88 0   0%
src/qdrant_loader/connectors/registry.py   10 0 0   100%
src/qdrant_loader/connectors/shared/__init__.py   0 0 0   100%
src/qdrant_loader/connectors/shared/attachments/__init__.py   3 0 0   100%
src/qdrant_loader/connectors/shared/attachments/metadata.py   67 21 0   69%
src/qdrant_loader/connectors/shared/attachments/reader.py   14 3 0   79%
src/qdrant_loader/connectors/shared/http/__init__.py   5 0 0   100%
src/qdrant_loader/connectors/shared/http/client.py   46 12 9   74%
src/qdrant_loader/connectors/shared/http/errors.py   6 4 3   33%
src/qdrant_loader/connectors/shared/http/policy.py   29 8 0   72%
src/qdrant_loader/connectors/shared/http/rate_limit.py   34 2 0   94%
src/qdrant_loader/core/__init__.py   2 0 0   100%
src/qdrant_loader/core/async_ingestion_pipeline.py   126 12 0   90%
src/qdrant_loader/core/attachment_downloader.py   153 22 0   86%
src/qdrant_loader/core/chunking/__init__.py   2 0 0   100%
src/qdrant_loader/core/chunking/chunking_service.py   69 0 0   100%
src/qdrant_loader/core/chunking/docling/__init__.py   8 0 0   100%
src/qdrant_loader/core/chunking/docling/chunker.py   24 1 8   96%
src/qdrant_loader/core/chunking/docling/config.py   37 1 0   97%
src/qdrant_loader/core/chunking/docling/docling_chunker.py   47 5 3   89%
src/qdrant_loader/core/chunking/docling/exceptions.py   8 3 0   62%
src/qdrant_loader/core/chunking/docling/mapper.py   20 0 3   100%
src/qdrant_loader/core/chunking/docling/outcome.py   9 0 0   100%
src/qdrant_loader/core/chunking/docling/structure.py   39 0 3   100%
src/qdrant_loader/core/chunking/docling/tokenizer.py   32 11 2   66%
src/qdrant_loader/core/chunking/progress_tracker.py   36 5 0   86%
src/qdrant_loader/core/chunking/strategy/__init__.py   8 0 0   100%
src/qdrant_loader/core/chunking/strategy/base/__init__.py   5 0 0   100%
src/qdrant_loader/core/chunking/strategy/base/chunk_processor.py   95 12 3   87%
src/qdrant_loader/core/chunking/strategy/base/document_parser.py   20 2 2   90%
src/qdrant_loader/core/chunking/strategy/base/metadata_extractor.py   80 3 2   96%
src/qdrant_loader/core/chunking/strategy/base/section_splitter.py   71 6 3   92%
src/qdrant_loader/core/chunking/strategy/base_strategy.py   166 6 2   96%
src/qdrant_loader/core/chunking/strategy/code/__init__.py   5 0 0   100%
src/qdrant_loader/core/chunking/strategy/code/code_chunk_processor.py   96 33 0   66%
src/qdrant_loader/core/chunking/strategy/code/code_document_parser.py   82 0 0   100%
src/qdrant_loader/core/chunking/strategy/code/code_metadata_extractor.py   126 71 0   44%
src/qdrant_loader/core/chunking/strategy/code/code_section_splitter.py   114 22 0   81%
src/qdrant_loader/core/chunking/strategy/code/metadata/__init__.py   11 0 0   100%
src/qdrant_loader/core/chunking/strategy/code/metadata/complexity.py   39 2 0   95%
src/qdrant_loader/core/chunking/strategy/code/metadata/dependencies.py   29 2 0   93%
src/qdrant_loader/core/chunking/strategy/code/metadata/documentation.py   11 0 0   100%
src/qdrant_loader/core/chunking/strategy/code/metadata/entities.py   12 0 0   100%
src/qdrant_loader/core/chunking/strategy/code/metadata/language_specific.py   93 34 0   63%
src/qdrant_loader/core/chunking/strategy/code/metadata/maintainability.py   18 3 0   83%
src/qdrant_loader/core/chunking/strategy/code/metadata/patterns.py   27 2 0   93%
src/qdrant_loader/core/chunking/strategy/code/metadata/performance.py   41 4 0   90%
src/qdrant_loader/core/chunking/strategy/code/metadata/security.py   23 2 0   91%
src/qdrant_loader/core/chunking/strategy/code/metadata/testing.py   19 2 0   89%
src/qdrant_loader/core/chunking/strategy/code/parser/__init__.py   0 0 0   100%
src/qdrant_loader/core/chunking/strategy/code/parser/common.py   43 2 0   95%
src/qdrant_loader/core/chunking/strategy/code/parser/python_ast.py   55 0 0   100%
src/qdrant_loader/core/chunking/strategy/code/parser/tree_sitter.py   28 24 0   14%
src/qdrant_loader/core/chunking/strategy/code/processor/__init__.py   0 0 0   100%
src/qdrant_loader/core/chunking/strategy/code/processor/analysis.py   38 6 0   84%
src/qdrant_loader/core/chunking/strategy/code/processor/quality.py   55 11 0   80%
src/qdrant_loader/core/chunking/strategy/code/processor/utils.py   48 18 0   62%
src/qdrant_loader/core/chunking/strategy/code_strategy.py   70 19 0   73%
src/qdrant_loader/core/chunking/strategy/default/__init__.py   5 0 0   100%
src/qdrant_loader/core/chunking/strategy/default/text_chunk_processor.py   85 1 0   99%
src/qdrant_loader/core/chunking/strategy/default/text_document_parser.py   117 3 0   97%
src/qdrant_loader/core/chunking/strategy/default/text_metadata_extractor.py   54 0 0   100%
src/qdrant_loader/core/chunking/strategy/default/text_section_splitter.py   141 11 0   92%
src/qdrant_loader/core/chunking/strategy/default_strategy.py   66 9 2   86%
src/qdrant_loader/core/chunking/strategy/docling_strategy.py   38 1 6   97%
src/qdrant_loader/core/chunking/strategy/html/__init__.py   5 0 0   100%
src/qdrant_loader/core/chunking/strategy/html/html_chunk_processor.py   83 20 0   76%
src/qdrant_loader/core/chunking/strategy/html/html_document_parser.py   160 37 0   77%
src/qdrant_loader/core/chunking/strategy/html/html_metadata_extractor.py   224 55 0   75%
src/qdrant_loader/core/chunking/strategy/html/html_section_splitter.py   216 77 0   64%
src/qdrant_loader/core/chunking/strategy/html_strategy.py   93 25 0   73%
src/qdrant_loader/core/chunking/strategy/json/__init__.py   5 0 0   100%
src/qdrant_loader/core/chunking/strategy/json/json_chunk_processor.py   97 0 0   100%
src/qdrant_loader/core/chunking/strategy/json/json_document_parser.py   183 24 0   87%
src/qdrant_loader/core/chunking/strategy/json/json_metadata_extractor.py   379 84 0   78%
src/qdrant_loader/core/chunking/strategy/json/json_section_splitter.py   167 21 0   87%
src/qdrant_loader/core/chunking/strategy/json_strategy.py   128 31 0   76%
src/qdrant_loader/core/chunking/strategy/markdown/__init__.py   2 0 0   100%
src/qdrant_loader/core/chunking/strategy/markdown/chunk_processor.py   35 0 2   100%
src/qdrant_loader/core/chunking/strategy/markdown/document_parser.py   115 1 0   99%
src/qdrant_loader/core/chunking/strategy/markdown/markdown_strategy.py   81 5 2   94%
src/qdrant_loader/core/chunking/strategy/markdown/metadata_extractor.py   96 17 0   82%
src/qdrant_loader/core/chunking/strategy/markdown/section_splitter.py   228 23 2   90%
src/qdrant_loader/core/chunking/strategy/markdown/splitters/__init__.py   1 0 0   100%
src/qdrant_loader/core/chunking/strategy/markdown/splitters/base.py   11 1 2   91%
src/qdrant_loader/core/chunking/strategy/markdown/splitters/excel.py   85 4 0   95%
src/qdrant_loader/core/chunking/strategy/markdown/splitters/fallback.py   17 1 0   94%
src/qdrant_loader/core/chunking/strategy/markdown/splitters/row_kv_excel.py   115 6 0   95%
src/qdrant_loader/core/chunking/strategy/markdown/splitters/standard.py   56 2 0   96%
src/qdrant_loader/core/conversion/__init__.py   5 0 0   100%
src/qdrant_loader/core/conversion/config.py   63 2 0   97%
src/qdrant_loader/core/conversion/docling_engine.py   21 0 3   100%
src/qdrant_loader/core/conversion/engine.py   15 1 8   93%
src/qdrant_loader/core/conversion/formats.py   19 1 2   95%
src/qdrant_loader/core/conversion/options.py   42 0 4   100%
src/qdrant_loader/core/conversion/outcome.py   41 2 3   95%
src/qdrant_loader/core/conversion/postprocess.py   38 2 2   95%
src/qdrant_loader/core/conversion/service.py   82 5 11   94%
src/qdrant_loader/core/conversion/settings.py   34 3 0   91%
src/qdrant_loader/core/document.py   141 13 2   91%
src/qdrant_loader/core/embedding/__init__.py   2 0 0   100%
src/qdrant_loader/core/embedding/embedding_service.py   167 41 0   75%
src/qdrant_loader/core/embedding_service.py   26 0 0   100%
src/qdrant_loader/core/file_conversion/__init__.py   7 0 0   100%
src/qdrant_loader/core/file_conversion/clean_xlsx_converter.py   77 4 0   95%
src/qdrant_loader/core/file_conversion/conversion_config.py   23 0 0   100%
src/qdrant_loader/core/file_conversion/exceptions.py   32 0 0   100%
src/qdrant_loader/core/file_conversion/file_converter.py   246 80 3   67%
src/qdrant_loader/core/file_conversion/file_detector.py   79 0 0   100%
src/qdrant_loader/core/file_conversion/sub_table_detector.py   63 1 0   98%
src/qdrant_loader/core/file_conversion/xlsx_markdown_format.py   7 0 0   100%
src/qdrant_loader/core/init_collection.py   27 1 0   96%
src/qdrant_loader/core/monitoring/__init__.py   4 0 0   100%
src/qdrant_loader/core/monitoring/batch_summary.py   44 6 0   86%
src/qdrant_loader/core/monitoring/ingestion_metrics.py   190 11 0   94%
src/qdrant_loader/core/monitoring/processing_stats.py   44 12 0   73%
src/qdrant_loader/core/monitoring/prometheus_metrics.py   31 0 0   100%
src/qdrant_loader/core/monitoring/resource_monitor.py   27 0 0   100%
src/qdrant_loader/core/pipeline/__init__.py   10 0 0   100%
src/qdrant_loader/core/pipeline/config.py   9 0 0   100%
src/qdrant_loader/core/pipeline/document_pipeline.py   166 44 0   73%
src/qdrant_loader/core/pipeline/factory.py   42 3 0   93%
src/qdrant_loader/core/pipeline/orchestrator.py   346 70 0   80%
src/qdrant_loader/core/pipeline/resource_manager.py   102 0 0   100%
src/qdrant_loader/core/pipeline/source_filter.py   33 2 0   94%
src/qdrant_loader/core/pipeline/source_processor.py   77 29 0   62%
src/qdrant_loader/core/pipeline/workers/__init__.py   5 0 0   100%
src/qdrant_loader/core/pipeline/workers/base_worker.py   16 1 0   94%
src/qdrant_loader/core/pipeline/workers/chunking_worker.py   112 7 0   94%
src/qdrant_loader/core/pipeline/workers/embedding_worker.py   101 3 0   97%
src/qdrant_loader/core/pipeline/workers/upsert_worker.py   175 1 0   99%
src/qdrant_loader/core/project_manager.py   174 38 2   78%
src/qdrant_loader/core/qdrant_manager.py   238 73 0   69%
src/qdrant_loader/core/state/__init__.py   4 0 0   100%
src/qdrant_loader/core/state/checkpoint_manager.py   98 28 0   71%
src/qdrant_loader/core/state/document_state_manager.py   50 0 0   100%
src/qdrant_loader/core/state/exceptions.py   9 0 0   100%
src/qdrant_loader/core/state/models.py   121 1 0   99%
src/qdrant_loader/core/state/queries.py   21 0 0   100%
src/qdrant_loader/core/state/session.py   27 2 0   93%
src/qdrant_loader/core/state/state_change_detector.py   93 26 0   72%
src/qdrant_loader/core/state/state_manager.py   242 109 9   55%
src/qdrant_loader/core/state/transitions.py   185 34 0   82%
src/qdrant_loader/core/state/utils.py   51 19 4   63%
src/qdrant_loader/core/text_processing/chunk_enricher.py   43 0 2   100%
src/qdrant_loader/core/text_processing/semantic_analyzer.py   230 13 2   94%
src/qdrant_loader/core/text_processing/spacy_model_cache.py   19 1 0   95%
src/qdrant_loader/core/text_processing/text_processor.py   79 2 0   97%
src/qdrant_loader/core/text_processing/topic_modeler.py   76 27 0   64%
src/qdrant_loader/core/worker/__init__.py   5 0 0   100%
src/qdrant_loader/core/worker/handlers.py   87 0 7   100%
src/qdrant_loader/core/worker/job_types.py   9 1 0   89%
src/qdrant_loader/core/worker/pool.py   168 26 0   85%
src/qdrant_loader/core/worker/queue.py   167 29 0   83%
src/qdrant_loader/core/worker/scheduler.py   92 8 0   91%
src/qdrant_loader/main.py   3 1 0   67%
src/qdrant_loader/utils/__init__.py   0 0 0   100%
src/qdrant_loader/utils/logging.py   269 168 0   38%
src/qdrant_loader/utils/sensitive.py   83 6 0   93%
src/qdrant_loader/utils/version_check.py   76 0 0   100%
src/qdrant_loader/webhooks/__init__.py   2 0 0   100%
src/qdrant_loader/webhooks/auth.py   121 37 0   69%
src/qdrant_loader/webhooks/event_processor.py   97 82 0   15%
src/qdrant_loader/webhooks/handlers.py   57 7 0   88%
src/qdrant_loader/webhooks/queue_backend.py   97 12 0   88%
src/qdrant_loader/webhooks/server.py   108 25 0   77%
src/qdrant_loader/webhooks/single_event_handler.py   29 6 0   79%
src/qdrant_loader/webhooks/worker.py   34 18 0   47%
Total   17186 3262 163   81%

No items found using the specified filter.