Coverage report: 81%

Files Functions Classes

coverage.py v7.8.2, created at 2025-06-04 05:50 +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 2 0 71%
src/qdrant_loader/cli/__init__.py __getattr__ 13 13 0 0%
src/qdrant_loader/cli/__init__.py (no function) 2 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_logger 4 2 0 50%
src/qdrant_loader/cli/cli.py _get_version 7 0 0 100%
src/qdrant_loader/cli/cli.py _check_for_updates 6 0 0 100%
src/qdrant_loader/cli/cli.py cli 2 0 0 100%
src/qdrant_loader/cli/cli.py _setup_logging 10 1 0 90%
src/qdrant_loader/cli/cli.py _setup_workspace 15 15 0 0%
src/qdrant_loader/cli/cli.py _load_config_with_workspace 10 2 0 80%
src/qdrant_loader/cli/cli.py _create_database_directory 9 0 0 100%
src/qdrant_loader/cli/cli.py _load_config 28 4 0 86%
src/qdrant_loader/cli/cli.py _check_settings 6 0 0 100%
src/qdrant_loader/cli/cli.py _run_init 11 1 0 91%
src/qdrant_loader/cli/cli.py init 30 30 0 0%
src/qdrant_loader/cli/cli.py _cancel_all_tasks 4 4 0 0%
src/qdrant_loader/cli/cli.py ingest 49 49 0 0%
src/qdrant_loader/cli/cli.py ingest.run_ingest 7 7 0 0%
src/qdrant_loader/cli/cli.py ingest._handle_sigint 3 3 0 0%
src/qdrant_loader/cli/cli.py config 15 4 0 73%
src/qdrant_loader/cli/cli.py _add_project_commands 2 2 0 0%
src/qdrant_loader/cli/cli.py (no function) 60 2 0 97%
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 list 27 0 0 100%
src/qdrant_loader/cli/project_commands.py status 25 2 0 92%
src/qdrant_loader/cli/project_commands.py validate 47 12 0 74%
src/qdrant_loader/cli/project_commands.py _setup_project_manager 11 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) 48 0 0 100%
src/qdrant_loader/config.py (no function) 27 27 0 0%
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._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) 48 0 0 100%
src/qdrant_loader/config/base.py ConfigProtocol.to_dict 1 1 0 0%
src/qdrant_loader/config/base.py SourceConfigProtocol.validate 1 1 0 0%
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 0 100%
src/qdrant_loader/config/chunking.py ChunkingConfig.validate_chunk_overlap 4 1 0 75%
src/qdrant_loader/config/chunking.py (no function) 6 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) 23 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 1 0 0%
src/qdrant_loader/config/models.py (no function) 52 0 0 100%
src/qdrant_loader/config/parser.py MultiProjectConfigParser.__init__ 1 0 0 100%
src/qdrant_loader/config/parser.py MultiProjectConfigParser.parse 8 0 0 100%
src/qdrant_loader/config/parser.py MultiProjectConfigParser._parse_global_config 5 3 0 40%
src/qdrant_loader/config/parser.py MultiProjectConfigParser._is_legacy_config 3 0 0 100%
src/qdrant_loader/config/parser.py MultiProjectConfigParser._raise_legacy_format_error 2 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 1 0 91%
src/qdrant_loader/config/parser.py MultiProjectConfigParser._inject_source_metadata 15 3 0 80%
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 3 0 50%
src/qdrant_loader/config/parser.py (no function) 21 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 3 0 86%
src/qdrant_loader/config/sources.py SourcesConfig.get_source_config 2 2 0 0%
src/qdrant_loader/config/sources.py SourcesConfig.to_dict 1 0 0 100%
src/qdrant_loader/config/sources.py (no function) 22 5 0 77%
src/qdrant_loader/config/state.py DatabaseDirectoryError.__init__ 2 0 0 100%
src/qdrant_loader/config/state.py StateManagementConfig.validate_database_path 9 3 0 67%
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 ConfigValidator.__init__ 1 0 0 100%
src/qdrant_loader/config/validator.py ConfigValidator.validate_structure 14 3 0 79%
src/qdrant_loader/config/validator.py ConfigValidator._validate_projects_section 17 6 0 65%
src/qdrant_loader/config/validator.py ConfigValidator._validate_project_config 22 8 0 64%
src/qdrant_loader/config/validator.py ConfigValidator._validate_sources_section 13 4 0 69%
src/qdrant_loader/config/validator.py ConfigValidator._validate_global_section 11 3 0 73%
src/qdrant_loader/config/validator.py ConfigValidator._validate_project_id 10 3 0 70%
src/qdrant_loader/config/validator.py ConfigValidator._validate_source_name 7 7 0 0%
src/qdrant_loader/config/validator.py ConfigValidator._validate_source_config 4 4 0 0%
src/qdrant_loader/config/validator.py ConfigValidator._validate_collection_name 5 2 0 60%
src/qdrant_loader/config/validator.py (no function) 15 0 0 100%
src/qdrant_loader/config/workspace.py WorkspaceConfig.__post_init__ 10 2 0 80%
src/qdrant_loader/config/workspace.py setup_workspace 12 0 0 100%
src/qdrant_loader/config/workspace.py validate_workspace 6 6 0 0%
src/qdrant_loader/config/workspace.py create_workspace_structure 9 9 0 0%
src/qdrant_loader/config/workspace.py get_workspace_env_override 3 3 0 0%
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/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 1 0 0%
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/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__ 13 2 0 85%
src/qdrant_loader/connectors/confluence/connector.py ConfluenceConnector.set_file_conversion_config 7 7 0 0%
src/qdrant_loader/connectors/confluence/connector.py ConfluenceConnector._setup_authentication 11 6 0 45%
src/qdrant_loader/connectors/confluence/connector.py ConfluenceConnector._auto_detect_deployment_type 10 10 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 11 2 0 82%
src/qdrant_loader/connectors/confluence/connector.py ConfluenceConnector._get_space_content_datacenter 10 10 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 71 71 0 0%
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 29 2 0 93%
src/qdrant_loader/connectors/confluence/connector.py ConfluenceConnector._process_content 62 25 0 60%
src/qdrant_loader/connectors/confluence/connector.py ConfluenceConnector._construct_page_url 7 2 0 71%
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 97 30 0 69%
src/qdrant_loader/connectors/confluence/connector.py (no function) 34 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 26 0 0%
src/qdrant_loader/connectors/git/connector.py GitConnector.__aexit__ 2 0 0 100%
src/qdrant_loader/connectors/git/connector.py GitConnector.__exit__ 1 1 0 0%
src/qdrant_loader/connectors/git/connector.py GitConnector._cleanup 6 2 0 67%
src/qdrant_loader/connectors/git/connector.py GitConnector._process_file 35 19 0 46%
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 90 17 0 81%
src/qdrant_loader/connectors/git/file_processor.py (no function) 11 2 0 82%
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 8 0 0 100%
src/qdrant_loader/connectors/git/metadata_extractor.py GitMetadataExtractor._extract_repo_metadata 28 7 0 75%
src/qdrant_loader/connectors/git/metadata_extractor.py GitMetadataExtractor._extract_git_metadata 26 13 0 50%
src/qdrant_loader/connectors/git/metadata_extractor.py GitMetadataExtractor._extract_structure_metadata 31 10 0 68%
src/qdrant_loader/connectors/git/metadata_extractor.py GitMetadataExtractor._get_repo_description 58 58 0 0%
src/qdrant_loader/connectors/git/metadata_extractor.py GitMetadataExtractor._detect_encoding 9 3 0 67%
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) 22 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/jira/__init__.py (no function) 3 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) 36 0 0 100%
src/qdrant_loader/connectors/jira/connector.py JiraConnector.__init__ 16 2 0 88%
src/qdrant_loader/connectors/jira/connector.py JiraConnector._setup_authentication 11 3 0 73%
src/qdrant_loader/connectors/jira/connector.py JiraConnector._auto_detect_deployment_type 10 3 0 70%
src/qdrant_loader/connectors/jira/connector.py JiraConnector.set_file_conversion_config 4 4 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 25 7 0 72%
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 7 0 0 100%
src/qdrant_loader/connectors/jira/connector.py JiraConnector._parse_user 12 7 0 42%
src/qdrant_loader/connectors/jira/connector.py JiraConnector._parse_attachment 3 0 0 100%
src/qdrant_loader/connectors/jira/connector.py JiraConnector._parse_comment 3 0 0 100%
src/qdrant_loader/connectors/jira/connector.py JiraConnector._get_issue_attachments 7 7 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) 33 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 1 0 67%
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.set_file_conversion_config 3 3 0 0%
src/qdrant_loader/connectors/localfile/connector.py LocalFileConnector.get_documents 42 19 0 55%
src/qdrant_loader/connectors/localfile/connector.py (no function) 14 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 77 43 0 44%
src/qdrant_loader/connectors/localfile/file_processor.py (no function) 10 1 0 90%
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 1 0 75%
src/qdrant_loader/connectors/publicdocs/config.py (no function) 17 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__ 8 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 42 12 0 71%
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 0 0 100%
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 39 12 0 69%
src/qdrant_loader/connectors/publicdocs/connector.py (no function) 33 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__ 25 2 0 92%
src/qdrant_loader/core/async_ingestion_pipeline.py AsyncIngestionPipeline.initialize 9 2 0 78%
src/qdrant_loader/core/async_ingestion_pipeline.py AsyncIngestionPipeline.process_documents 16 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 AsyncIngestionPipeline._shutdown_event 1 0 0 100%
src/qdrant_loader/core/async_ingestion_pipeline.py AsyncIngestionPipeline._active_tasks 1 0 0 100%
src/qdrant_loader/core/async_ingestion_pipeline.py AsyncIngestionPipeline._cleanup_done 1 0 0 100%
src/qdrant_loader/core/async_ingestion_pipeline.py AsyncIngestionPipeline._cleanup 1 1 0 0%
src/qdrant_loader/core/async_ingestion_pipeline.py AsyncIngestionPipeline._async_cleanup 1 1 0 0%
src/qdrant_loader/core/async_ingestion_pipeline.py AsyncIngestionPipeline._handle_sigint 1 0 0 100%
src/qdrant_loader/core/async_ingestion_pipeline.py AsyncIngestionPipeline._handle_sigterm 1 0 0 100%
src/qdrant_loader/core/async_ingestion_pipeline.py AsyncIngestionPipeline._cancel_all_tasks 1 0 0 100%
src/qdrant_loader/core/async_ingestion_pipeline.py AsyncIngestionPipeline._force_immediate_exit 1 0 0 100%
src/qdrant_loader/core/async_ingestion_pipeline.py (no function) 30 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) 19 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 15 0 0 100%
src/qdrant_loader/core/chunking/chunking_service.py (no function) 12 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 2 0 0%
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) 10 0 0 100%
src/qdrant_loader/core/chunking/strategy/__init__.py (no function) 7 0 0 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 BaseChunkingStrategy._split_text 1 1 0 0%
src/qdrant_loader/core/chunking/strategy/base_strategy.py (no function) 22 1 0 95%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeElement.add_child 2 0 0 100%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy.__init__ 7 1 0 86%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._detect_language 2 0 0 100%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._get_tree_sitter_parser 11 5 0 55%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._parse_with_tree_sitter 18 8 0 56%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._extract_ast_elements 27 4 0 85%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._extract_element_name 11 2 0 82%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._extract_parameters_from_node 12 1 0 92%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._parse_python_ast 16 5 0 69%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._parse_python_ast.extract_docstring 3 0 0 100%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._parse_python_ast.get_decorators 8 4 0 50%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._parse_python_ast.get_parameters 6 1 0 83%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._parse_python_ast.visit_node 29 3 0 90%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._extract_code_metadata 10 2 0 80%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._merge_small_elements 25 7 0 72%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._create_merged_element 12 1 0 92%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._split_text 1 1 0 0%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy.chunk_document 45 12 0 73%
src/qdrant_loader/core/chunking/strategy/code_strategy.py CodeChunkingStrategy._fallback_chunking 23 3 0 87%
src/qdrant_loader/core/chunking/strategy/code_strategy.py (no function) 76 4 0 95%
src/qdrant_loader/core/chunking/strategy/default_strategy.py DefaultChunkingStrategy.__init__ 5 0 0 100%
src/qdrant_loader/core/chunking/strategy/default_strategy.py DefaultChunkingStrategy._split_text 5 0 0 100%
src/qdrant_loader/core/chunking/strategy/default_strategy.py DefaultChunkingStrategy._split_text_with_tokenizer 23 7 0 70%
src/qdrant_loader/core/chunking/strategy/default_strategy.py DefaultChunkingStrategy._split_text_without_tokenizer 68 19 0 72%
src/qdrant_loader/core/chunking/strategy/default_strategy.py DefaultChunkingStrategy.chunk_document 23 5 0 78%
src/qdrant_loader/core/chunking/strategy/default_strategy.py (no function) 15 0 0 100%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLSection.add_child 2 0 0 100%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy.__init__ 8 0 0 100%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._identify_section_type 24 0 0 100%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._get_heading_level 3 0 0 100%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._extract_section_metadata 9 0 0 100%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._build_section_breadcrumb 11 1 0 91%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._extract_title_from_content 7 1 0 86%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._parse_html_structure 18 1 0 94%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._parse_html_structure.process_element 22 1 0 95%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._simple_html_parse 27 1 0 96%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._merge_small_sections 26 0 0 100%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._create_merged_section 9 0 0 100%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._split_text 18 0 0 100%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._split_large_section 16 0 0 100%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._extract_section_title 20 0 0 100%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy.chunk_document 27 2 0 93%
src/qdrant_loader/core/chunking/strategy/html_strategy.py HTMLChunkingStrategy._fallback_chunking 41 3 0 93%
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.shutdown 5 2 0 60%
src/qdrant_loader/core/chunking/strategy/html_strategy.py (no function) 57 0 0 100%
src/qdrant_loader/core/chunking/strategy/json_strategy.py JSONElement.add_child 2 0 0 100%
src/qdrant_loader/core/chunking/strategy/json_strategy.py JSONChunkingStrategy.__init__ 6 0 0 100%
src/qdrant_loader/core/chunking/strategy/json_strategy.py JSONChunkingStrategy._parse_json_structure 16 0 0 100%
src/qdrant_loader/core/chunking/strategy/json_strategy.py JSONChunkingStrategy._create_json_element 11 0 0 100%
src/qdrant_loader/core/chunking/strategy/json_strategy.py JSONChunkingStrategy._extract_json_elements 40 2 0 95%
src/qdrant_loader/core/chunking/strategy/json_strategy.py JSONChunkingStrategy._group_small_elements 24 0 0 100%
src/qdrant_loader/core/chunking/strategy/json_strategy.py JSONChunkingStrategy._create_grouped_element 21 0 0 100%
src/qdrant_loader/core/chunking/strategy/json_strategy.py JSONChunkingStrategy._split_large_element 52 0 0 100%
src/qdrant_loader/core/chunking/strategy/json_strategy.py JSONChunkingStrategy._extract_json_metadata 13 0 0 100%
src/qdrant_loader/core/chunking/strategy/json_strategy.py JSONChunkingStrategy.chunk_document 44 3 0 93%
src/qdrant_loader/core/chunking/strategy/json_strategy.py JSONChunkingStrategy._create_optimized_chunk_document 11 0 0 100%
src/qdrant_loader/core/chunking/strategy/json_strategy.py JSONChunkingStrategy._fallback_chunking 23 0 0 100%
src/qdrant_loader/core/chunking/strategy/json_strategy.py JSONChunkingStrategy._split_text 1 0 0 100%
src/qdrant_loader/core/chunking/strategy/json_strategy.py (no function) 54 1 0 98%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py Section.add_child 2 0 0 100%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy.__init__ 5 0 0 100%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._identify_section_type 11 0 0 100%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._extract_section_metadata 11 0 0 100%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._build_section_breadcrumb 13 0 0 100%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._parse_document_structure 23 0 0 100%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._get_section_path 7 2 0 71%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._merge_related_sections 13 13 0 0%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._split_text 34 3 0 91%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._split_large_section 43 19 0 56%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._process_chunk 9 1 0 89%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._extract_section_title 10 4 0 60%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy.shutdown 3 0 0 100%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy.chunk_document 38 5 0 87%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._fallback_chunking 19 0 0 100%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._extract_cross_references 10 0 0 100%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._extract_entities 12 0 0 100%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._map_hierarchical_relationships 17 1 0 94%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy._analyze_topic 1 0 0 100%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py MarkdownChunkingStrategy.__del__ 3 0 0 100%
src/qdrant_loader/core/chunking/strategy/markdown_strategy.py (no function) 49 1 0 98%
src/qdrant_loader/core/document.py Document.__init__ 9 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__ 22 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 7 1 0 86%
src/qdrant_loader/core/embedding/embedding_service.py EmbeddingService._execute_embedding_request 17 10 0 41%
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 16 1 0 94%
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 1 0 0 100%
src/qdrant_loader/core/embedding/embedding_service.py (no function) 22 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) 17 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) 13 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__ 3 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.__enter__ 3 0 0 100%
src/qdrant_loader/core/file_conversion/file_converter.py TimeoutHandler.__exit__ 3 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 13 0 0 100%
src/qdrant_loader/core/file_conversion/file_converter.py FileConverter._create_llm_client 13 0 0 100%
src/qdrant_loader/core/file_conversion/file_converter.py FileConverter.convert_file 18 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) 28 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) 20 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 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 26 0 0 100%
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 0 0 100%
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) 64 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 1 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 11 11 0 0%
src/qdrant_loader/core/monitoring/prometheus_metrics.py stop_metrics_server 3 2 0 33%
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 33 0 0%
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 37 9 0 76%
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 15 0 42%
src/qdrant_loader/core/pipeline/source_filter.py SourceFilter._filter_by_name 3 3 0 0%
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 22 0 0%
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 27 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 15 0 0 100%
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 9 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 19 8 0 58%
src/qdrant_loader/core/project_manager.py ProjectManager._update_project_sources 29 10 0 66%
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 16 0 0 100%
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/state_change_detector.py StateChangeDetector.__init__ 3 3 0 0%
src/qdrant_loader/core/state/state_change_detector.py StateChangeDetector.__aenter__ 2 2 0 0%
src/qdrant_loader/core/state/state_change_detector.py StateChangeDetector.__aexit__ 2 2 0 0%
src/qdrant_loader/core/state/state_change_detector.py StateChangeDetector.detect_changes 14 14 0 0%
src/qdrant_loader/core/state/state_change_detector.py StateChangeDetector._get_document_state 4 4 0 0%
src/qdrant_loader/core/state/state_change_detector.py StateChangeDetector._is_document_updated 1 1 0 0%
src/qdrant_loader/core/state/state_change_detector.py StateChangeDetector._create_deleted_document 3 3 0 0%
src/qdrant_loader/core/state/state_change_detector.py StateChangeDetector._get_previous_states 8 8 0 0%
src/qdrant_loader/core/state/state_change_detector.py StateChangeDetector._normalize_url 1 1 0 0%
src/qdrant_loader/core/state/state_change_detector.py StateChangeDetector._generate_uri_from_document 1 1 0 0%
src/qdrant_loader/core/state/state_change_detector.py StateChangeDetector._generate_uri 1 1 0 0%
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.__aenter__ 4 1 0 75%
src/qdrant_loader/core/state/state_manager.py StateManager.__aexit__ 1 0 0 100%
src/qdrant_loader/core/state/state_manager.py StateManager.initialize 32 9 0 72%
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 29 7 0 76%
src/qdrant_loader/core/state/state_manager.py StateManager.get_last_ingestion 16 4 0 75%
src/qdrant_loader/core/state/state_manager.py StateManager.mark_document_deleted 25 5 0 80%
src/qdrant_loader/core/state/state_manager.py StateManager.get_document_state_record 15 4 0 73%
src/qdrant_loader/core/state/state_manager.py StateManager.get_document_state_records 16 3 0 81%
src/qdrant_loader/core/state/state_manager.py StateManager.update_document_state 73 15 0 79%
src/qdrant_loader/core/state/state_manager.py StateManager.update_conversion_metrics 19 3 0 84%
src/qdrant_loader/core/state/state_manager.py StateManager.get_conversion_metrics 15 4 0 73%
src/qdrant_loader/core/state/state_manager.py StateManager.get_attachment_documents 10 3 0 70%
src/qdrant_loader/core/state/state_manager.py StateManager.get_converted_documents 13 3 0 77%
src/qdrant_loader/core/state/state_manager.py StateManager.close 4 4 0 0%
src/qdrant_loader/core/state/state_manager.py (no function) 29 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 16 2 0 88%
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 7 0 0 100%
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 1 0 0 100%
src/qdrant_loader/core/text_processing/semantic_analyzer.py (no function) 29 0 0 100%
src/qdrant_loader/core/text_processing/text_processor.py TextProcessor.__init__ 22 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__ 12 4 0 67%
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 0 0 100%
src/qdrant_loader/utils/logging.py VerbosityFilter.filter 3 0 0 100%
src/qdrant_loader/utils/logging.py CleanFileHandler.emit 8 8 0 0%
src/qdrant_loader/utils/logging.py CleanFormatter.__init__ 2 0 0 100%
src/qdrant_loader/utils/logging.py CleanFormatter.format 12 9 0 25%
src/qdrant_loader/utils/logging.py FileRenderer.__call__ 5 5 0 0%
src/qdrant_loader/utils/logging.py FileFormatter.format 10 10 0 0%
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 32 10 0 69%
src/qdrant_loader/utils/logging.py LoggingConfig.get_logger 3 0 0 100%
src/qdrant_loader/utils/logging.py (no function) 33 0 0 100%
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 4 0 0%
src/qdrant_loader/utils/version_check.py (no function) 21 0 0 100%
Total   8311 1562 0 81%

No items found using the specified filter.