Coverage report: 81%

Files Functions Classes

coverage.py v7.13.0, created at 2025-12-12 09:46 +0000

File function   statements missing excluded   coverage
src / qdrant_loader / __init__.py __getattr__   22 0 0   100%
src / qdrant_loader / __init__.py (no function)   7 0 0   100%
src / qdrant_loader / cli / __init__.py __getattr__   13 0 0   100%
src / qdrant_loader / cli / __init__.py (no function)   2 0 0   100%
src / qdrant_loader / cli / async_utils.py cancel_all_tasks   5 5 0   0%
src / qdrant_loader / cli / async_utils.py (no function)   3 0 0   100%
src / qdrant_loader / cli / asyncio.py async_command   3 0 0   100%
src / qdrant_loader / cli / asyncio.py async_command.wrapper   11 0 0   100%
src / qdrant_loader / cli / asyncio.py (no function)   8 0 0   100%
src / qdrant_loader / cli / cli.py _get_version   4 0 0   100%
src / qdrant_loader / cli / cli.py _get_logger   4 0 0   100%
src / qdrant_loader / cli / cli.py _setup_logging   6 0 3   100%
src / qdrant_loader / cli / cli.py _check_for_updates   1 0 0   100%
src / qdrant_loader / cli / cli.py _setup_workspace   2 0 0   100%
src / qdrant_loader / cli / cli.py cli   1 0 0   100%
src / qdrant_loader / cli / cli.py _create_database_directory   11 1 0   91%
src / qdrant_loader / cli / cli.py _load_config   29 1 0   97%
src / qdrant_loader / cli / cli.py _check_settings   6 0 0   100%
src / qdrant_loader / cli / cli.py _load_config_with_workspace   2 2 0   0%
src / qdrant_loader / cli / cli.py _run_init   8 1 0   88%
src / qdrant_loader / cli / cli.py init   2 2 0   0%
src / qdrant_loader / cli / cli.py _cancel_all_tasks   1 1 0   0%
src / qdrant_loader / cli / cli.py ingest   2 2 0   0%
src / qdrant_loader / cli / cli.py config   9 1 0   89%
src / qdrant_loader / cli / cli.py _add_project_commands   2 2 0   0%
src / qdrant_loader / cli / cli.py (no function)   64 2 0   97%
src / qdrant_loader / cli / commands / __init__.py (no function)   3 0 0   100%
src / qdrant_loader / cli / commands / config.py run_show_config   37 20 0   46%
src / qdrant_loader / cli / commands / config.py run_show_config._redact_secrets   13 13 0   0%
src / qdrant_loader / cli / commands / config.py (no function)   5 0 0   100%
src / qdrant_loader / cli / commands / config_cmd.py run_config_command   16 16 0   0%
src / qdrant_loader / cli / commands / config_cmd.py (no function)   8 8 0   0%
src / qdrant_loader / cli / commands / ingest.py run_pipeline_ingestion   21 21 0   0%
src / qdrant_loader / cli / commands / ingest.py (no function)   4 0 0   100%
src / qdrant_loader / cli / commands / ingest_cmd.py run_ingest_command   74 36 0   51%
src / qdrant_loader / cli / commands / ingest_cmd.py run_ingest_command._do_run   1 0 0   100%
src / qdrant_loader / cli / commands / ingest_cmd.py run_ingest_command._handle_sigint   4 0 0   100%
src / qdrant_loader / cli / commands / ingest_cmd.py (no function)   15 0 0   100%
src / qdrant_loader / cli / commands / init.py run_init   9 1 0   89%
src / qdrant_loader / cli / commands / init.py (no function)   3 0 0   100%
src / qdrant_loader / cli / commands / init_cmd.py run_init_command   69 69 0   0%
src / qdrant_loader / cli / commands / init_cmd.py _create_database_directory   7 7 2   0%
src / qdrant_loader / cli / commands / init_cmd.py (no function)   15 15 0   0%
src / qdrant_loader / cli / commands / project / __init__.py (no function)   4 0 0   100%
src / qdrant_loader / cli / commands / project / list_cmd.py run_project_list   17 0 0   100%
src / qdrant_loader / cli / commands / project / list_cmd.py run_project_list._gather   11 2 0   82%
src / qdrant_loader / cli / commands / project / list_cmd.py (no function)   5 0 0   100%
src / qdrant_loader / cli / commands / project / status_cmd.py run_project_status   44 9 0   80%
src / qdrant_loader / cli / commands / project / status_cmd.py run_project_status._get_document_count   4 0 0   100%
src / qdrant_loader / cli / commands / project / status_cmd.py run_project_status._get_latest_ingestion   4 0 0   100%
src / qdrant_loader / cli / commands / project / status_cmd.py (no function)   5 0 0   100%
src / qdrant_loader / cli / commands / project / validate_cmd.py run_project_validate   32 13 0   59%
src / qdrant_loader / cli / commands / project / validate_cmd.py run_project_validate._get_all_sources_from_config   8 1 0   88%
src / qdrant_loader / cli / commands / project / validate_cmd.py (no function)   4 0 0   100%
src / qdrant_loader / cli / config_loader.py _get_logger   1 1 0   0%
src / qdrant_loader / cli / config_loader.py setup_workspace   8 1 2   88%
src / qdrant_loader / cli / config_loader.py load_config_with_workspace   10 2 0   80%
src / qdrant_loader / cli / config_loader.py create_database_directory   9 9 2   0%
src / qdrant_loader / cli / config_loader.py load_config   28 19 0   32%
src / qdrant_loader / cli / config_loader.py (no function)   11 0 0   100%
src / qdrant_loader / cli / logging_utils.py get_logger   4 4 0   0%
src / qdrant_loader / cli / logging_utils.py setup_logging   8 8 3   0%
src / qdrant_loader / cli / logging_utils.py check_for_updates   6 6 0   0%
src / qdrant_loader / cli / logging_utils.py _get_version   7 7 0   0%
src / qdrant_loader / cli / logging_utils.py (no function)   8 0 0   100%
src / qdrant_loader / cli / path_utils.py create_database_directory   18 4 0   78%
src / qdrant_loader / cli / path_utils.py (no function)   4 0 0   100%
src / qdrant_loader / cli / project_commands.py project_cli   1 0 0   100%
src / qdrant_loader / cli / project_commands.py _get_all_sources_from_config   7 0 0   100%
src / qdrant_loader / cli / project_commands.py _get_project_document_count   11 1 0   91%
src / qdrant_loader / cli / project_commands.py _get_project_latest_ingestion   11 1 0   91%
src / qdrant_loader / cli / project_commands.py list   15 0 0   100%
src / qdrant_loader / cli / project_commands.py status   15 0 0   100%
src / qdrant_loader / cli / project_commands.py validate   16 0 0   100%
src / qdrant_loader / cli / project_commands.py _setup_project_manager   16 0 0   100%
src / qdrant_loader / cli / project_commands.py _initialize_project_contexts_from_config   10 0 0   100%
src / qdrant_loader / cli / project_commands.py (no function)   50 0 0   100%
src / qdrant_loader / cli / update_check.py check_for_updates   16 8 0   50%
src / qdrant_loader / cli / update_check.py (no function)   2 0 0   100%
src / qdrant_loader / cli / version.py get_version_str   6 0 2   100%
src / qdrant_loader / cli / version.py (no function)   2 0 0   100%
src / qdrant_loader / config.py (no function)   28 0 0   100%
src / qdrant_loader / config / __init__.py _get_logger   1 0 0   100%
src / qdrant_loader / config / __init__.py _get_connector_configs   5 5 0   0%
src / qdrant_loader / config / __init__.py __getattr__   4 4 0   0%
src / qdrant_loader / config / __init__.py get_settings   3 1 0   67%
src / qdrant_loader / config / __init__.py get_global_config   1 1 0   0%
src / qdrant_loader / config / __init__.py initialize_config   7 0 0   100%
src / qdrant_loader / config / __init__.py initialize_config_with_workspace   13 3 0   77%
src / qdrant_loader / config / __init__.py Settings.validate_source_configs   9 2 0   78%
src / qdrant_loader / config / __init__.py Settings.qdrant_url   3 1 0   67%
src / qdrant_loader / config / __init__.py Settings.qdrant_api_key   3 1 0   67%
src / qdrant_loader / config / __init__.py Settings.qdrant_collection_name   3 1 0   67%
src / qdrant_loader / config / __init__.py Settings.openai_api_key   4 1 0   75%
src / qdrant_loader / config / __init__.py Settings.state_db_path   1 0 0   100%
src / qdrant_loader / config / __init__.py Settings.llm_settings   4 0 0   100%
src / qdrant_loader / config / __init__.py Settings._substitute_env_vars   22 2 0   91%
src / qdrant_loader / config / __init__.py Settings.from_yaml   28 4 0   86%
src / qdrant_loader / config / __init__.py Settings.to_dict   1 0 0   100%
src / qdrant_loader / config / __init__.py (no function)   50 0 0   100%
src / qdrant_loader / config / base.py ConfigProtocol.to_dict   0 0 1   100%
src / qdrant_loader / config / base.py SourceConfigProtocol.validate   0 0 1   100%
src / qdrant_loader / config / base.py BaseConfig.to_dict   1 0 0   100%
src / qdrant_loader / config / base.py BaseSourceConfig.validate   0 0 0   100%
src / qdrant_loader / config / base.py (no function)   11 0 4   100%
src / qdrant_loader / config / chunking.py ChunkingConfig.validate_chunk_overlap   4 0 0   100%
src / qdrant_loader / config / chunking.py (no function)   52 0 0   100%
src / qdrant_loader / config / embedding.py (no function)   11 0 0   100%
src / qdrant_loader / config / global_config.py GlobalConfig.__init__   4 0 0   100%
src / qdrant_loader / config / global_config.py GlobalConfig.to_dict   1 0 0   100%
src / qdrant_loader / config / global_config.py (no function)   24 0 0   100%
src / qdrant_loader / config / models.py ProjectContext.__post_init__   6 0 0   100%
src / qdrant_loader / config / models.py ProjectConfig.get_effective_collection_name   1 0 0   100%
src / qdrant_loader / config / models.py ProjectsConfig.get_project   1 0 0   100%
src / qdrant_loader / config / models.py ProjectsConfig.list_project_ids   1 0 0   100%
src / qdrant_loader / config / models.py ProjectsConfig.add_project   3 0 0   100%
src / qdrant_loader / config / models.py ProjectsConfig.to_dict   1 0 0   100%
src / qdrant_loader / config / models.py ParsedConfig.get_all_projects   1 0 0   100%
src / qdrant_loader / config / models.py ProjectStats.serialize_last_updated   1 0 0   100%
src / qdrant_loader / config / models.py ProjectInfo.serialize_last_updated   1 0 0   100%
src / qdrant_loader / config / models.py (no function)   54 0 0   100%
src / qdrant_loader / config / parser.py _get_logger   1 0 0   100%
src / qdrant_loader / config / parser.py MultiProjectConfigParser.__init__   1 0 0   100%
src / qdrant_loader / config / parser.py MultiProjectConfigParser.parse   6 0 0   100%
src / qdrant_loader / config / parser.py MultiProjectConfigParser._parse_global_config   5 0 0   100%
src / qdrant_loader / config / parser.py MultiProjectConfigParser._parse_projects   7 0 0   100%
src / qdrant_loader / config / parser.py MultiProjectConfigParser._parse_project_config   11 0 0   100%
src / qdrant_loader / config / parser.py MultiProjectConfigParser._inject_source_metadata   15 0 0   100%
src / qdrant_loader / config / parser.py MultiProjectConfigParser._is_valid_project_id   2 0 0   100%
src / qdrant_loader / config / parser.py MultiProjectConfigParser._merge_configs   3 0 0   100%
src / qdrant_loader / config / parser.py MultiProjectConfigParser._deep_merge_dicts   6 0 0   100%
src / qdrant_loader / config / parser.py (no function)   19 0 0   100%
src / qdrant_loader / config / qdrant.py QdrantConfig.to_dict   1 0 0   100%
src / qdrant_loader / config / qdrant.py (no function)   7 0 0   100%
src / qdrant_loader / config / source_config.py (no function)   8 0 0   100%
src / qdrant_loader / config / sources.py _get_connector_config_classes   6 0 0   100%
src / qdrant_loader / config / sources.py SourcesConfig.__init__   6 1 0   83%
src / qdrant_loader / config / sources.py SourcesConfig._convert_source_configs   22 0 0   100%
src / qdrant_loader / config / sources.py SourcesConfig.get_source_config   2 0 0   100%
src / qdrant_loader / config / sources.py SourcesConfig.to_dict   1 0 0   100%
src / qdrant_loader / config / sources.py (no function)   16 0 2   100%
src / qdrant_loader / config / state.py DatabaseDirectoryError.__init__   2 0 0   100%
src / qdrant_loader / config / state.py StateManagementConfig.validate_database_path   24 11 0   54%
src / qdrant_loader / config / state.py StateManagementConfig.validate_table_prefix   5 2 0   60%
src / qdrant_loader / config / state.py StateManagementConfig.validate_connection_pool   9 4 0   56%
src / qdrant_loader / config / state.py StateManagementConfig.__init__   3 1 0   67%
src / qdrant_loader / config / state.py (no function)   27 0 0   100%
src / qdrant_loader / config / types.py (no function)   68 0 0   100%
src / qdrant_loader / config / validator.py _get_logger   1 0 0   100%
src / qdrant_loader / config / validator.py ConfigValidator.__init__   1 0 0   100%
src / qdrant_loader / config / validator.py ConfigValidator.validate_structure   9 0 0   100%
src / qdrant_loader / config / validator.py ConfigValidator._validate_projects_section   17 0 0   100%
src / qdrant_loader / config / validator.py ConfigValidator._validate_project_config   22 0 0   100%
src / qdrant_loader / config / validator.py ConfigValidator._validate_sources_section   13 0 0   100%
src / qdrant_loader / config / validator.py ConfigValidator._validate_global_section   11 0 0   100%
src / qdrant_loader / config / validator.py ConfigValidator._validate_project_id   10 0 0   100%
src / qdrant_loader / config / validator.py ConfigValidator._validate_source_name   7 0 0   100%
src / qdrant_loader / config / validator.py ConfigValidator._validate_source_config   4 0 0   100%
src / qdrant_loader / config / validator.py ConfigValidator._validate_collection_name   5 0 0   100%
src / qdrant_loader / config / validator.py (no function)   15 0 0   100%
src / qdrant_loader / config / workspace.py _get_logger   1 0 0   100%
src / qdrant_loader / config / workspace.py WorkspaceConfig.__post_init__   10 0 0   100%
src / qdrant_loader / config / workspace.py setup_workspace   12 0 0   100%
src / qdrant_loader / config / workspace.py validate_workspace   6 0 0   100%
src / qdrant_loader / config / workspace.py create_workspace_structure   9 0 0   100%
src / qdrant_loader / config / workspace.py get_workspace_env_override   3 0 0   100%
src / qdrant_loader / config / workspace.py validate_workspace_flags   6 0 0   100%
src / qdrant_loader / config / workspace.py (no function)   19 0 0   100%
src / qdrant_loader / connectors / __init__.py (no function)   0 0 0   100%
src / qdrant_loader / connectors / attachments.py attachment_metadata_from_dict   18 18 0   0%
src / qdrant_loader / connectors / attachments.py (no function)   4 4 0   0%
src / qdrant_loader / connectors / base.py BaseConnector.__init__   2 0 0   100%
src / qdrant_loader / connectors / base.py BaseConnector.__aenter__   2 0 0   100%
src / qdrant_loader / connectors / base.py BaseConnector.__aexit__   1 0 0   100%
src / qdrant_loader / connectors / base.py BaseConnector.set_file_conversion_config   1 0 0   100%
src / qdrant_loader / connectors / base.py BaseConnector.get_documents   0 0 0   100%
src / qdrant_loader / connectors / base.py (no function)   11 0 0   100%
src / qdrant_loader / connectors / confluence / __init__.py (no function)   3 0 0   100%
src / qdrant_loader / connectors / confluence / auth.py setup_authentication   9 5 0   44%
src / qdrant_loader / connectors / confluence / auth.py auto_detect_deployment_type   11 11 0   0%
src / qdrant_loader / connectors / confluence / auth.py (no function)   6 0 0   100%
src / qdrant_loader / connectors / confluence / config.py ConfluenceSpaceConfig.validate_content_types   5 1 0   80%
src / qdrant_loader / connectors / confluence / config.py ConfluenceSpaceConfig.auto_detect_deployment_type   3 1 0   67%
src / qdrant_loader / connectors / confluence / config.py ConfluenceSpaceConfig.load_token_from_env   1 0 0   100%
src / qdrant_loader / connectors / confluence / config.py ConfluenceSpaceConfig.load_email_from_env   1 0 0   100%
src / qdrant_loader / connectors / confluence / config.py ConfluenceSpaceConfig.validate_auth_config   8 3 0   62%
src / qdrant_loader / connectors / confluence / config.py (no function)   32 0 0   100%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector.__init__   14 2 0   86%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector.set_file_conversion_config   9 9 0   0%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._setup_authentication   1 0 0   100%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._auto_detect_deployment_type   1 1 0   0%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector.__aenter__   3 3 0   0%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector.__aexit__   1 1 0   0%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._get_api_url   1 0 0   100%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._make_request   11 0 0   100%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._get_space_content_cloud   7 0 0   100%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._get_space_content_datacenter   8 8 0   0%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._get_space_content   3 1 0   67%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._get_content_attachments   23 23 0   0%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._process_attachments_for_document   13 11 0   15%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._should_process_content   11 0 0   100%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._extract_hierarchy_info   1 0 0   100%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._process_content   63 25 0   60%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._construct_page_url   12 1 0   92%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._construct_canonical_page_url   6 1 0   83%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._parse_timestamp   17 8 0   53%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector._clean_html   5 0 0   100%
src / qdrant_loader / connectors / confluence / connector.py ConfluenceConnector.get_documents   81 12 0   85%
src / qdrant_loader / connectors / confluence / connector.py (no function)   43 0 0   100%
src / qdrant_loader / connectors / confluence / mappers.py extract_hierarchy_info   24 0 0   100%
src / qdrant_loader / connectors / confluence / mappers.py (no function)   3 0 0   100%
src / qdrant_loader / connectors / confluence / pagination.py _quote_cql_literal   2 0 0   100%
src / qdrant_loader / connectors / confluence / pagination.py _sanitize_space_key   3 1 0   67%
src / qdrant_loader / connectors / confluence / pagination.py _sanitize_content_types   6 1 0   83%
src / qdrant_loader / connectors / confluence / pagination.py build_cloud_search_params   9 1 0   89%
src / qdrant_loader / connectors / confluence / pagination.py build_dc_search_params   7 7 0   0%
src / qdrant_loader / connectors / confluence / pagination.py (no function)   9 0 0   100%
src / qdrant_loader / connectors / exceptions.py HTTPRequestError.__init__   4 0 0   100%
src / qdrant_loader / connectors / exceptions.py (no function)   5 0 0   100%
src / qdrant_loader / connectors / git / __init__.py (no function)   5 0 0   100%
src / qdrant_loader / connectors / git / adapter.py GitPythonAdapter.__init__   2 0 0   100%
src / qdrant_loader / connectors / git / adapter.py GitPythonAdapter.clone   22 1 0   95%
src / qdrant_loader / connectors / git / adapter.py GitPythonAdapter.get_file_content   7 0 0   100%
src / qdrant_loader / connectors / git / adapter.py GitPythonAdapter.get_last_commit_date   10 3 0   70%
src / qdrant_loader / connectors / git / adapter.py GitPythonAdapter.list_files   8 0 0   100%
src / qdrant_loader / connectors / git / adapter.py (no function)   12 0 0   100%
src / qdrant_loader / connectors / git / config.py GitRepoConfig.validate_url   3 1 0   67%
src / qdrant_loader / connectors / git / config.py GitRepoConfig.validate_file_types   3 1 0   67%
src / qdrant_loader / connectors / git / config.py (no function)   21 0 0   100%
src / qdrant_loader / connectors / git / connector.py GitConnector.__init__   16 2 0   88%
src / qdrant_loader / connectors / git / connector.py GitConnector.set_file_conversion_config   3 3 0   0%
src / qdrant_loader / connectors / git / connector.py GitConnector.__aenter__   34 7 0   79%
src / qdrant_loader / connectors / git / connector.py GitConnector.__enter__   26 8 0   69%
src / qdrant_loader / connectors / git / connector.py GitConnector.__aexit__   2 0 0   100%
src / qdrant_loader / connectors / git / connector.py GitConnector.__exit__   1 0 0   100%
src / qdrant_loader / connectors / git / connector.py GitConnector._cleanup   6 2 0   67%
src / qdrant_loader / connectors / git / connector.py GitConnector._process_file   40 20 0   50%
src / qdrant_loader / connectors / git / connector.py GitConnector.get_documents   24 13 0   46%
src / qdrant_loader / connectors / git / connector.py GitConnector._ensure_initialized   3 2 0   33%
src / qdrant_loader / connectors / git / connector.py (no function)   24 0 0   100%
src / qdrant_loader / connectors / git / file_processor.py FileProcessor.__init__   4 0 0   100%
src / qdrant_loader / connectors / git / file_processor.py FileProcessor.should_process_file   100 23 0   77%
src / qdrant_loader / connectors / git / file_processor.py (no function)   8 0 3   100%
src / qdrant_loader / connectors / git / metadata_extractor.py GitMetadataExtractor.__init__   2 0 0   100%
src / qdrant_loader / connectors / git / metadata_extractor.py GitMetadataExtractor.extract_all_metadata   12 0 0   100%
src / qdrant_loader / connectors / git / metadata_extractor.py GitMetadataExtractor._extract_file_metadata   15 2 0   87%
src / qdrant_loader / connectors / git / metadata_extractor.py GitMetadataExtractor._extract_repo_metadata   45 11 0   76%
src / qdrant_loader / connectors / git / metadata_extractor.py GitMetadataExtractor._extract_git_metadata   26 8 0   69%
src / qdrant_loader / connectors / git / metadata_extractor.py GitMetadataExtractor._extract_structure_metadata   32 10 0   69%
src / qdrant_loader / connectors / git / metadata_extractor.py GitMetadataExtractor._get_repo_description   58 16 0   72%
src / qdrant_loader / connectors / git / metadata_extractor.py GitMetadataExtractor._detect_encoding   9 2 0   78%
src / qdrant_loader / connectors / git / metadata_extractor.py GitMetadataExtractor._detect_language   3 3 0   0%
src / qdrant_loader / connectors / git / metadata_extractor.py GitMetadataExtractor._has_code_blocks   1 0 0   100%
src / qdrant_loader / connectors / git / metadata_extractor.py GitMetadataExtractor._has_images   1 0 0   100%
src / qdrant_loader / connectors / git / metadata_extractor.py GitMetadataExtractor._has_links   1 0 0   100%
src / qdrant_loader / connectors / git / metadata_extractor.py GitMetadataExtractor._get_heading_levels   2 0 0   100%
src / qdrant_loader / connectors / git / metadata_extractor.py (no function)   23 0 0   100%
src / qdrant_loader / connectors / git / operations.py GitOperations.__init__   3 0 0   100%
src / qdrant_loader / connectors / git / operations.py GitOperations.clone   42 1 0   98%
src / qdrant_loader / connectors / git / operations.py GitOperations.get_file_content   16 0 0   100%
src / qdrant_loader / connectors / git / operations.py GitOperations.get_last_commit_date   25 6 0   76%
src / qdrant_loader / connectors / git / operations.py GitOperations.get_first_commit_date   25 9 0   64%
src / qdrant_loader / connectors / git / operations.py GitOperations.list_files   9 0 0   100%
src / qdrant_loader / connectors / git / operations.py (no function)   15 0 0   100%
src / qdrant_loader / connectors / http.py (no function)   1 1 0   0%
src / qdrant_loader / connectors / jira / __init__.py (no function)   3 0 0   100%
src / qdrant_loader / connectors / jira / auth.py setup_authentication   9 3 0   67%
src / qdrant_loader / connectors / jira / auth.py auto_detect_deployment_type   11 3 0   73%
src / qdrant_loader / connectors / jira / auth.py (no function)   6 0 0   100%
src / qdrant_loader / connectors / jira / config.py JiraProjectConfig.auto_detect_deployment_type   3 1 0   67%
src / qdrant_loader / connectors / jira / config.py JiraProjectConfig.load_token_from_env   1 0 0   100%
src / qdrant_loader / connectors / jira / config.py JiraProjectConfig.load_email_from_env   1 0 0   100%
src / qdrant_loader / connectors / jira / config.py JiraProjectConfig.validate_auth_config   8 1 0   88%
src / qdrant_loader / connectors / jira / config.py JiraProjectConfig.validate_list_items   3 1 0   67%
src / qdrant_loader / connectors / jira / config.py (no function)   34 0 0   100%
src / qdrant_loader / connectors / jira / connector.py JiraConnector.__init__   15 2 0   87%
src / qdrant_loader / connectors / jira / connector.py JiraConnector._setup_authentication   1 0 0   100%
src / qdrant_loader / connectors / jira / connector.py JiraConnector._auto_detect_deployment_type   1 0 0   100%
src / qdrant_loader / connectors / jira / connector.py JiraConnector.set_file_conversion_config   30 30 0   0%
src / qdrant_loader / connectors / jira / connector.py JiraConnector.__aenter__   3 0 0   100%
src / qdrant_loader / connectors / jira / connector.py JiraConnector.__aexit__   1 0 0   100%
src / qdrant_loader / connectors / jira / connector.py JiraConnector._get_api_url   1 0 0   100%
src / qdrant_loader / connectors / jira / connector.py JiraConnector._make_request   18 7 0   61%
src / qdrant_loader / connectors / jira / connector.py JiraConnector._make_sync_request   6 6 0   0%
src / qdrant_loader / connectors / jira / connector.py JiraConnector.get_issues   37 6 0   84%
src / qdrant_loader / connectors / jira / connector.py JiraConnector._parse_issue   1 0 0   100%
src / qdrant_loader / connectors / jira / connector.py JiraConnector._parse_user   1 1 0   0%
src / qdrant_loader / connectors / jira / connector.py JiraConnector._parse_attachment   1 1 0   0%
src / qdrant_loader / connectors / jira / connector.py JiraConnector._parse_comment   1 1 0   0%
src / qdrant_loader / connectors / jira / connector.py JiraConnector._get_issue_attachments   4 4 0   0%
src / qdrant_loader / connectors / jira / connector.py JiraConnector.get_documents   24 6 0   75%
src / qdrant_loader / connectors / jira / connector.py (no function)   42 0 0   100%
src / qdrant_loader / connectors / jira / mappers.py parse_user   10 6 0   40%
src / qdrant_loader / connectors / jira / mappers.py parse_attachment   13 4 0   69%
src / qdrant_loader / connectors / jira / mappers.py parse_comment   4 1 0   75%
src / qdrant_loader / connectors / jira / mappers.py parse_issue   53 12 0   77%
src / qdrant_loader / connectors / jira / mappers.py parse_issue._require_dict_with_key   3 1 0   67%
src / qdrant_loader / connectors / jira / mappers.py (no function)   8 0 0   100%
src / qdrant_loader / connectors / jira / models.py (no function)   39 0 0   100%
src / qdrant_loader / connectors / localfile / __init__.py (no function)   3 0 0   100%
src / qdrant_loader / connectors / localfile / config.py LocalFileConfig.validate_base_url   3 0 0   100%
src / qdrant_loader / connectors / localfile / config.py (no function)   11 0 0   100%
src / qdrant_loader / connectors / localfile / connector.py LocalFileConnector.__init__   15 3 0   80%
src / qdrant_loader / connectors / localfile / connector.py LocalFileConnector._fix_windows_file_path   4 0 0   100%
src / qdrant_loader / connectors / localfile / connector.py LocalFileConnector.set_file_conversion_config   3 3 0   0%
src / qdrant_loader / connectors / localfile / connector.py LocalFileConnector.get_documents   43 19 0   56%
src / qdrant_loader / connectors / localfile / connector.py (no function)   15 0 0   100%
src / qdrant_loader / connectors / localfile / file_processor.py LocalFileFileProcessor.__init__   4 0 0   100%
src / qdrant_loader / connectors / localfile / file_processor.py LocalFileFileProcessor.should_process_file   87 6 0   93%
src / qdrant_loader / connectors / localfile / file_processor.py (no function)   8 0 2   100%
src / qdrant_loader / connectors / localfile / metadata_extractor.py LocalFileMetadataExtractor.__init__   2 0 0   100%
src / qdrant_loader / connectors / localfile / metadata_extractor.py LocalFileMetadataExtractor.extract_all_metadata   9 0 0   100%
src / qdrant_loader / connectors / localfile / metadata_extractor.py LocalFileMetadataExtractor._extract_file_metadata   8 0 0   100%
src / qdrant_loader / connectors / localfile / metadata_extractor.py LocalFileMetadataExtractor._extract_structure_metadata   5 0 0   100%
src / qdrant_loader / connectors / localfile / metadata_extractor.py LocalFileMetadataExtractor._detect_encoding   9 4 0   56%
src / qdrant_loader / connectors / localfile / metadata_extractor.py (no function)   11 0 0   100%
src / qdrant_loader / connectors / publicdocs / __init__.py (no function)   2 0 0   100%
src / qdrant_loader / connectors / publicdocs / config.py PublicDocsSourceConfig.validate_content_type   4 0 0   100%
src / qdrant_loader / connectors / publicdocs / config.py (no function)   18 0 0   100%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector.__init__   14 0 0   100%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector.__aenter__   9 0 0   100%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector.__aexit__   4 0 0   100%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector.client   3 1 0   67%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector.set_file_conversion_config   6 6 0   0%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector._should_process_url   23 4 0   83%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector.get_documents   46 14 0   70%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector._process_page   35 6 0   83%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector._extract_links   12 0 0   100%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector._extract_content   30 0 0   100%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector._extract_title   25 1 0   96%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector._extract_attachments   22 12 0   45%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector._get_mime_type_from_extension   2 2 0   0%
src / qdrant_loader / connectors / publicdocs / connector.py PublicDocsConnector._get_all_pages   23 16 0   30%
src / qdrant_loader / connectors / publicdocs / connector.py (no function)   38 0 0   100%
src / qdrant_loader / connectors / publicdocs / crawler.py discover_pages   78 17 3   78%
src / qdrant_loader / connectors / publicdocs / crawler.py (no function)   7 0 0   100%
src / qdrant_loader / connectors / publicdocs / http.py read_text_response   2 0 0   100%
src / qdrant_loader / connectors / publicdocs / http.py get_text   2 2 0   0%
src / qdrant_loader / connectors / publicdocs / http.py (no function)   3 0 0   100%
src / qdrant_loader / connectors / publicdocs / parsers.py extract_links   9 9 0   0%
src / qdrant_loader / connectors / publicdocs / parsers.py extract_title   13 13 0   0%
src / qdrant_loader / connectors / publicdocs / parsers.py extract_content   14 14 0   0%
src / qdrant_loader / connectors / publicdocs / parsers.py should_process_url   9 9 0   0%
src / qdrant_loader / connectors / publicdocs / parsers.py extract_attachments   30 30 0   0%
src / qdrant_loader / connectors / publicdocs / parsers.py get_mime_type_from_extension   2 2 0   0%
src / qdrant_loader / connectors / publicdocs / parsers.py (no function)   11 11 0   0%
src / qdrant_loader / connectors / shared / __init__.py (no function)   0 0 0   100%
src / qdrant_loader / connectors / shared / attachments / __init__.py (no function)   3 0 0   100%
src / qdrant_loader / connectors / shared / attachments / metadata.py normalize_attachment_metadata   10 2 0   80%
src / qdrant_loader / connectors / shared / attachments / metadata.py jira_attachment_to_metadata   3 0 0   100%
src / qdrant_loader / connectors / shared / attachments / metadata.py confluence_attachment_to_metadata   48 19 0   60%
src / qdrant_loader / connectors / shared / attachments / metadata.py (no function)   6 0 0   100%
src / qdrant_loader / connectors / shared / attachments / reader.py AttachmentReader.__init__   2 2 0   0%
src / qdrant_loader / connectors / shared / attachments / reader.py AttachmentReader.fetch_and_process   1 1 0   0%
src / qdrant_loader / connectors / shared / attachments / reader.py AttachmentReader.aclose   1 1 0   0%
src / qdrant_loader / connectors / shared / attachments / reader.py AttachmentReader.close   1 1 0   0%
src / qdrant_loader / connectors / shared / attachments / reader.py (no function)   9 0 0   100%
src / qdrant_loader / connectors / shared / http / __init__.py (no function)   5 0 0   100%
src / qdrant_loader / connectors / shared / http / client.py make_request_async   2 0 0   100%
src / qdrant_loader / connectors / shared / http / client.py make_request_async._do_request   1 0 0   100%
src / qdrant_loader / connectors / shared / http / client.py make_request_with_retries_async   16 4 0   75%
src / qdrant_loader / connectors / shared / http / client.py aiohttp_request_with_retries   17 8 7   53%
src / qdrant_loader / connectors / shared / http / client.py (no function)   10 0 2   100%
src / qdrant_loader / connectors / shared / http / errors.py HTTPRequestError.__init__   4 4 0   0%
src / qdrant_loader / connectors / shared / http / errors.py HTTPRequestError.__str__   0 0 2   100%
src / qdrant_loader / connectors / shared / http / errors.py (no function)   2 0 1   100%
src / qdrant_loader / connectors / shared / http / policy.py request_with_policy   9 4 0   56%
src / qdrant_loader / connectors / shared / http / policy.py request_with_policy._do_call   1 0 0   100%
src / qdrant_loader / connectors / shared / http / policy.py aiohttp_request_with_policy   9 4 0   56%
src / qdrant_loader / connectors / shared / http / policy.py aiohttp_request_with_policy._do_call   1 0 0   100%
src / qdrant_loader / connectors / shared / http / policy.py (no function)   9 0 0   100%
src / qdrant_loader / connectors / shared / http / rate_limit.py RateLimiter.__init__   7 2 0   71%
src / qdrant_loader / connectors / shared / http / rate_limit.py RateLimiter.per_minute   1 0 0   100%
src / qdrant_loader / connectors / shared / http / rate_limit.py RateLimiter._get_delay   5 0 0   100%
src / qdrant_loader / connectors / shared / http / rate_limit.py RateLimiter.acquire   8 0 0   100%
src / qdrant_loader / connectors / shared / http / rate_limit.py RateLimiter.__aenter__   2 0 0   100%
src / qdrant_loader / connectors / shared / http / rate_limit.py RateLimiter.__aexit__   1 0 0   100%
src / qdrant_loader / connectors / shared / http / rate_limit.py (no function)   10 0 0   100%
src / qdrant_loader / core / __init__.py (no function)   2 0 0   100%
src / qdrant_loader / core / async_ingestion_pipeline.py AsyncIngestionPipeline.__init__   24 1 0   96%
src / qdrant_loader / core / async_ingestion_pipeline.py AsyncIngestionPipeline.initialize   21 10 0   52%
src / qdrant_loader / core / async_ingestion_pipeline.py AsyncIngestionPipeline.process_documents   17 0 0   100%
src / qdrant_loader / core / async_ingestion_pipeline.py AsyncIngestionPipeline.cleanup   16 1 0   94%
src / qdrant_loader / core / async_ingestion_pipeline.py AsyncIngestionPipeline.__del__   4 0 0   100%
src / qdrant_loader / core / async_ingestion_pipeline.py AsyncIngestionPipeline._sync_cleanup   19 0 0   100%
src / qdrant_loader / core / async_ingestion_pipeline.py (no function)   18 0 0   100%
src / qdrant_loader / core / attachment_downloader.py AttachmentMetadata.__init__   9 0 0   100%
src / qdrant_loader / core / attachment_downloader.py AttachmentDownloader.__init__   11 0 0   100%
src / qdrant_loader / core / attachment_downloader.py AttachmentDownloader.should_download_attachment   13 6 0   54%
src / qdrant_loader / core / attachment_downloader.py AttachmentDownloader.download_attachment   49 11 0   78%
src / qdrant_loader / core / attachment_downloader.py AttachmentDownloader.process_attachment   31 3 0   90%
src / qdrant_loader / core / attachment_downloader.py AttachmentDownloader.cleanup_temp_file   6 2 0   67%
src / qdrant_loader / core / attachment_downloader.py AttachmentDownloader.download_and_process_attachments   15 0 0   100%
src / qdrant_loader / core / attachment_downloader.py (no function)   17 0 0   100%
src / qdrant_loader / core / chunking / __init__.py (no function)   2 0 0   100%
src / qdrant_loader / core / chunking / chunking_service.py ChunkingService.__new__   3 0 0   100%
src / qdrant_loader / core / chunking / chunking_service.py ChunkingService.__init__   9 0 0   100%
src / qdrant_loader / core / chunking / chunking_service.py ChunkingService.validate_config   6 0 0   100%
src / qdrant_loader / core / chunking / chunking_service.py ChunkingService._get_strategy   15 0 0   100%
src / qdrant_loader / core / chunking / chunking_service.py ChunkingService.chunk_document   17 0 0   100%
src / qdrant_loader / core / chunking / chunking_service.py (no function)   13 0 0   100%
src / qdrant_loader / core / chunking / progress_tracker.py ChunkingProgressTracker.__init__   3 0 0   100%
src / qdrant_loader / core / chunking / progress_tracker.py ChunkingProgressTracker.start_chunking   4 1 0   75%
src / qdrant_loader / core / chunking / progress_tracker.py ChunkingProgressTracker.update_progress   2 0 0   100%
src / qdrant_loader / core / chunking / progress_tracker.py ChunkingProgressTracker.finish_chunking   8 2 0   75%
src / qdrant_loader / core / chunking / progress_tracker.py ChunkingProgressTracker.log_error   5 1 0   80%
src / qdrant_loader / core / chunking / progress_tracker.py ChunkingProgressTracker.log_fallback   5 1 0   80%
src / qdrant_loader / core / chunking / progress_tracker.py (no function)   9 0 0   100%
src / qdrant_loader / core / chunking / strategy / __init__.py (no function)   7 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / __init__.py (no function)   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py BaseChunkProcessor.__init__   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py BaseChunkProcessor.create_chunk_document   1 1 0   0%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py BaseChunkProcessor.estimate_chunk_count   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py BaseChunkProcessor.generate_chunk_id   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py BaseChunkProcessor.create_base_chunk_metadata   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py BaseChunkProcessor.validate_chunk_content   7 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py BaseChunkProcessor.should_skip_semantic_analysis   9 1 0   89%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py BaseChunkProcessor._get_current_timestamp   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py BaseChunkProcessor._get_strategy_name   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py BaseChunkProcessor.calculate_content_similarity   11 1 0   91%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py BaseChunkProcessor.optimize_chunk_boundaries   17 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py BaseChunkProcessor.shutdown   8 7 0   12%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py BaseChunkProcessor.__del__   4 2 0   50%
src / qdrant_loader / core / chunking / strategy / base / chunk_processor.py (no function)   17 0 3   100%
src / qdrant_loader / core / chunking / strategy / base / document_parser.py BaseDocumentParser.parse_document_structure   1 1 0   0%
src / qdrant_loader / core / chunking / strategy / base / document_parser.py BaseDocumentParser.extract_section_metadata   1 1 0   0%
src / qdrant_loader / core / chunking / strategy / base / document_parser.py BaseDocumentParser.extract_section_title   6 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / document_parser.py BaseDocumentParser.analyze_content_characteristics   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / document_parser.py (no function)   9 0 2   100%
src / qdrant_loader / core / chunking / strategy / base / metadata_extractor.py BaseMetadataExtractor.extract_hierarchical_metadata   1 1 0   0%
src / qdrant_loader / core / chunking / strategy / base / metadata_extractor.py BaseMetadataExtractor.extract_entities   1 1 0   0%
src / qdrant_loader / core / chunking / strategy / base / metadata_extractor.py BaseMetadataExtractor.extract_cross_references   15 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / metadata_extractor.py BaseMetadataExtractor.analyze_content_type   16 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / metadata_extractor.py BaseMetadataExtractor._detect_primary_language   9 1 0   89%
src / qdrant_loader / core / chunking / strategy / base / metadata_extractor.py BaseMetadataExtractor._categorize_content   9 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / metadata_extractor.py BaseMetadataExtractor.extract_keyword_density   13 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / metadata_extractor.py BaseMetadataExtractor.create_breadcrumb_metadata   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / metadata_extractor.py (no function)   14 0 2   100%
src / qdrant_loader / core / chunking / strategy / base / section_splitter.py BaseSectionSplitter.__init__   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / section_splitter.py BaseSectionSplitter.split_sections   1 1 0   0%
src / qdrant_loader / core / chunking / strategy / base / section_splitter.py BaseSectionSplitter.validate_section_size   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / section_splitter.py BaseSectionSplitter.calculate_split_points   21 4 0   81%
src / qdrant_loader / core / chunking / strategy / base / section_splitter.py BaseSectionSplitter._find_natural_boundary   15 1 0   93%
src / qdrant_loader / core / chunking / strategy / base / section_splitter.py BaseSectionSplitter.create_section_metadata   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / section_splitter.py BaseSectionSplitter.split_content_by_size   17 0 0   100%
src / qdrant_loader / core / chunking / strategy / base / section_splitter.py (no function)   11 0 3   100%
src / qdrant_loader / core / chunking / strategy / base_strategy.py BaseChunkingStrategy.__init__   15 0 0   100%
src / qdrant_loader / core / chunking / strategy / base_strategy.py BaseChunkingStrategy._count_tokens   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / base_strategy.py BaseChunkingStrategy._process_text   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / base_strategy.py BaseChunkingStrategy._should_apply_nlp   26 0 0   100%
src / qdrant_loader / core / chunking / strategy / base_strategy.py BaseChunkingStrategy._extract_nlp_worthy_content   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / base_strategy.py BaseChunkingStrategy._extract_comments_and_docstrings   62 5 0   92%
src / qdrant_loader / core / chunking / strategy / base_strategy.py BaseChunkingStrategy._create_chunk_document   29 0 0   100%
src / qdrant_loader / core / chunking / strategy / base_strategy.py BaseChunkingStrategy.chunk_document   1 1 0   0%
src / qdrant_loader / core / chunking / strategy / base_strategy.py (no function)   17 0 2   100%
src / qdrant_loader / core / chunking / strategy / code / __init__.py (no function)   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_chunk_processor.py CodeChunkProcessor.__init__   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_chunk_processor.py CodeChunkProcessor.create_chunk_document   9 1 0   89%
src / qdrant_loader / core / chunking / strategy / code / code_chunk_processor.py CodeChunkProcessor.should_skip_semantic_analysis   16 7 0   56%
src / qdrant_loader / core / chunking / strategy / code / code_chunk_processor.py CodeChunkProcessor._create_code_specific_metadata   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_chunk_processor.py CodeChunkProcessor._generate_chunk_title   8 2 0   75%
src / qdrant_loader / core / chunking / strategy / code / code_chunk_processor.py CodeChunkProcessor._is_minified_code   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_chunk_processor.py CodeChunkProcessor._is_generated_code   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_chunk_processor.py CodeChunkProcessor._is_mostly_comments   5 1 0   80%
src / qdrant_loader / core / chunking / strategy / code / code_chunk_processor.py CodeChunkProcessor._has_meaningful_names   2 2 0   0%
src / qdrant_loader / core / chunking / strategy / code / code_chunk_processor.py CodeChunkProcessor._determine_learning_level   6 6 0   0%
src / qdrant_loader / core / chunking / strategy / code / code_chunk_processor.py CodeChunkProcessor._identify_programming_concepts   6 6 0   0%
src / qdrant_loader / core / chunking / strategy / code / code_chunk_processor.py CodeChunkProcessor._extract_element_context   8 8 0   0%
src / qdrant_loader / core / chunking / strategy / code / code_chunk_processor.py (no function)   20 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_document_parser.py CodeDocumentParser.__init__   6 1 0   83%
src / qdrant_loader / core / chunking / strategy / code / code_document_parser.py CodeDocumentParser.parse_document_structure   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_document_parser.py CodeDocumentParser.extract_section_metadata   12 5 0   58%
src / qdrant_loader / core / chunking / strategy / code / code_document_parser.py CodeDocumentParser.detect_language   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_document_parser.py CodeDocumentParser.parse_code_elements   14 2 0   86%
src / qdrant_loader / core / chunking / strategy / code / code_document_parser.py CodeDocumentParser._get_tree_sitter_parser   11 5 0   55%
src / qdrant_loader / core / chunking / strategy / code / code_document_parser.py CodeDocumentParser._parse_with_tree_sitter   11 4 0   64%
src / qdrant_loader / core / chunking / strategy / code / code_document_parser.py (no function)   25 3 0   88%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor.__init__   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor.extract_hierarchical_metadata   7 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor.extract_entities   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._build_dependency_graph   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._is_third_party_import   2 2 0   0%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._calculate_complexity_metrics   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._calculate_maintainability_index   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._identify_code_patterns   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._calculate_doc_coverage   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._identify_test_code   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._analyze_security_patterns   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._analyze_performance_patterns   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._calculate_maintainability_metrics   2 2 0   0%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._extract_language_specific_metadata   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._extract_python_metadata   19 19 0   0%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._extract_javascript_metadata   18 18 0   0%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._extract_java_metadata   14 14 0   0%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._extract_c_cpp_metadata   14 14 0   0%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py CodeMetadataExtractor._detect_python_version_features   2 2 0   0%
src / qdrant_loader / core / chunking / strategy / code / code_metadata_extractor.py (no function)   25 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_section_splitter.py CodeSectionSplitter.__init__   6 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / code_section_splitter.py CodeSectionSplitter.split_sections   24 4 0   83%
src / qdrant_loader / core / chunking / strategy / code / code_section_splitter.py CodeSectionSplitter._merge_small_elements   25 1 0   96%
src / qdrant_loader / core / chunking / strategy / code / code_section_splitter.py CodeSectionSplitter._create_merged_element   19 1 0   95%
src / qdrant_loader / core / chunking / strategy / code / code_section_splitter.py CodeSectionSplitter._fallback_text_split   27 6 0   78%
src / qdrant_loader / core / chunking / strategy / code / code_section_splitter.py (no function)   13 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / __init__.py (no function)   11 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / complexity.py calculate_complexity_metrics   16 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / complexity.py calculate_maintainability_index   19 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / complexity.py (no function)   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / dependencies.py build_dependency_graph   14 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / dependencies.py is_third_party_import   11 2 0   82%
src / qdrant_loader / core / chunking / strategy / code / metadata / dependencies.py (no function)   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / documentation.py calculate_doc_coverage   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / documentation.py (no function)   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / entities.py extract_entities   9 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / entities.py (no function)   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / language_specific.py extract_language_specific_metadata   9 2 0   78%
src / qdrant_loader / core / chunking / strategy / code / metadata / language_specific.py extract_python_metadata   18 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / language_specific.py extract_javascript_metadata   18 1 0   94%
src / qdrant_loader / core / chunking / strategy / code / metadata / language_specific.py extract_java_metadata   14 14 0   0%
src / qdrant_loader / core / chunking / strategy / code / metadata / language_specific.py extract_c_cpp_metadata   14 14 0   0%
src / qdrant_loader / core / chunking / strategy / code / metadata / language_specific.py detect_python_version_features   12 3 0   75%
src / qdrant_loader / core / chunking / strategy / code / metadata / language_specific.py (no function)   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / maintainability.py calculate_maintainability_metrics   16 3 0   81%
src / qdrant_loader / core / chunking / strategy / code / metadata / maintainability.py (no function)   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / patterns.py identify_code_patterns   25 2 0   92%
src / qdrant_loader / core / chunking / strategy / code / metadata / patterns.py (no function)   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / performance.py analyze_performance_patterns   38 4 0   89%
src / qdrant_loader / core / chunking / strategy / code / metadata / performance.py (no function)   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / security.py analyze_security_patterns   21 2 0   90%
src / qdrant_loader / core / chunking / strategy / code / metadata / security.py (no function)   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / metadata / testing.py identify_test_code   17 2 0   88%
src / qdrant_loader / core / chunking / strategy / code / metadata / testing.py (no function)   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / parser / __init__.py (no function)   0 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / parser / common.py CodeElement.add_child   2 2 0   0%
src / qdrant_loader / core / chunking / strategy / code / parser / common.py (no function)   41 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / parser / python_ast.py parse_python_ast   10 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / parser / python_ast.py parse_python_ast.Visitor.__init__   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / parser / python_ast.py parse_python_ast.Visitor.generic_visit   23 4 0   83%
src / qdrant_loader / core / chunking / strategy / code / parser / python_ast.py (no function)   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / parser / tree_sitter.py extract_tree_sitter_elements   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / parser / tree_sitter.py extract_tree_sitter_elements._walk   20 6 0   70%
src / qdrant_loader / core / chunking / strategy / code / parser / tree_sitter.py (no function)   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / processor / __init__.py (no function)   0 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / processor / analysis.py analyze_code_content   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / processor / analysis.py _check_indentation_consistency   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / processor / analysis.py extract_language_context   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / processor / analysis.py _identify_programming_paradigm   5 2 0   60%
src / qdrant_loader / core / chunking / strategy / code / processor / analysis.py _identify_frameworks   6 2 0   67%
src / qdrant_loader / core / chunking / strategy / code / processor / analysis.py _identify_language_version   5 2 0   60%
src / qdrant_loader / core / chunking / strategy / code / processor / analysis.py _analyze_style_conventions   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / processor / analysis.py (no function)   9 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / processor / quality.py assess_code_quality   16 3 0   81%
src / qdrant_loader / core / chunking / strategy / code / processor / quality.py assess_educational_value   14 4 0   71%
src / qdrant_loader / core / chunking / strategy / code / processor / quality.py calculate_reusability_score   17 4 0   76%
src / qdrant_loader / core / chunking / strategy / code / processor / quality.py (no function)   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / processor / utils.py is_minified_code   8 1 0   88%
src / qdrant_loader / core / chunking / strategy / code / processor / utils.py is_generated_code   3 3 0   0%
src / qdrant_loader / core / chunking / strategy / code / processor / utils.py is_mostly_comments   5 5 0   0%
src / qdrant_loader / core / chunking / strategy / code / processor / utils.py has_meaningful_names   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / processor / utils.py determine_learning_level   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / code / processor / utils.py identify_programming_concepts   6 1 0   83%
src / qdrant_loader / core / chunking / strategy / code / processor / utils.py extract_element_context   8 8 0   0%
src / qdrant_loader / core / chunking / strategy / code / processor / utils.py (no function)   10 0 0   100%
src / qdrant_loader / core / chunking / strategy / code_strategy.py CodeChunkingStrategy.__init__   10 0 0   100%
src / qdrant_loader / core / chunking / strategy / code_strategy.py CodeChunkingStrategy.chunk_document   34 9 0   74%
src / qdrant_loader / core / chunking / strategy / code_strategy.py CodeChunkingStrategy._fallback_chunking   10 10 0   0%
src / qdrant_loader / core / chunking / strategy / code_strategy.py CodeChunkingStrategy.shutdown   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / code_strategy.py (no function)   12 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / __init__.py (no function)   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_chunk_processor.py TextChunkProcessor.__init__   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_chunk_processor.py TextChunkProcessor.create_chunk_document   6 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_chunk_processor.py TextChunkProcessor._create_text_specific_metadata   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_chunk_processor.py TextChunkProcessor._analyze_chunk_content   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_chunk_processor.py TextChunkProcessor._calculate_quality_metrics   7 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_chunk_processor.py TextChunkProcessor._extract_text_characteristics   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_chunk_processor.py TextChunkProcessor._extract_semantic_indicators   6 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_chunk_processor.py TextChunkProcessor._extract_entity_hints   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_chunk_processor.py TextChunkProcessor._estimate_readability   7 1 0   86%
src / qdrant_loader / core / chunking / strategy / default / text_chunk_processor.py TextChunkProcessor._assess_chunk_completeness   15 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_chunk_processor.py TextChunkProcessor._detect_language_indicators   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_chunk_processor.py (no function)   16 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser.parse_document_structure   6 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser.extract_section_metadata   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser._split_paragraphs   19 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser._split_sentences   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser._has_list_items   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser._has_numbered_sections   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser._analyze_formatting   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser._calculate_content_density   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser._is_new_paragraph_start   10 1 0   90%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser._has_formatting_markers   5 1 0   80%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser._is_list_item   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser._is_numbered_item   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser._classify_content_type   11 1 0   91%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser._looks_like_header   12 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py TextDocumentParser._has_significant_indentation_change   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_document_parser.py (no function)   19 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_metadata_extractor.py TextMetadataExtractor.extract_hierarchical_metadata   6 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_metadata_extractor.py TextMetadataExtractor.extract_entities   11 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_metadata_extractor.py TextMetadataExtractor._split_sentences   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_metadata_extractor.py TextMetadataExtractor._calculate_avg_word_length   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_metadata_extractor.py TextMetadataExtractor._estimate_reading_time   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_metadata_extractor.py TextMetadataExtractor._detect_language   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_metadata_extractor.py TextMetadataExtractor._calculate_text_density   7 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_metadata_extractor.py TextMetadataExtractor._analyze_formatting   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_metadata_extractor.py (no function)   13 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_section_splitter.py TextSectionSplitter.__init__   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_section_splitter.py TextSectionSplitter.split_sections   14 1 0   93%
src / qdrant_loader / core / chunking / strategy / default / text_section_splitter.py TextSectionSplitter._split_by_paragraphs   7 1 0   86%
src / qdrant_loader / core / chunking / strategy / default / text_section_splitter.py TextSectionSplitter._split_large_section   24 3 0   88%
src / qdrant_loader / core / chunking / strategy / default / text_section_splitter.py TextSectionSplitter._find_best_split_point   22 1 0   95%
src / qdrant_loader / core / chunking / strategy / default / text_section_splitter.py TextSectionSplitter._find_tokenizer_boundary   15 3 0   80%
src / qdrant_loader / core / chunking / strategy / default / text_section_splitter.py TextSectionSplitter._score_split_point   12 1 0   92%
src / qdrant_loader / core / chunking / strategy / default / text_section_splitter.py TextSectionSplitter._merge_small_sections   25 1 0   96%
src / qdrant_loader / core / chunking / strategy / default / text_section_splitter.py TextSectionSplitter._has_special_formatting   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_section_splitter.py TextSectionSplitter._analyze_paragraph_content   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / default / text_section_splitter.py (no function)   16 0 0   100%
src / qdrant_loader / core / chunking / strategy / default_strategy.py DefaultChunkingStrategy.__init__   12 1 0   92%
src / qdrant_loader / core / chunking / strategy / default_strategy.py DefaultChunkingStrategy.chunk_document   32 4 0   88%
src / qdrant_loader / core / chunking / strategy / default_strategy.py DefaultChunkingStrategy.shutdown   6 2 0   67%
src / qdrant_loader / core / chunking / strategy / default_strategy.py DefaultChunkingStrategy.__del__   4 2 0   50%
src / qdrant_loader / core / chunking / strategy / default_strategy.py (no function)   12 0 2   100%
src / qdrant_loader / core / chunking / strategy / html / __init__.py (no function)   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / html / html_chunk_processor.py HTMLChunkProcessor.__init__   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / html / html_chunk_processor.py HTMLChunkProcessor.create_chunk_document   14 0 0   100%
src / qdrant_loader / core / chunking / strategy / html / html_chunk_processor.py HTMLChunkProcessor.should_skip_semantic_analysis   19 4 0   79%
src / qdrant_loader / core / chunking / strategy / html / html_chunk_processor.py HTMLChunkProcessor._generate_chunk_title   9 5 0   44%
src / qdrant_loader / core / chunking / strategy / html / html_chunk_processor.py HTMLChunkProcessor._determine_skip_reason   19 9 0   53%
src / qdrant_loader / core / chunking / strategy / html / html_chunk_processor.py HTMLChunkProcessor._calculate_markup_ratio   6 2 0   67%
src / qdrant_loader / core / chunking / strategy / html / html_chunk_processor.py (no function)   12 0 0   100%
src / qdrant_loader / core / chunking / strategy / html / html_document_parser.py HTMLDocumentParser.__init__   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / html / html_document_parser.py HTMLDocumentParser.parse_document_structure   11 3 0   73%
src / qdrant_loader / core / chunking / strategy / html / html_document_parser.py HTMLDocumentParser.extract_section_metadata   5 2 0   60%
src / qdrant_loader / core / chunking / strategy / html / html_document_parser.py HTMLDocumentParser._extract_heading_hierarchy   6 0 0   100%
src / qdrant_loader / core / chunking / strategy / html / html_document_parser.py HTMLDocumentParser._identify_semantic_elements   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / html / html_document_parser.py HTMLDocumentParser._extract_links   7 0 0   100%
src / qdrant_loader / core / chunking / strategy / html / html_document_parser.py HTMLDocumentParser._analyze_accessibility   23 7 0   70%
src / qdrant_loader / core / chunking / strategy / html / html_document_parser.py HTMLDocumentParser._extract_tag_metadata   13 7 0   46%
src / qdrant_loader / core / chunking / strategy / html / html_document_parser.py HTMLDocumentParser._identify_section_type   26 9 0   65%
src / qdrant_loader / core / chunking / strategy / html / html_document_parser.py HTMLDocumentParser._get_heading_level   3 1 0   67%
src / qdrant_loader / core / chunking / strategy / html / html_document_parser.py HTMLDocumentParser.extract_section_title   20 6 0   70%
src / qdrant_loader / core / chunking / strategy / html / html_document_parser.py HTMLDocumentParser._extract_title_from_content   7 2 0   71%
src / qdrant_loader / core / chunking / strategy / html / html_document_parser.py (no function)   32 0 0   100%
src / qdrant_loader / core / chunking / strategy / html / html_metadata_extractor.py HTMLMetadataExtractor.__init__   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / html / html_metadata_extractor.py HTMLMetadataExtractor.extract_hierarchical_metadata   9 4 0   56%
src / qdrant_loader / core / chunking / strategy / html / html_metadata_extractor.py HTMLMetadataExtractor.extract_entities   19 4 0   79%
src / qdrant_loader / core / chunking / strategy / html / html_metadata_extractor.py HTMLMetadataExtractor._build_dom_path_breadcrumb   23 5 0   78%
src / qdrant_loader / core / chunking / strategy / html / html_metadata_extractor.py HTMLMetadataExtractor._extract_semantic_tags   9 2 0   78%
src / qdrant_loader / core / chunking / strategy / html / html_metadata_extractor.py HTMLMetadataExtractor._calculate_accessibility_score   48 15 0   69%
src / qdrant_loader / core / chunking / strategy / html / html_metadata_extractor.py HTMLMetadataExtractor._has_structured_data   19 7 0   63%
src / qdrant_loader / core / chunking / strategy / html / html_metadata_extractor.py HTMLMetadataExtractor._analyze_interactive_elements   9 2 0   78%
src / qdrant_loader / core / chunking / strategy / html / html_metadata_extractor.py HTMLMetadataExtractor._analyze_media_elements   10 5 0   50%
src / qdrant_loader / core / chunking / strategy / html / html_metadata_extractor.py HTMLMetadataExtractor._analyze_html_features   13 2 0   85%
src / qdrant_loader / core / chunking / strategy / html / html_metadata_extractor.py HTMLMetadataExtractor._analyze_seo_indicators   23 3 0   87%
src / qdrant_loader / core / chunking / strategy / html / html_metadata_extractor.py HTMLMetadataExtractor._assess_markup_quality   22 6 0   73%
src / qdrant_loader / core / chunking / strategy / html / html_metadata_extractor.py (no function)   19 0 0   100%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py HTMLSectionSplitter.__init__   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py HTMLSectionSplitter.split_sections   15 5 0   67%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py HTMLSectionSplitter._semantic_html_split   14 2 0   86%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py HTMLSectionSplitter._semantic_html_split.process_element   25 6 0   76%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py HTMLSectionSplitter._simple_html_split   13 3 0   77%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py HTMLSectionSplitter._fallback_split   6 0 0   100%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py HTMLSectionSplitter._is_meaningful_element   12 3 0   75%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py HTMLSectionSplitter._merge_small_sections   26 9 0   65%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py HTMLSectionSplitter._create_merged_section   11 8 0   27%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py HTMLSectionSplitter._split_large_sections   11 5 0   55%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py HTMLSectionSplitter._split_large_content   24 24 0   0%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py HTMLSectionSplitter._split_text_by_size   25 6 0   76%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py HTMLSectionSplitter._extract_text_from_html   6 6 0   0%
src / qdrant_loader / core / chunking / strategy / html / html_section_splitter.py (no function)   20 0 0   100%
src / qdrant_loader / core / chunking / strategy / html_strategy.py HTMLChunkingStrategy.__init__   10 0 0   100%
src / qdrant_loader / core / chunking / strategy / html_strategy.py HTMLChunkingStrategy.chunk_document   30 5 0   83%
src / qdrant_loader / core / chunking / strategy / html_strategy.py HTMLChunkingStrategy._fallback_chunking   18 6 0   67%
src / qdrant_loader / core / chunking / strategy / html_strategy.py HTMLChunkingStrategy._create_single_chunk_fallback   8 8 0   0%
src / qdrant_loader / core / chunking / strategy / html_strategy.py HTMLChunkingStrategy.__del__   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / html_strategy.py HTMLChunkingStrategy._split_text   6 6 0   0%
src / qdrant_loader / core / chunking / strategy / html_strategy.py HTMLChunkingStrategy.shutdown   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / html_strategy.py (no function)   15 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / __init__.py (no function)   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_chunk_processor.py JSONChunkProcessor.__init__   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_chunk_processor.py JSONChunkProcessor.create_chunk_document   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_chunk_processor.py JSONChunkProcessor.create_optimized_chunk_document   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_chunk_processor.py JSONChunkProcessor.create_json_element_chunk_document   7 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_chunk_processor.py JSONChunkProcessor._should_skip_nlp_for_json   10 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_chunk_processor.py JSONChunkProcessor._is_minimal_text_content   12 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_chunk_processor.py JSONChunkProcessor._is_minimal_text_content.count_text_in_values   9 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_chunk_processor.py JSONChunkProcessor._is_configuration_structure   11 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_chunk_processor.py JSONChunkProcessor._create_enhanced_metadata   6 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_chunk_processor.py JSONChunkProcessor._calculate_chunk_quality_indicators   16 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_chunk_processor.py (no function)   17 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONElement.add_child   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser.__init__   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser.parse_document_structure   6 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser.extract_section_metadata   4 4 0   0%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser.parse_json_structure   10 3 0   70%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser._create_json_element   11 2 0   82%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser._extract_json_elements   40 9 0   78%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser._calculate_nesting_depth   12 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser._count_elements   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser._infer_basic_schema   9 1 0   89%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser._calculate_complexity_score   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser._analyze_data_types   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser._analyze_data_types.count_types   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser._analyze_key_patterns   13 5 0   62%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser._analyze_arrays   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py JSONDocumentParser._analyze_arrays.find_arrays   7 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_document_parser.py (no function)   41 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor.__init__   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor.extract_hierarchical_metadata   12 2 0   83%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor.extract_entities   7 7 0   0%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor.extract_json_element_metadata   16 2 0   88%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._infer_comprehensive_schema   16 1 0   94%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._identify_schema_patterns   23 7 0   70%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._calculate_nesting_depth   12 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._count_elements   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._calculate_complexity_score   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._analyze_data_types   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._analyze_data_types.count_types   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._analyze_value_distributions   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._analyze_value_distributions.analyze_value   25 3 0   88%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._analyze_key_patterns   21 7 0   67%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._analyze_array_statistics   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._analyze_array_statistics.find_arrays   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._analyze_null_values   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._analyze_null_values.check_nulls   12 3 0   75%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._analyze_uniqueness   6 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._analyze_uniqueness.check_uniqueness   12 1 0   92%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._classify_structure_type   15 7 0   53%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._detect_data_formats   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._detect_data_formats.check_formats   15 2 0   87%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._detect_relationships   12 4 0   67%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._detect_configuration_patterns   14 3 0   79%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._is_email   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._is_url   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._is_iso_date   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._is_uuid   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._estimate_object_completeness   5 1 0   80%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._analyze_array_homogeneity   7 1 0   86%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._analyze_simple_value   6 6 0   0%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._detect_value_format   16 3 0   81%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._calculate_element_significance   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._check_uniform_structure   4 1 0   75%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._extract_json_entities   16 16 0   0%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py JSONMetadataExtractor._extract_text_entities   7 7 0   0%
src / qdrant_loader / core / chunking / strategy / json / json_metadata_extractor.py (no function)   40 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_section_splitter.py JSONSectionSplitter.__init__   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_section_splitter.py JSONSectionSplitter.split_sections   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_section_splitter.py JSONSectionSplitter.split_json_elements   11 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_section_splitter.py JSONSectionSplitter._group_small_elements   24 4 0   83%
src / qdrant_loader / core / chunking / strategy / json / json_section_splitter.py JSONSectionSplitter._create_grouped_element   27 2 0   93%
src / qdrant_loader / core / chunking / strategy / json / json_section_splitter.py JSONSectionSplitter._split_large_element   64 15 0   77%
src / qdrant_loader / core / chunking / strategy / json / json_section_splitter.py JSONSectionSplitter.merge_small_sections   21 0 0   100%
src / qdrant_loader / core / chunking / strategy / json / json_section_splitter.py (no function)   16 0 0   100%
src / qdrant_loader / core / chunking / strategy / json_strategy.py JSONChunkingStrategy.__init__   9 0 0   100%
src / qdrant_loader / core / chunking / strategy / json_strategy.py JSONChunkingStrategy.chunk_document   36 11 0   69%
src / qdrant_loader / core / chunking / strategy / json_strategy.py JSONChunkingStrategy._fallback_chunking   34 11 0   68%
src / qdrant_loader / core / chunking / strategy / json_strategy.py JSONChunkingStrategy.get_strategy_name   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / json_strategy.py JSONChunkingStrategy.supports_document_type   11 5 0   55%
src / qdrant_loader / core / chunking / strategy / json_strategy.py JSONChunkingStrategy.estimate_chunk_count   11 3 0   73%
src / qdrant_loader / core / chunking / strategy / json_strategy.py JSONChunkingStrategy.shutdown   3 1 0   67%
src / qdrant_loader / core / chunking / strategy / json_strategy.py JSONChunkingStrategy.__str__   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / json_strategy.py JSONChunkingStrategy.__repr__   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / json_strategy.py (no function)   21 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / __init__.py (no function)   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / chunk_processor.py ChunkProcessor.__init__   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / chunk_processor.py ChunkProcessor.process_chunk   9 1 0   89%
src / qdrant_loader / core / chunking / strategy / markdown / chunk_processor.py ChunkProcessor.create_chunk_document   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / chunk_processor.py ChunkProcessor.estimate_chunk_count   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / chunk_processor.py ChunkProcessor.shutdown   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / chunk_processor.py ChunkProcessor.__del__   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / chunk_processor.py (no function)   13 0 2   100%
src / qdrant_loader / core / chunking / strategy / markdown / document_parser.py Section.add_child   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / document_parser.py SectionIdentifier.identify_section_type   13 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / document_parser.py HierarchyBuilder.build_section_breadcrumb   13 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / document_parser.py HierarchyBuilder.get_section_path   7 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / document_parser.py DocumentParser.__init__   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / document_parser.py DocumentParser.parse_document_structure   23 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / document_parser.py DocumentParser.extract_section_metadata   11 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / document_parser.py DocumentParser.extract_section_title   10 1 0   90%
src / qdrant_loader / core / chunking / strategy / markdown / document_parser.py (no function)   34 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / markdown_strategy.py MarkdownChunkingStrategy.__init__   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / markdown_strategy.py MarkdownChunkingStrategy.chunk_document   35 5 0   86%
src / qdrant_loader / core / chunking / strategy / markdown / markdown_strategy.py MarkdownChunkingStrategy._fallback_chunking   7 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / markdown_strategy.py MarkdownChunkingStrategy.chunk_overlap   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / markdown_strategy.py MarkdownChunkingStrategy.chunk_overlap   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / markdown_strategy.py MarkdownChunkingStrategy.shutdown   2 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / markdown_strategy.py MarkdownChunkingStrategy.__del__   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / markdown_strategy.py (no function)   20 0 2   100%
src / qdrant_loader / core / chunking / strategy / markdown / metadata_extractor.py CrossReferenceExtractor.extract_cross_references   10 5 0   50%
src / qdrant_loader / core / chunking / strategy / markdown / metadata_extractor.py EntityExtractor.extract_entities   12 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / metadata_extractor.py HierarchyExtractor.map_hierarchical_relationships   17 4 0   76%
src / qdrant_loader / core / chunking / strategy / markdown / metadata_extractor.py TopicAnalyzer.analyze_topic   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / metadata_extractor.py MetadataExtractor.__init__   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / metadata_extractor.py MetadataExtractor.extract_all_metadata   6 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / metadata_extractor.py MetadataExtractor.extract_hierarchical_metadata   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / metadata_extractor.py MetadataExtractor._generate_anchor   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / metadata_extractor.py MetadataExtractor.extract_section_title   10 10 0   0%
src / qdrant_loader / core / chunking / strategy / markdown / metadata_extractor.py (no function)   22 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / section_splitter.py HeaderAnalysis.__post_init__   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / section_splitter.py SectionMetadata.__post_init__   8 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / section_splitter.py SectionMetadata._generate_anchor   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / section_splitter.py SectionSplitter.__init__   4 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / section_splitter.py SectionSplitter.analyze_header_distribution   23 4 0   83%
src / qdrant_loader / core / chunking / strategy / markdown / section_splitter.py SectionSplitter.determine_optimal_split_levels   32 8 0   75%
src / qdrant_loader / core / chunking / strategy / markdown / section_splitter.py SectionSplitter.build_enhanced_section_metadata   30 3 0   90%
src / qdrant_loader / core / chunking / strategy / markdown / section_splitter.py SectionSplitter.split_sections   52 9 0   83%
src / qdrant_loader / core / chunking / strategy / markdown / section_splitter.py SectionSplitter.merge_related_sections   13 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / section_splitter.py (no function)   50 0 2   100%
src / qdrant_loader / core / chunking / strategy / markdown / splitters / __init__.py (no function)   1 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / splitters / base.py BaseSplitter.__init__   3 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / splitters / base.py BaseSplitter.split_content   1 1 0   0%
src / qdrant_loader / core / chunking / strategy / markdown / splitters / base.py (no function)   7 0 2   100%
src / qdrant_loader / core / chunking / strategy / markdown / splitters / excel.py ExcelSplitter.split_content   68 5 0   93%
src / qdrant_loader / core / chunking / strategy / markdown / splitters / excel.py (no function)   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / splitters / fallback.py FallbackSplitter.split_content   12 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / splitters / fallback.py (no function)   5 0 0   100%
src / qdrant_loader / core / chunking / strategy / markdown / splitters / standard.py StandardSplitter.split_content   51 2 0   96%
src / qdrant_loader / core / chunking / strategy / markdown / splitters / standard.py (no function)   5 0 0   100%
src / qdrant_loader / core / document.py Document.__init__   5 0 0   100%
src / qdrant_loader / core / document.py Document.to_dict   1 1 0   0%
src / qdrant_loader / core / document.py Document.from_dict   6 6 0   0%
src / qdrant_loader / core / document.py Document.calculate_content_hash   9 0 0   100%
src / qdrant_loader / core / document.py Document.calculate_content_hash.normalize_value   9 0 0   100%
src / qdrant_loader / core / document.py Document.generate_id   13 0 0   100%
src / qdrant_loader / core / document.py Document.generate_id.normalize_url   14 3 0   79%
src / qdrant_loader / core / document.py Document.generate_id.normalize_string   3 0 0   100%
src / qdrant_loader / core / document.py Document.generate_chunk_id   4 0 0   100%
src / qdrant_loader / core / document.py Document.get_parent_id   1 0 0   100%
src / qdrant_loader / core / document.py Document.get_parent_title   1 0 0   100%
src / qdrant_loader / core / document.py Document.get_breadcrumb   1 0 0   100%
src / qdrant_loader / core / document.py Document.get_breadcrumb_text   1 0 0   100%
src / qdrant_loader / core / document.py Document.get_depth   1 0 0   100%
src / qdrant_loader / core / document.py Document.get_ancestors   1 1 0   0%
src / qdrant_loader / core / document.py Document.get_children   1 0 0   100%
src / qdrant_loader / core / document.py Document.is_root_document   1 0 0   100%
src / qdrant_loader / core / document.py Document.has_children   1 0 0   100%
src / qdrant_loader / core / document.py Document.get_hierarchy_context   10 0 0   100%
src / qdrant_loader / core / document.py (no function)   41 0 0   100%
src / qdrant_loader / core / embedding / __init__.py (no function)   2 0 0   100%
src / qdrant_loader / core / embedding / embedding_service.py EmbeddingService.__init__   20 0 0   100%
src / qdrant_loader / core / embedding / embedding_service.py EmbeddingService._apply_rate_limit   5 0 0   100%
src / qdrant_loader / core / embedding / embedding_service.py EmbeddingService._retry_with_backoff   23 12 0   48%
src / qdrant_loader / core / embedding / embedding_service.py EmbeddingService.get_embeddings   53 19 0   64%
src / qdrant_loader / core / embedding / embedding_service.py EmbeddingService._process_batch   8 2 0   75%
src / qdrant_loader / core / embedding / embedding_service.py EmbeddingService._execute_embedding_request   8 3 0   62%
src / qdrant_loader / core / embedding / embedding_service.py EmbeddingService.get_embedding   5 2 0   60%
src / qdrant_loader / core / embedding / embedding_service.py EmbeddingService._execute_single_embedding_request   8 0 0   100%
src / qdrant_loader / core / embedding / embedding_service.py EmbeddingService.count_tokens   3 0 0   100%
src / qdrant_loader / core / embedding / embedding_service.py EmbeddingService.count_tokens_batch   1 0 0   100%
src / qdrant_loader / core / embedding / embedding_service.py EmbeddingService.get_embedding_dimension   5 2 0   60%
src / qdrant_loader / core / embedding / embedding_service.py (no function)   23 0 0   100%
src / qdrant_loader / core / embedding_service.py EmbeddingService.__init__   3 0 0   100%
src / qdrant_loader / core / embedding_service.py EmbeddingService.get_embedding   9 0 0   100%
src / qdrant_loader / core / embedding_service.py EmbeddingService.get_embeddings   9 0 0   100%
src / qdrant_loader / core / embedding_service.py (no function)   5 0 0   100%
src / qdrant_loader / core / file_conversion / __init__.py (no function)   7 0 0   100%
src / qdrant_loader / core / file_conversion / conversion_config.py FileConversionConfig.get_max_file_size_mb   1 0 0   100%
src / qdrant_loader / core / file_conversion / conversion_config.py FileConversionConfig.is_file_size_allowed   1 0 0   100%
src / qdrant_loader / core / file_conversion / conversion_config.py ConnectorFileConversionConfig.should_download_attachments   1 0 0   100%
src / qdrant_loader / core / file_conversion / conversion_config.py (no function)   16 0 0   100%
src / qdrant_loader / core / file_conversion / exceptions.py FileConversionError.__init__   3 0 0   100%
src / qdrant_loader / core / file_conversion / exceptions.py UnsupportedFileTypeError.__init__   2 0 0   100%
src / qdrant_loader / core / file_conversion / exceptions.py FileSizeExceededError.__init__   4 0 0   100%
src / qdrant_loader / core / file_conversion / exceptions.py ConversionTimeoutError.__init__   3 0 0   100%
src / qdrant_loader / core / file_conversion / exceptions.py MarkItDownError.__init__   3 0 0   100%
src / qdrant_loader / core / file_conversion / exceptions.py FileAccessError.__init__   5 0 0   100%
src / qdrant_loader / core / file_conversion / exceptions.py (no function)   12 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py capture_openpyxl_warnings   9 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py capture_openpyxl_warnings.warning_handler   9 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py TimeoutHandler.__init__   4 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py TimeoutHandler._timeout_handler   1 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py TimeoutHandler._timeout_thread   3 1 0   67%
src / qdrant_loader / core / file_conversion / file_converter.py TimeoutHandler.__enter__   8 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py TimeoutHandler.__exit__   6 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter.__init__   4 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter._get_markitdown   18 2 0   89%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter._create_llm_client   91 54 3   41%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter._create_llm_client._ResponseMessage.__init__   1 1 0   0%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter._create_llm_client._ResponseChoice.__init__   1 1 0   0%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter._create_llm_client._Response.__init__   3 3 0   0%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter._create_llm_client._Completions.__init__   1 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter._create_llm_client._Completions.create   12 12 0   0%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter._create_llm_client._Completions.create._run   4 4 0   0%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter._create_llm_client._Chat.__init__   1 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter._create_llm_client._OpenAICompatibleClient.__init__   1 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter.convert_file   19 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter._validate_file   10 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py FileConverter.create_fallback_document   3 0 0   100%
src / qdrant_loader / core / file_conversion / file_converter.py (no function)   29 0 0   100%
src / qdrant_loader / core / file_conversion / file_detector.py FileDetector.__init__   3 0 0   100%
src / qdrant_loader / core / file_conversion / file_detector.py FileDetector._add_custom_mime_types   3 0 0   100%
src / qdrant_loader / core / file_conversion / file_detector.py FileDetector.detect_file_type   8 0 0   100%
src / qdrant_loader / core / file_conversion / file_detector.py FileDetector._detect_mime_type   10 0 0   100%
src / qdrant_loader / core / file_conversion / file_detector.py FileDetector.is_supported_for_conversion   15 0 0   100%
src / qdrant_loader / core / file_conversion / file_detector.py FileDetector.get_file_type_info   15 6 0   60%
src / qdrant_loader / core / file_conversion / file_detector.py FileDetector.get_supported_extensions   5 0 0   100%
src / qdrant_loader / core / file_conversion / file_detector.py FileDetector.get_supported_mime_types   1 0 0   100%
src / qdrant_loader / core / file_conversion / file_detector.py (no function)   19 0 0   100%
src / qdrant_loader / core / init_collection.py init_collection   19 0 0   100%
src / qdrant_loader / core / init_collection.py (no function)   8 1 0   88%
src / qdrant_loader / core / monitoring / __init__.py (no function)   4 0 0   100%
src / qdrant_loader / core / monitoring / batch_summary.py BatchSummary.update_batch_stats   17 6 0   65%
src / qdrant_loader / core / monitoring / batch_summary.py BatchSummary.get_size_statistics   6 2 0   67%
src / qdrant_loader / core / monitoring / batch_summary.py BatchSummary.get_source_statistics   1 0 0   100%
src / qdrant_loader / core / monitoring / batch_summary.py BatchSummary.get_summary   1 0 0   100%
src / qdrant_loader / core / monitoring / batch_summary.py (no function)   19 0 0   100%
src / qdrant_loader / core / monitoring / ingestion_metrics.py ConversionMetrics.average_conversion_time   3 0 0   100%
src / qdrant_loader / core / monitoring / ingestion_metrics.py IngestionMonitor.__init__   9 0 0   100%
src / qdrant_loader / core / monitoring / ingestion_metrics.py IngestionMonitor.start_operation   3 0 0   100%
src / qdrant_loader / core / monitoring / ingestion_metrics.py IngestionMonitor.end_operation   12 2 0   83%
src / qdrant_loader / core / monitoring / ingestion_metrics.py IngestionMonitor.start_batch   3 0 0   100%
src / qdrant_loader / core / monitoring / ingestion_metrics.py IngestionMonitor.end_batch   26 5 0   81%
src / qdrant_loader / core / monitoring / ingestion_metrics.py IngestionMonitor.start_conversion   7 0 0   100%
src / qdrant_loader / core / monitoring / ingestion_metrics.py IngestionMonitor.end_conversion   24 2 0   92%
src / qdrant_loader / core / monitoring / ingestion_metrics.py IngestionMonitor.record_attachment_processed   1 0 0   100%
src / qdrant_loader / core / monitoring / ingestion_metrics.py IngestionMonitor.update_batch_conversion_metrics   9 2 0   78%
src / qdrant_loader / core / monitoring / ingestion_metrics.py IngestionMonitor.get_conversion_summary   1 0 0   100%
src / qdrant_loader / core / monitoring / ingestion_metrics.py IngestionMonitor.save_metrics   9 2 0   78%
src / qdrant_loader / core / monitoring / ingestion_metrics.py IngestionMonitor.clear_metrics   8 0 0   100%
src / qdrant_loader / core / monitoring / ingestion_metrics.py (no function)   65 0 0   100%
src / qdrant_loader / core / monitoring / processing_stats.py ProcessingStats.update_rates   17 5 0   71%
src / qdrant_loader / core / monitoring / processing_stats.py ProcessingStats.update_source_metrics   7 7 0   0%
src / qdrant_loader / core / monitoring / processing_stats.py ProcessingStats.get_latest_rates   3 0 0   100%
src / qdrant_loader / core / monitoring / processing_stats.py (no function)   17 0 0   100%
src / qdrant_loader / core / monitoring / prometheus_metrics.py start_metrics_server   10 0 0   100%
src / qdrant_loader / core / monitoring / prometheus_metrics.py stop_metrics_server   4 0 0   100%
src / qdrant_loader / core / monitoring / prometheus_metrics.py (no function)   17 0 0   100%
src / qdrant_loader / core / monitoring / resource_monitor.py monitor_resources   22 0 0   100%
src / qdrant_loader / core / monitoring / resource_monitor.py (no function)   5 0 0   100%
src / qdrant_loader / core / pipeline / __init__.py (no function)   10 0 0   100%
src / qdrant_loader / core / pipeline / config.py (no function)   9 0 0   100%
src / qdrant_loader / core / pipeline / document_pipeline.py DocumentPipeline.__init__   3 0 0   100%
src / qdrant_loader / core / pipeline / document_pipeline.py DocumentPipeline.process_documents   33 0 0   100%
src / qdrant_loader / core / pipeline / document_pipeline.py (no function)   10 0 0   100%
src / qdrant_loader / core / pipeline / factory.py PipelineComponentsFactory.create_components   23 3 0   87%
src / qdrant_loader / core / pipeline / factory.py (no function)   19 0 0   100%
src / qdrant_loader / core / pipeline / orchestrator.py PipelineComponents.__init__   4 0 0   100%
src / qdrant_loader / core / pipeline / orchestrator.py PipelineOrchestrator.__init__   3 0 0   100%
src / qdrant_loader / core / pipeline / orchestrator.py PipelineOrchestrator.process_documents   39 10 0   74%
src / qdrant_loader / core / pipeline / orchestrator.py PipelineOrchestrator._process_all_projects   16 16 0   0%
src / qdrant_loader / core / pipeline / orchestrator.py PipelineOrchestrator._collect_documents_from_sources   22 3 0   86%
src / qdrant_loader / core / pipeline / orchestrator.py PipelineOrchestrator._detect_document_changes   14 0 0   100%
src / qdrant_loader / core / pipeline / orchestrator.py PipelineOrchestrator._update_document_states   11 0 0   100%
src / qdrant_loader / core / pipeline / orchestrator.py (no function)   24 0 0   100%
src / qdrant_loader / core / pipeline / resource_manager.py ResourceManager.__init__   5 0 0   100%
src / qdrant_loader / core / pipeline / resource_manager.py ResourceManager.set_chunk_executor   1 0 0   100%
src / qdrant_loader / core / pipeline / resource_manager.py ResourceManager.register_signal_handlers   3 0 0   100%
src / qdrant_loader / core / pipeline / resource_manager.py ResourceManager._cleanup   20 0 0   100%
src / qdrant_loader / core / pipeline / resource_manager.py ResourceManager._async_cleanup   10 0 0   100%
src / qdrant_loader / core / pipeline / resource_manager.py ResourceManager._handle_sigint   15 0 0   100%
src / qdrant_loader / core / pipeline / resource_manager.py ResourceManager._handle_sigterm   15 0 0   100%
src / qdrant_loader / core / pipeline / resource_manager.py ResourceManager._cancel_all_tasks   5 0 0   100%
src / qdrant_loader / core / pipeline / resource_manager.py ResourceManager._force_immediate_exit   7 0 0   100%
src / qdrant_loader / core / pipeline / resource_manager.py ResourceManager.cleanup   1 0 0   100%
src / qdrant_loader / core / pipeline / resource_manager.py ResourceManager.add_task   2 0 0   100%
src / qdrant_loader / core / pipeline / resource_manager.py (no function)   18 0 0   100%
src / qdrant_loader / core / pipeline / source_filter.py SourceFilter.filter_sources   26 2 0   92%
src / qdrant_loader / core / pipeline / source_filter.py SourceFilter._filter_by_name   3 0 0   100%
src / qdrant_loader / core / pipeline / source_filter.py (no function)   4 0 0   100%
src / qdrant_loader / core / pipeline / source_processor.py SourceProcessor.__init__   2 0 0   100%
src / qdrant_loader / core / pipeline / source_processor.py SourceProcessor.process_source_type   22 0 0   100%
src / qdrant_loader / core / pipeline / source_processor.py (no function)   11 0 0   100%
src / qdrant_loader / core / pipeline / workers / __init__.py (no function)   5 0 0   100%
src / qdrant_loader / core / pipeline / workers / base_worker.py BaseWorker.__init__   3 0 0   100%
src / qdrant_loader / core / pipeline / workers / base_worker.py BaseWorker.process   1 1 0   0%
src / qdrant_loader / core / pipeline / workers / base_worker.py BaseWorker.process_with_semaphore   2 2 0   0%
src / qdrant_loader / core / pipeline / workers / base_worker.py (no function)   10 0 0   100%
src / qdrant_loader / core / pipeline / workers / chunking_worker.py ChunkingWorker.__init__   4 0 0   100%
src / qdrant_loader / core / pipeline / workers / chunking_worker.py ChunkingWorker.process   29 2 0   93%
src / qdrant_loader / core / pipeline / workers / chunking_worker.py ChunkingWorker.process_documents   32 4 0   88%
src / qdrant_loader / core / pipeline / workers / chunking_worker.py ChunkingWorker.process_documents.process_and_yield   15 0 0   100%
src / qdrant_loader / core / pipeline / workers / chunking_worker.py ChunkingWorker._calculate_adaptive_timeout   17 1 0   94%
src / qdrant_loader / core / pipeline / workers / chunking_worker.py (no function)   15 0 0   100%
src / qdrant_loader / core / pipeline / workers / embedding_worker.py EmbeddingWorker.__init__   3 0 0   100%
src / qdrant_loader / core / pipeline / workers / embedding_worker.py EmbeddingWorker.process   24 3 0   88%
src / qdrant_loader / core / pipeline / workers / embedding_worker.py EmbeddingWorker.process_chunks   41 4 0   90%
src / qdrant_loader / core / pipeline / workers / embedding_worker.py (no function)   14 0 0   100%
src / qdrant_loader / core / pipeline / workers / upsert_worker.py PipelineResult.__init__   5 0 0   100%
src / qdrant_loader / core / pipeline / workers / upsert_worker.py UpsertWorker.__init__   4 0 0   100%
src / qdrant_loader / core / pipeline / workers / upsert_worker.py UpsertWorker.process   25 0 0   100%
src / qdrant_loader / core / pipeline / workers / upsert_worker.py UpsertWorker.process_embedded_chunks   27 0 0   100%
src / qdrant_loader / core / pipeline / workers / upsert_worker.py (no function)   15 0 0   100%
src / qdrant_loader / core / project_manager.py ProjectContext.__init__   6 0 0   100%
src / qdrant_loader / core / project_manager.py ProjectContext.to_metadata   6 0 0   100%
src / qdrant_loader / core / project_manager.py ProjectContext.__repr__   1 1 0   0%
src / qdrant_loader / core / project_manager.py ProjectManager.__init__   5 0 0   100%
src / qdrant_loader / core / project_manager.py ProjectManager.initialize   6 1 0   83%
src / qdrant_loader / core / project_manager.py ProjectManager._discover_projects   8 0 0   100%
src / qdrant_loader / core / project_manager.py ProjectManager._validate_project_config   7 2 0   71%
src / qdrant_loader / core / project_manager.py ProjectManager._ensure_project_in_database   23 10 1   57%
src / qdrant_loader / core / project_manager.py ProjectManager._update_project_sources   33 12 1   64%
src / qdrant_loader / core / project_manager.py ProjectManager._calculate_config_hash   3 0 0   100%
src / qdrant_loader / core / project_manager.py ProjectManager._calculate_source_config_hash   3 0 0   100%
src / qdrant_loader / core / project_manager.py ProjectManager._source_config_to_dict   5 3 0   40%
src / qdrant_loader / core / project_manager.py ProjectManager.get_project_context   1 0 0   100%
src / qdrant_loader / core / project_manager.py ProjectManager.get_all_project_contexts   1 0 0   100%
src / qdrant_loader / core / project_manager.py ProjectManager.list_project_ids   1 0 0   100%
src / qdrant_loader / core / project_manager.py ProjectManager.get_project_collection_name   2 0 0   100%
src / qdrant_loader / core / project_manager.py ProjectManager.inject_project_metadata   7 2 0   71%
src / qdrant_loader / core / project_manager.py ProjectManager.validate_project_exists   1 0 0   100%
src / qdrant_loader / core / project_manager.py ProjectManager.get_project_stats   9 9 0   0%
src / qdrant_loader / core / project_manager.py ProjectManager.__repr__   1 1 0   0%
src / qdrant_loader / core / project_manager.py (no function)   31 0 0   100%
src / qdrant_loader / core / qdrant_manager.py QdrantConnectionError.__init__   4 0 0   100%
src / qdrant_loader / core / qdrant_manager.py QdrantManager.__init__   6 0 0   100%
src / qdrant_loader / core / qdrant_manager.py QdrantManager._is_api_key_present   4 0 0   100%
src / qdrant_loader / core / qdrant_manager.py QdrantManager.connect   15 0 0   100%
src / qdrant_loader / core / qdrant_manager.py QdrantManager._ensure_client_connected   3 0 0   100%
src / qdrant_loader / core / qdrant_manager.py QdrantManager.create_collection   45 9 0   80%
src / qdrant_loader / core / qdrant_manager.py QdrantManager.upsert_points   8 0 0   100%
src / qdrant_loader / core / qdrant_manager.py QdrantManager.search   7 0 0   100%
src / qdrant_loader / core / qdrant_manager.py QdrantManager.search_with_project_filter   8 8 0   0%
src / qdrant_loader / core / qdrant_manager.py QdrantManager.get_project_collections   14 14 0   0%
src / qdrant_loader / core / qdrant_manager.py QdrantManager.delete_collection   7 0 0   100%
src / qdrant_loader / core / qdrant_manager.py QdrantManager.delete_points_by_document_id   8 0 0   100%
src / qdrant_loader / core / qdrant_manager.py (no function)   23 0 0   100%
src / qdrant_loader / core / state / __init__.py (no function)   4 0 0   100%
src / qdrant_loader / core / state / document_state_manager.py DocumentStateManager.__init__   1 0 0   100%
src / qdrant_loader / core / state / document_state_manager.py DocumentStateManager._get_connection   1 0 0   100%
src / qdrant_loader / core / state / document_state_manager.py DocumentStateManager.update_document_state   17 0 0   100%
src / qdrant_loader / core / state / document_state_manager.py DocumentStateManager.get_document_state   22 0 0   100%
src / qdrant_loader / core / state / document_state_manager.py (no function)   9 0 0   100%
src / qdrant_loader / core / state / exceptions.py (no function)   9 0 0   100%
src / qdrant_loader / core / state / models.py UTCDateTime.process_bind_param   4 1 0   75%
src / qdrant_loader / core / state / models.py UTCDateTime.process_result_value   4 0 0   100%
src / qdrant_loader / core / state / models.py (no function)   88 0 0   100%
src / qdrant_loader / core / state / queries.py select_ingestion_history   4 4 0   0%
src / qdrant_loader / core / state / queries.py select_last_ingestion   4 4 0   0%
src / qdrant_loader / core / state / queries.py select_document_state   7 7 0   0%
src / qdrant_loader / core / state / queries.py (no function)   6 6 0   0%
src / qdrant_loader / core / state / session.py initialize_engine_and_session   4 0 0   100%
src / qdrant_loader / core / state / session.py create_tables   2 0 0   100%
src / qdrant_loader / core / state / session.py dispose_engine   1 0 0   100%
src / qdrant_loader / core / state / session.py (no function)   9 0 0   100%
src / qdrant_loader / core / state / state_change_detector.py StateChangeDetector.__init__   3 0 0   100%
src / qdrant_loader / core / state / state_change_detector.py StateChangeDetector.__aenter__   2 0 0   100%
src / qdrant_loader / core / state / state_change_detector.py StateChangeDetector.__aexit__   2 0 0   100%
src / qdrant_loader / core / state / state_change_detector.py StateChangeDetector.detect_changes   14 0 0   100%
src / qdrant_loader / core / state / state_change_detector.py StateChangeDetector._get_document_state   4 0 0   100%
src / qdrant_loader / core / state / state_change_detector.py StateChangeDetector._is_document_updated   1 0 0   100%
src / qdrant_loader / core / state / state_change_detector.py StateChangeDetector._create_deleted_document   3 0 0   100%
src / qdrant_loader / core / state / state_change_detector.py StateChangeDetector._get_previous_states   8 0 0   100%
src / qdrant_loader / core / state / state_change_detector.py StateChangeDetector._normalize_url   1 0 0   100%
src / qdrant_loader / core / state / state_change_detector.py StateChangeDetector._generate_uri_from_document   1 0 0   100%
src / qdrant_loader / core / state / state_change_detector.py StateChangeDetector._generate_uri   1 0 0   100%
src / qdrant_loader / core / state / state_change_detector.py (no function)   25 0 0   100%
src / qdrant_loader / core / state / state_manager.py StateManager.__init__   5 0 0   100%
src / qdrant_loader / core / state / state_manager.py StateManager.is_initialized   1 0 0   100%
src / qdrant_loader / core / state / state_manager.py StateManager.get_session   5 5 1   0%
src / qdrant_loader / core / state / state_manager.py StateManager.create_session   1 1 0   0%
src / qdrant_loader / core / state / state_manager.py StateManager.__aenter__   7 2 0   71%
src / qdrant_loader / core / state / state_manager.py StateManager.__aexit__   1 0 0   100%
src / qdrant_loader / core / state / state_manager.py StateManager.initialize   26 4 0   85%
src / qdrant_loader / core / state / state_manager.py StateManager.dispose   7 0 0   100%
src / qdrant_loader / core / state / state_manager.py StateManager.update_last_ingestion   6 0 0   100%
src / qdrant_loader / core / state / state_manager.py StateManager.get_last_ingestion   6 3 0   50%
src / qdrant_loader / core / state / state_manager.py StateManager.get_project_document_count   9 9 3   0%
src / qdrant_loader / core / state / state_manager.py StateManager.get_project_latest_ingestion   9 9 3   0%
src / qdrant_loader / core / state / state_manager.py StateManager.mark_document_deleted   6 3 0   50%
src / qdrant_loader / core / state / state_manager.py StateManager.get_document_state_record   6 3 0   50%
src / qdrant_loader / core / state / state_manager.py StateManager.get_document_state_records   6 3 0   50%
src / qdrant_loader / core / state / state_manager.py StateManager.update_document_state   8 4 0   50%
src / qdrant_loader / core / state / state_manager.py StateManager.update_conversion_metrics   6 3 0   50%
src / qdrant_loader / core / state / state_manager.py StateManager.get_conversion_metrics   6 3 0   50%
src / qdrant_loader / core / state / state_manager.py StateManager.get_attachment_documents   6 3 0   50%
src / qdrant_loader / core / state / state_manager.py StateManager.get_converted_documents   6 3 0   50%
src / qdrant_loader / core / state / state_manager.py StateManager.close   4 4 0   0%
src / qdrant_loader / core / state / state_manager.py (no function)   37 0 2   100%
src / qdrant_loader / core / state / transitions.py update_last_ingestion   16 6 0   62%
src / qdrant_loader / core / state / transitions.py get_last_ingestion   6 1 0   83%
src / qdrant_loader / core / state / transitions.py mark_document_deleted   11 1 0   91%
src / qdrant_loader / core / state / transitions.py get_document_state_record   6 1 0   83%
src / qdrant_loader / core / state / transitions.py get_document_state_records   7 0 0   100%
src / qdrant_loader / core / state / transitions.py update_document_state   57 10 0   82%
src / qdrant_loader / core / state / transitions.py update_conversion_metrics   13 0 0   100%
src / qdrant_loader / core / state / transitions.py get_conversion_metrics   10 1 0   90%
src / qdrant_loader / core / state / transitions.py get_attachment_documents   3 0 0   100%
src / qdrant_loader / core / state / transitions.py get_converted_documents   6 0 0   100%
src / qdrant_loader / core / state / transitions.py (no function)   18 0 0   100%
src / qdrant_loader / core / state / utils.py ensure_parent_directory   6 3 2   50%
src / qdrant_loader / core / state / utils.py generate_sqlite_aiosqlite_url   10 2 0   80%
src / qdrant_loader / core / state / utils.py build_ingestion_history_select   6 6 0   0%
src / qdrant_loader / core / state / utils.py build_document_state_select   7 7 0   0%
src / qdrant_loader / core / state / utils.py (no function)   10 0 0   100%
src / qdrant_loader / core / text_processing / semantic_analyzer.py SemanticAnalyzer.__init__   13 0 0   100%
src / qdrant_loader / core / text_processing / semantic_analyzer.py SemanticAnalyzer.analyze_text   13 0 0   100%
src / qdrant_loader / core / text_processing / semantic_analyzer.py SemanticAnalyzer._extract_entities   12 0 0   100%
src / qdrant_loader / core / text_processing / semantic_analyzer.py SemanticAnalyzer._get_pos_tags   4 0 0   100%
src / qdrant_loader / core / text_processing / semantic_analyzer.py SemanticAnalyzer._get_dependencies   4 0 0   100%
src / qdrant_loader / core / text_processing / semantic_analyzer.py SemanticAnalyzer._extract_topics   27 7 0   74%
src / qdrant_loader / core / text_processing / semantic_analyzer.py SemanticAnalyzer._extract_key_phrases   8 0 0   100%
src / qdrant_loader / core / text_processing / semantic_analyzer.py SemanticAnalyzer._calculate_document_similarity   12 2 0   83%
src / qdrant_loader / core / text_processing / semantic_analyzer.py SemanticAnalyzer._calculate_alternative_similarity   18 1 0   94%
src / qdrant_loader / core / text_processing / semantic_analyzer.py SemanticAnalyzer._calculate_topic_coherence   2 0 0   100%
src / qdrant_loader / core / text_processing / semantic_analyzer.py SemanticAnalyzer.clear_cache   23 10 0   57%
src / qdrant_loader / core / text_processing / semantic_analyzer.py SemanticAnalyzer.shutdown   7 2 0   71%
src / qdrant_loader / core / text_processing / semantic_analyzer.py (no function)   31 0 0   100%
src / qdrant_loader / core / text_processing / text_processor.py TextProcessor.__init__   23 0 0   100%
src / qdrant_loader / core / text_processing / text_processor.py TextProcessor.process_text   13 0 0   100%
src / qdrant_loader / core / text_processing / text_processor.py TextProcessor.get_entities   8 1 0   88%
src / qdrant_loader / core / text_processing / text_processor.py TextProcessor.get_pos_tags   8 1 0   88%
src / qdrant_loader / core / text_processing / text_processor.py TextProcessor.split_into_chunks   9 0 0   100%
src / qdrant_loader / core / text_processing / text_processor.py (no function)   16 0 0   100%
src / qdrant_loader / core / text_processing / topic_modeler.py TopicModeler.__init__   13 4 0   69%
src / qdrant_loader / core / text_processing / topic_modeler.py TopicModeler._preprocess_text   4 1 0   75%
src / qdrant_loader / core / text_processing / topic_modeler.py TopicModeler.train_model   22 8 0   64%
src / qdrant_loader / core / text_processing / topic_modeler.py TopicModeler.infer_topics   26 14 0   46%
src / qdrant_loader / core / text_processing / topic_modeler.py (no function)   11 0 0   100%
src / qdrant_loader / main.py (no function)   3 1 0   67%
src / qdrant_loader / utils / __init__.py (no function)   0 0 0   100%
src / qdrant_loader / utils / logging.py QdrantVersionFilter.filter   1 1 0   0%
src / qdrant_loader / utils / logging.py ApplicationFilter.filter   1 1 0   0%
src / qdrant_loader / utils / logging.py SQLiteFilter.filter   3 3 0   0%
src / qdrant_loader / utils / logging.py VerbosityFilter.filter   5 5 0   0%
src / qdrant_loader / utils / logging.py WindowsSafeConsoleHandler.emit   18 18 0   0%
src / qdrant_loader / utils / logging.py CleanFileHandler.emit   24 24 0   0%
src / qdrant_loader / utils / logging.py CleanFormatter.__init__   2 0 0   100%
src / qdrant_loader / utils / logging.py CleanFormatter.format   18 1 0   94%
src / qdrant_loader / utils / logging.py FileRenderer.__call__   5 5 0   0%
src / qdrant_loader / utils / logging.py FileFormatter.format   14 0 0   100%
src / qdrant_loader / utils / logging.py CustomConsoleRenderer.__init__   9 0 0   100%
src / qdrant_loader / utils / logging.py CustomConsoleRenderer._get_level_color   2 0 0   100%
src / qdrant_loader / utils / logging.py CustomConsoleRenderer.__call__   14 4 0   71%
src / qdrant_loader / utils / logging.py LoggingConfig.setup   47 47 0   0%
src / qdrant_loader / utils / logging.py LoggingConfig.setup._redact_sensitive   4 4 0   0%
src / qdrant_loader / utils / logging.py LoggingConfig.setup._redact_sensitive._mask   8 8 0   0%
src / qdrant_loader / utils / logging.py LoggingConfig.setup._redact_sensitive._deep_redact   13 13 0   0%
src / qdrant_loader / utils / logging.py LoggingConfig.get_logger   3 3 0   0%
src / qdrant_loader / utils / logging.py (no function)   41 2 0   95%
src / qdrant_loader / utils / version_check.py VersionChecker.__init__   2 0 0   100%
src / qdrant_loader / utils / version_check.py VersionChecker._get_cache_data   11 0 0   100%
src / qdrant_loader / utils / version_check.py VersionChecker._save_cache_data   6 0 0   100%
src / qdrant_loader / utils / version_check.py VersionChecker._fetch_latest_version   7 0 0   100%
src / qdrant_loader / utils / version_check.py VersionChecker.check_for_updates   17 0 0   100%
src / qdrant_loader / utils / version_check.py VersionChecker.show_update_notification   5 0 0   100%
src / qdrant_loader / utils / version_check.py check_version_async   7 0 0   100%
src / qdrant_loader / utils / version_check.py check_version_async._check   4 0 0   100%
src / qdrant_loader / utils / version_check.py (no function)   17 0 0   100%
Total     12532 2414 80   81%

No items found using the specified filter.