| src / local_deep_research / __init__.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / __version__.py |
(no class) |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / __init__.py |
(no class) |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / __init__.py |
(no class) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer |
|
100% |
107 |
0 |
0 |
|
100% |
38 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
(no class) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
ExplorationStrategy |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
ExplorationResult |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
BaseCandidateExplorer |
|
98% |
101 |
2 |
0 |
|
95% |
42 |
2 |
|
97% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
(no class) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer |
|
99% |
118 |
1 |
0 |
|
95% |
60 |
3 |
|
98% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
(no class) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer |
|
94% |
164 |
10 |
0 |
|
85% |
88 |
5 |
|
91% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
(no class) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / parallel_explorer.py |
ParallelExplorer |
|
100% |
75 |
0 |
0 |
|
96% |
24 |
1 |
|
99% |
| src / local_deep_research / advanced_search_system / candidate_exploration / parallel_explorer.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
SearchProgress |
|
100% |
10 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
ProgressiveExplorer |
|
100% |
87 |
0 |
0 |
|
97% |
58 |
2 |
|
99% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
(no class) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidates / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidates / base_candidate.py |
Candidate |
|
100% |
23 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidates / base_candidate.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / __init__.py |
(no class) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / base_constraint_checker.py |
ConstraintCheckResult |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / base_constraint_checker.py |
BaseConstraintChecker |
|
85% |
13 |
2 |
0 |
|
100% |
4 |
0 |
|
88% |
| src / local_deep_research / advanced_search_system / constraint_checking / base_constraint_checker.py |
(no class) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / constraint_checker.py |
ConstraintCheckResult |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / constraint_checker.py |
ConstraintChecker |
|
100% |
41 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / constraint_checker.py |
(no class) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / dual_confidence_checker.py |
DualConfidenceChecker |
|
90% |
101 |
10 |
0 |
|
85% |
34 |
5 |
|
89% |
| src / local_deep_research / advanced_search_system / constraint_checking / dual_confidence_checker.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / evidence_analyzer.py |
ConstraintEvidence |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / evidence_analyzer.py |
EvidenceAnalyzer |
|
88% |
43 |
5 |
0 |
|
88% |
8 |
1 |
|
88% |
| src / local_deep_research / advanced_search_system / constraint_checking / evidence_analyzer.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
IntelligentConstraintRelaxer |
|
97% |
154 |
4 |
0 |
|
94% |
84 |
3 |
|
96% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / rejection_engine.py |
RejectionResult |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / rejection_engine.py |
RejectionEngine |
|
100% |
18 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / rejection_engine.py |
(no class) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / strict_checker.py |
StrictChecker |
|
93% |
69 |
5 |
0 |
|
93% |
28 |
2 |
|
93% |
| src / local_deep_research / advanced_search_system / constraint_checking / strict_checker.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / threshold_checker.py |
ThresholdChecker |
|
100% |
49 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / threshold_checker.py |
(no class) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraints / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraints / base_constraint.py |
ConstraintType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraints / base_constraint.py |
Constraint |
|
100% |
14 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraints / base_constraint.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraints / constraint_analyzer.py |
ConstraintAnalyzer |
|
100% |
35 |
0 |
0 |
|
100% |
18 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraints / constraint_analyzer.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / evidence / __init__.py |
(no class) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / evidence / base_evidence.py |
EvidenceType |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / evidence / base_evidence.py |
Evidence |
|
100% |
2 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / evidence / base_evidence.py |
(no class) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / evidence / evaluator.py |
EvidenceEvaluator |
|
100% |
38 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / evidence / evaluator.py |
(no class) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / evidence / requirements.py |
EvidenceRequirements |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / evidence / requirements.py |
(no class) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / filters / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / filters / base_filter.py |
BaseFilter |
|
50% |
2 |
1 |
0 |
|
100% |
0 |
0 |
|
50% |
| src / local_deep_research / advanced_search_system / filters / base_filter.py |
(no class) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / filters / cross_engine_filter.py |
CrossEngineFilter |
|
97% |
70 |
2 |
0 |
|
100% |
34 |
0 |
|
98% |
| src / local_deep_research / advanced_search_system / filters / cross_engine_filter.py |
(no class) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / filters / followup_relevance_filter.py |
FollowUpRelevanceFilter |
|
100% |
40 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / filters / followup_relevance_filter.py |
(no class) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
JournalFilterError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
JournalReputationFilter |
|
86% |
90 |
13 |
0 |
|
81% |
26 |
3 |
|
84% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
(no class) |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / findings / base_findings.py |
BaseFindingsRepository |
|
33% |
6 |
4 |
0 |
|
100% |
0 |
0 |
|
33% |
| src / local_deep_research / advanced_search_system / findings / base_findings.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
FindingsRepository |
|
93% |
172 |
12 |
0 |
|
94% |
72 |
4 |
|
93% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
(no class) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / findings / topic.py |
Topic |
|
100% |
13 |
0 |
0 |
|
90% |
10 |
1 |
|
96% |
| src / local_deep_research / advanced_search_system / findings / topic.py |
TopicGraph |
|
100% |
53 |
0 |
0 |
|
88% |
42 |
5 |
|
95% |
| src / local_deep_research / advanced_search_system / findings / topic.py |
(no class) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / knowledge / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / knowledge / base_knowledge.py |
BaseKnowledgeGenerator |
|
72% |
18 |
5 |
0 |
|
100% |
6 |
0 |
|
79% |
| src / local_deep_research / advanced_search_system / knowledge / base_knowledge.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
FollowUpContextHandler |
|
98% |
90 |
2 |
0 |
|
95% |
44 |
2 |
|
97% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
(no class) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / knowledge / standard_knowledge.py |
StandardKnowledge |
|
100% |
34 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / knowledge / standard_knowledge.py |
(no class) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / query_generation / adaptive_query_generator.py |
QueryPattern |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / query_generation / adaptive_query_generator.py |
AdaptiveQueryGenerator |
|
98% |
133 |
3 |
0 |
|
93% |
74 |
5 |
|
96% |
| src / local_deep_research / advanced_search_system / query_generation / adaptive_query_generator.py |
(no class) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / __init__.py |
(no class) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / atomic_fact_question.py |
AtomicFactQuestionGenerator |
|
100% |
37 |
0 |
0 |
|
100% |
24 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / atomic_fact_question.py |
(no class) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / base_question.py |
BaseQuestionGenerator |
|
88% |
8 |
1 |
0 |
|
100% |
4 |
0 |
|
92% |
| src / local_deep_research / advanced_search_system / questions / base_question.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / browsecomp_question.py |
BrowseCompQuestionGenerator |
|
98% |
138 |
3 |
0 |
|
92% |
106 |
9 |
|
95% |
| src / local_deep_research / advanced_search_system / questions / browsecomp_question.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / decomposition_question.py |
DecompositionQuestionGenerator |
|
96% |
125 |
5 |
0 |
|
88% |
88 |
11 |
|
92% |
| src / local_deep_research / advanced_search_system / questions / decomposition_question.py |
(no class) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / entity_aware_question.py |
EntityAwareQuestionGenerator |
|
100% |
42 |
0 |
0 |
|
94% |
16 |
1 |
|
98% |
| src / local_deep_research / advanced_search_system / questions / entity_aware_question.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / flexible_browsecomp_question.py |
FlexibleBrowseCompQuestionGenerator |
|
100% |
22 |
0 |
0 |
|
93% |
14 |
1 |
|
97% |
| src / local_deep_research / advanced_search_system / questions / flexible_browsecomp_question.py |
(no class) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / followup / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / followup / base_followup_question.py |
BaseFollowUpQuestionGenerator |
|
80% |
5 |
1 |
0 |
|
100% |
0 |
0 |
|
80% |
| src / local_deep_research / advanced_search_system / questions / followup / base_followup_question.py |
(no class) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / followup / llm_followup_question.py |
LLMFollowUpQuestionGenerator |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / followup / llm_followup_question.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / followup / simple_followup_question.py |
SimpleFollowUpQuestionGenerator |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / followup / simple_followup_question.py |
(no class) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / news_question.py |
NewsQuestionGenerator |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / news_question.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / standard_question.py |
StandardQuestionGenerator |
|
100% |
34 |
0 |
0 |
|
92% |
12 |
1 |
|
98% |
| src / local_deep_research / advanced_search_system / questions / standard_question.py |
(no class) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / repositories / __init__.py |
(no class) |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / search_optimization / cross_constraint_manager.py |
ConstraintRelationship |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / search_optimization / cross_constraint_manager.py |
ConstraintCluster |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / search_optimization / cross_constraint_manager.py |
CrossConstraintManager |
|
95% |
225 |
12 |
0 |
|
92% |
106 |
5 |
|
94% |
| src / local_deep_research / advanced_search_system / search_optimization / cross_constraint_manager.py |
(no class) |
|
100% |
34 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / source_management / diversity_manager.py |
SourceProfile |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / source_management / diversity_manager.py |
DiversityMetrics |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / source_management / diversity_manager.py |
SourceDiversityManager |
|
97% |
204 |
6 |
0 |
|
94% |
112 |
7 |
|
96% |
| src / local_deep_research / advanced_search_system / source_management / diversity_manager.py |
(no class) |
|
100% |
34 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / tools / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / tools / base_tool.py |
BaseTool |
|
96% |
24 |
1 |
0 |
|
92% |
12 |
1 |
|
94% |
| src / local_deep_research / advanced_search_system / tools / base_tool.py |
(no class) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / api / __init__.py |
(no class) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / api / benchmark_functions.py |
(no class) |
|
100% |
79 |
0 |
0 |
|
100% |
28 |
0 |
|
100% |
| src / local_deep_research / api / client.py |
LDRClient |
|
96% |
105 |
4 |
0 |
|
92% |
48 |
4 |
|
95% |
| src / local_deep_research / api / client.py |
(no class) |
|
100% |
26 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / api / research_functions.py |
(no class) |
|
95% |
227 |
12 |
0 |
|
86% |
94 |
13 |
|
92% |
| src / local_deep_research / api / settings_utils.py |
InMemorySettingsManager |
|
94% |
79 |
5 |
0 |
|
95% |
38 |
2 |
|
94% |
| src / local_deep_research / api / settings_utils.py |
(no class) |
|
95% |
73 |
4 |
0 |
|
89% |
38 |
4 |
|
93% |
| src / local_deep_research / benchmarks / __init__.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / benchmark_functions.py |
(no class) |
|
98% |
131 |
3 |
0 |
|
91% |
76 |
7 |
|
95% |
| src / local_deep_research / benchmarks / comparison / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_create_spider_chart.radar_factory.RadarAxes |
|
0% |
22 |
22 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
(no class) |
|
98% |
282 |
6 |
0 |
|
91% |
74 |
5 |
|
96% |
| src / local_deep_research / benchmarks / comparison / results.py |
Benchmark_results |
|
100% |
20 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / benchmarks / comparison / results.py |
(no class) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets.py |
(no class) |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / __init__.py |
(no class) |
|
83% |
12 |
2 |
0 |
|
100% |
0 |
0 |
|
83% |
| src / local_deep_research / benchmarks / datasets / base.py |
BenchmarkDataset |
|
87% |
54 |
7 |
0 |
|
94% |
18 |
1 |
|
89% |
| src / local_deep_research / benchmarks / datasets / base.py |
DatasetRegistry |
|
87% |
15 |
2 |
0 |
|
100% |
4 |
0 |
|
89% |
| src / local_deep_research / benchmarks / datasets / base.py |
(no class) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / browsecomp.py |
BrowseCompDataset |
|
95% |
39 |
2 |
0 |
|
86% |
14 |
2 |
|
92% |
| src / local_deep_research / benchmarks / datasets / browsecomp.py |
(no class) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / custom_dataset_template.py |
CustomDataset |
|
100% |
14 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / custom_dataset_template.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / simpleqa.py |
SimpleQADataset |
|
100% |
14 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / simpleqa.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / utils.py |
(no class) |
|
87% |
63 |
8 |
0 |
|
88% |
16 |
2 |
|
87% |
| src / local_deep_research / benchmarks / datasets / xbench_deepsearch.py |
XBenchDeepSearchDataset |
|
95% |
84 |
4 |
0 |
|
82% |
22 |
4 |
|
92% |
| src / local_deep_research / benchmarks / datasets / xbench_deepsearch.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / efficiency / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
ResourceMonitor |
|
100% |
94 |
0 |
0 |
|
100% |
36 |
0 |
|
100% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
(no class) |
|
92% |
36 |
3 |
0 |
|
100% |
2 |
0 |
|
92% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
SpeedProfiler |
|
94% |
62 |
4 |
0 |
|
80% |
30 |
4 |
|
89% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
(no class) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / evaluators / __init__.py |
(no class) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / evaluators / base.py |
BaseBenchmarkEvaluator |
|
83% |
6 |
1 |
0 |
|
100% |
0 |
0 |
|
83% |
| src / local_deep_research / benchmarks / evaluators / base.py |
(no class) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / evaluators / browsecomp.py |
BrowseCompEvaluator |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / evaluators / browsecomp.py |
(no class) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / evaluators / composite.py |
CompositeBenchmarkEvaluator |
|
100% |
24 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / benchmarks / evaluators / composite.py |
(no class) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / evaluators / simpleqa.py |
SimpleQAEvaluator |
|
100% |
56 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / benchmarks / evaluators / simpleqa.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / graders.py |
(no class) |
|
90% |
200 |
20 |
0 |
|
85% |
62 |
7 |
|
89% |
| src / local_deep_research / benchmarks / metrics.py |
(no class) |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / metrics / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / metrics / calculation.py |
(no class) |
|
99% |
137 |
2 |
0 |
|
100% |
38 |
0 |
|
99% |
| src / local_deep_research / benchmarks / metrics / reporting.py |
(no class) |
|
100% |
54 |
0 |
0 |
|
96% |
26 |
1 |
|
99% |
| src / local_deep_research / benchmarks / models / __init__.py |
(no class) |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / __init__.py |
(no class) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / optimization / api.py |
(no class) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / optimization / metrics.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer |
|
77% |
308 |
71 |
0 |
|
74% |
86 |
10 |
|
76% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
(no class) |
|
94% |
49 |
3 |
0 |
|
100% |
0 |
0 |
|
94% |
| src / local_deep_research / benchmarks / runners.py |
(no class) |
|
100% |
122 |
0 |
0 |
|
100% |
42 |
0 |
|
100% |
| src / local_deep_research / benchmarks / templates.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / web_api / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
(no class) |
|
98% |
352 |
8 |
0 |
|
90% |
88 |
9 |
|
96% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkTaskStatus |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkQueueTracker |
|
100% |
29 |
0 |
0 |
|
93% |
14 |
1 |
|
98% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService |
|
95% |
399 |
18 |
0 |
|
82% |
114 |
21 |
|
92% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
(no class) |
|
100% |
50 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handler.py |
CitationHandler |
|
100% |
28 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / citation_handler.py |
(no class) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / __init__.py |
(no class) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / base_citation_handler.py |
BaseCitationHandler |
|
95% |
39 |
2 |
0 |
|
95% |
20 |
1 |
|
95% |
| src / local_deep_research / citation_handlers / base_citation_handler.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / forced_answer_citation_handler.py |
ForcedAnswerCitationHandler |
|
100% |
43 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / forced_answer_citation_handler.py |
(no class) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler |
|
99% |
185 |
1 |
0 |
|
92% |
84 |
7 |
|
97% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / standard_citation_handler.py |
StandardCitationHandler |
|
100% |
20 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / standard_citation_handler.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / constants.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / llm_config.py |
wrap_llm_without_think_tags.ProcessingLLMWrapper |
|
95% |
20 |
1 |
0 |
|
83% |
6 |
1 |
|
92% |
| src / local_deep_research / config / llm_config.py |
(no class) |
|
97% |
331 |
11 |
0 |
|
88% |
126 |
15 |
|
94% |
| src / local_deep_research / config / paths.py |
(no class) |
|
100% |
71 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / config / search_config.py |
(no class) |
|
100% |
27 |
0 |
0 |
|
90% |
10 |
1 |
|
97% |
| src / local_deep_research / config / thread_settings.py |
NoSettingsContextError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / thread_settings.py |
(no class) |
|
100% |
52 |
0 |
0 |
|
100% |
26 |
0 |
|
100% |
| src / local_deep_research / constants.py |
ResearchStatus |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / constants.py |
(no class) |
|
100% |
28 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / content_fetcher / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / content_fetcher / fetcher.py |
ContentFetcher |
|
90% |
111 |
11 |
0 |
|
93% |
46 |
1 |
|
91% |
| src / local_deep_research / content_fetcher / fetcher.py |
(no class) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / content_fetcher / url_classifier.py |
URLType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / content_fetcher / url_classifier.py |
URLClassifier |
|
97% |
72 |
2 |
0 |
|
95% |
64 |
3 |
|
96% |
| src / local_deep_research / content_fetcher / url_classifier.py |
(no class) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / alembic_runner.py |
(no class) |
|
95% |
88 |
4 |
0 |
|
82% |
28 |
5 |
|
92% |
| src / local_deep_research / database / auth_db.py |
(no class) |
|
97% |
72 |
2 |
0 |
|
100% |
12 |
0 |
|
98% |
| src / local_deep_research / database / backup / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / backup / backup_scheduler.py |
BackupScheduler |
|
100% |
42 |
0 |
0 |
|
90% |
10 |
1 |
|
98% |
| src / local_deep_research / database / backup / backup_scheduler.py |
(no class) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / backup / backup_service.py |
BackupResult |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / backup / backup_service.py |
BackupService |
|
86% |
187 |
26 |
0 |
|
94% |
48 |
3 |
|
88% |
| src / local_deep_research / database / backup / backup_service.py |
(no class) |
|
100% |
32 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / database / credential_store_base.py |
CredentialStoreBase |
|
93% |
27 |
2 |
0 |
|
100% |
10 |
0 |
|
95% |
| src / local_deep_research / database / credential_store_base.py |
(no class) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager |
|
89% |
270 |
29 |
0 |
|
83% |
66 |
7 |
|
88% |
| src / local_deep_research / database / encrypted_db.py |
(no class) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / initialize.py |
(no class) |
|
92% |
51 |
4 |
0 |
|
93% |
14 |
1 |
|
92% |
| src / local_deep_research / database / library_init.py |
(no class) |
|
100% |
82 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / database / models / __init__.py |
(no class) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / active_research.py |
UserActiveResearch |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / active_research.py |
(no class) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / auth.py |
User |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / auth.py |
(no class) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / base.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / benchmark.py |
BenchmarkStatus |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / benchmark.py |
DatasetType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / benchmark.py |
BenchmarkRun |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / benchmark.py |
BenchmarkResult |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / benchmark.py |
BenchmarkConfig |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / benchmark.py |
BenchmarkProgress |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / benchmark.py |
(no class) |
|
100% |
101 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / cache.py |
Cache |
|
77% |
13 |
3 |
0 |
|
75% |
4 |
1 |
|
76% |
| src / local_deep_research / database / models / cache.py |
SearchCache |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / cache.py |
(no class) |
|
100% |
35 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / download_tracker.py |
DownloadTracker |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / download_tracker.py |
DownloadDuplicates |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / download_tracker.py |
DownloadAttempt |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / download_tracker.py |
(no class) |
|
100% |
42 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / file_integrity.py |
FileIntegrityRecord |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / file_integrity.py |
FileVerificationFailure |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / file_integrity.py |
(no class) |
|
100% |
37 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
RAGIndexStatus |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
DocumentStatus |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
EmbeddingProvider |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
ExtractionMethod |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
ExtractionSource |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
ExtractionQuality |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
DistanceMetric |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
IndexType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
SplitterType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
PDFStorageMode |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
SourceType |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
UploadBatch |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
Document |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
DocumentBlob |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
Collection |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
DocumentCollection |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
DocumentChunk |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
DownloadQueue |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
LibraryStatistics |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
RAGIndex |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
RagDocumentStatus |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
CollectionFolder |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
CollectionFolderFile |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
(no class) |
|
100% |
291 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / logs.py |
ResearchLog |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / logs.py |
Journal |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / logs.py |
(no class) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / metrics.py |
TokenUsage |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / metrics.py |
ModelUsage |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / metrics.py |
ResearchRating |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / metrics.py |
SearchCall |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / metrics.py |
(no class) |
|
100% |
92 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / news.py |
CardType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / news.py |
RatingType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / news.py |
SubscriptionType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / news.py |
SubscriptionStatus |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / news.py |
NewsSubscription |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / news.py |
SubscriptionFolder |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / news.py |
NewsCard |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / news.py |
UserRating |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / news.py |
UserPreference |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / news.py |
NewsInterest |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / news.py |
(no class) |
|
100% |
110 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / providers.py |
ProviderModel |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / providers.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / queue.py |
QueueStatus |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / queue.py |
TaskMetadata |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / queue.py |
(no class) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / queued_research.py |
QueuedResearch |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / queued_research.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / rate_limiting.py |
RateLimitAttempt |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / rate_limiting.py |
RateLimitEstimate |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / rate_limiting.py |
(no class) |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / reports.py |
Report |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / reports.py |
ReportSection |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / reports.py |
(no class) |
|
100% |
51 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / research.py |
ResearchTask |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / research.py |
SearchQuery |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / research.py |
SearchResult |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / research.py |
ResearchMode |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / research.py |
ResearchResource |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / research.py |
ResearchHistory |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / research.py |
Research |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / research.py |
ResearchStrategy |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / research.py |
(no class) |
|
100% |
122 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / settings.py |
UserSettings |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / settings.py |
APIKey |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / settings.py |
SettingType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / settings.py |
Setting |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / settings.py |
(no class) |
|
100% |
52 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / user_base.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / user_news_search_history.py |
UserNewsSearchHistory |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / user_news_search_history.py |
(no class) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / pool_config.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / queue_service.py |
UserQueueService |
|
100% |
59 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| src / local_deep_research / database / queue_service.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / session_context.py |
DatabaseSessionError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / session_context.py |
DatabaseAccessMixin |
|
50% |
2 |
1 |
0 |
|
100% |
0 |
0 |
|
50% |
| src / local_deep_research / database / session_context.py |
(no class) |
|
94% |
109 |
7 |
0 |
|
98% |
46 |
1 |
|
95% |
| src / local_deep_research / database / session_passwords.py |
SessionPasswordStore |
|
100% |
16 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / database / session_passwords.py |
(no class) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / sqlcipher_compat.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / sqlcipher_utils.py |
(no class) |
|
98% |
159 |
3 |
0 |
|
91% |
22 |
2 |
|
97% |
| src / local_deep_research / database / temp_auth.py |
TemporaryAuthStore |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / database / temp_auth.py |
(no class) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / thread_local_session.py |
ThreadLocalSessionManager |
|
95% |
73 |
4 |
0 |
|
96% |
24 |
1 |
|
95% |
| src / local_deep_research / database / thread_local_session.py |
_ThreadCleanup |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / thread_local_session.py |
ThreadSessionContext |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / thread_local_session.py |
(no class) |
|
100% |
44 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / database / thread_metrics.py |
ThreadSafeMetricsWriter |
|
95% |
37 |
2 |
0 |
|
81% |
16 |
1 |
|
91% |
| src / local_deep_research / database / thread_metrics.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / defaults / __init__.py |
(no class) |
|
95% |
19 |
1 |
0 |
|
75% |
8 |
2 |
|
89% |
| src / local_deep_research / document_loaders / __init__.py |
(no class) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / document_loaders / bytes_loader.py |
(no class) |
|
92% |
52 |
4 |
0 |
|
100% |
10 |
0 |
|
94% |
| src / local_deep_research / document_loaders / json_loader.py |
SimpleJSONLoader |
|
100% |
22 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / document_loaders / json_loader.py |
(no class) |
|
100% |
37 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / document_loaders / loader_registry.py |
(no class) |
|
81% |
94 |
18 |
0 |
|
67% |
18 |
6 |
|
79% |
| src / local_deep_research / document_loaders / yaml_loader.py |
YAMLLoader |
|
100% |
20 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / document_loaders / yaml_loader.py |
(no class) |
|
100% |
24 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / domain_classifier / __init__.py |
(no class) |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / domain_classifier / classifier.py |
DomainClassifier |
|
93% |
134 |
10 |
0 |
|
93% |
42 |
3 |
|
93% |
| src / local_deep_research / domain_classifier / classifier.py |
(no class) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / domain_classifier / models.py |
DomainClassification |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / domain_classifier / models.py |
(no class) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / embeddings_config.py |
(no class) |
|
98% |
49 |
1 |
0 |
|
88% |
16 |
2 |
|
95% |
| src / local_deep_research / embeddings / providers / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / base.py |
BaseEmbeddingProvider |
|
67% |
9 |
3 |
0 |
|
100% |
2 |
0 |
|
73% |
| src / local_deep_research / embeddings / providers / base.py |
(no class) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / implementations / __init__.py |
(no class) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / implementations / ollama.py |
OllamaEmbeddingsProvider |
|
94% |
49 |
3 |
0 |
|
100% |
16 |
0 |
|
95% |
| src / local_deep_research / embeddings / providers / implementations / ollama.py |
(no class) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / implementations / openai.py |
OpenAIEmbeddingsProvider |
|
100% |
45 |
0 |
0 |
|
100% |
20 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / implementations / openai.py |
(no class) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / implementations / sentence_transformers.py |
SentenceTransformersProvider |
|
100% |
10 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / implementations / sentence_transformers.py |
(no class) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / splitters / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / splitters / text_splitter_registry.py |
(no class) |
|
100% |
38 |
0 |
0 |
|
94% |
16 |
1 |
|
98% |
| src / local_deep_research / error_handling / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / error_handling / error_reporter.py |
ErrorCategory |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / error_handling / error_reporter.py |
ErrorReporter |
|
88% |
59 |
7 |
0 |
|
83% |
24 |
2 |
|
87% |
| src / local_deep_research / error_handling / error_reporter.py |
(no class) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / error_handling / report_generator.py |
ErrorReportGenerator |
|
100% |
96 |
0 |
0 |
|
94% |
54 |
3 |
|
98% |
| src / local_deep_research / error_handling / report_generator.py |
(no class) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / exceptions.py |
ResearchTerminatedException |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / exceptions.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / exporters / __init__.py |
(no class) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / exporters / base.py |
ExportResult |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / exporters / base.py |
ExportOptions |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / exporters / base.py |
BaseExporter |
|
76% |
17 |
4 |
0 |
|
100% |
10 |
0 |
|
85% |
| src / local_deep_research / exporters / base.py |
(no class) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / exporters / latex_exporter.py |
LaTeXExporter |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / exporters / latex_exporter.py |
(no class) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / exporters / odt_exporter.py |
ODTExporter |
|
95% |
41 |
2 |
0 |
|
83% |
12 |
2 |
|
92% |
| src / local_deep_research / exporters / odt_exporter.py |
(no class) |
|
86% |
22 |
3 |
0 |
|
100% |
0 |
0 |
|
86% |
| src / local_deep_research / exporters / pdf_exporter.py |
PDFExporter |
|
100% |
19 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / exporters / pdf_exporter.py |
(no class) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / exporters / quarto_exporter.py |
QuartoExporter |
|
100% |
28 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / exporters / quarto_exporter.py |
(no class) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / exporters / registry.py |
ExporterRegistry |
|
100% |
18 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / exporters / registry.py |
(no class) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / exporters / ris_exporter.py |
RISExporter |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / exporters / ris_exporter.py |
(no class) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / followup_research / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / followup_research / models.py |
FollowUpRequest |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / followup_research / models.py |
FollowUpResponse |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / followup_research / models.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / followup_research / routes.py |
(no class) |
|
100% |
89 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / followup_research / service.py |
FollowUpResearchService |
|
95% |
41 |
2 |
0 |
|
90% |
10 |
1 |
|
94% |
| src / local_deep_research / followup_research / service.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / __init__.py |
(no class) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / database_init.py |
(no class) |
|
92% |
24 |
2 |
0 |
|
75% |
4 |
1 |
|
89% |
| src / local_deep_research / library / download_management / failure_classifier.py |
BaseFailure |
|
100% |
16 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / library / download_management / failure_classifier.py |
PermanentFailure |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / failure_classifier.py |
TemporaryFailure |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / failure_classifier.py |
RateLimitFailure |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / library / download_management / failure_classifier.py |
FailureClassifier |
|
92% |
36 |
3 |
0 |
|
90% |
30 |
3 |
|
91% |
| src / local_deep_research / library / download_management / failure_classifier.py |
(no class) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / filters / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / filters / resource_filter.py |
ResourceFilter |
|
100% |
21 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / library / download_management / filters / resource_filter.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / models / __init__.py |
Base |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / models / __init__.py |
FailureType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / models / __init__.py |
DownloadStatus |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / models / __init__.py |
ResourceDownloadStatus |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / models / __init__.py |
(no class) |
|
100% |
38 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / retry_manager.py |
RetryDecision |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / retry_manager.py |
ResourceFilterResult |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / retry_manager.py |
FilterSummary |
|
100% |
15 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / library / download_management / retry_manager.py |
RetryManager |
|
100% |
52 |
0 |
0 |
|
94% |
18 |
1 |
|
99% |
| src / local_deep_research / library / download_management / retry_manager.py |
(no class) |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / status_tracker.py |
ResourceStatusTracker |
|
93% |
112 |
8 |
0 |
|
92% |
38 |
3 |
|
93% |
| src / local_deep_research / library / download_management / status_tracker.py |
(no class) |
|
100% |
26 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / llm / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
LLMRegistry |
|
100% |
24 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
(no class) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / auto_discovery.py |
ProviderInfo |
|
100% |
14 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / llm / providers / auto_discovery.py |
ProviderDiscovery |
|
97% |
58 |
2 |
0 |
|
90% |
30 |
3 |
|
94% |
| src / local_deep_research / llm / providers / auto_discovery.py |
(no class) |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / base.py |
BaseLLMProvider |
|
100% |
2 |
0 |
1 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / base.py |
(no class) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / anthropic.py |
AnthropicProvider |
|
90% |
21 |
2 |
0 |
|
100% |
6 |
0 |
|
93% |
| src / local_deep_research / llm / providers / implementations / anthropic.py |
(no class) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / custom_openai_endpoint.py |
CustomOpenAIEndpointProvider |
|
100% |
20 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / custom_openai_endpoint.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / google.py |
GoogleProvider |
|
100% |
26 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / google.py |
(no class) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / ionos.py |
IONOSProvider |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / ionos.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / lmstudio.py |
LMStudioProvider |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / lmstudio.py |
(no class) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / ollama.py |
OllamaProvider |
|
99% |
68 |
1 |
0 |
|
92% |
24 |
2 |
|
97% |
| src / local_deep_research / llm / providers / implementations / ollama.py |
(no class) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / openai.py |
OpenAIProvider |
|
100% |
51 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / openai.py |
(no class) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / openrouter.py |
OpenRouterProvider |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / openrouter.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / xai.py |
XAIProvider |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / xai.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / openai_base.py |
OpenAICompatibleProvider |
|
99% |
95 |
1 |
0 |
|
89% |
36 |
4 |
|
96% |
| src / local_deep_research / llm / providers / openai_base.py |
(no class) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / mcp / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / mcp / __main__.py |
(no class) |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / mcp / client.py |
MCPClientError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / mcp / client.py |
MCPClient |
|
63% |
102 |
38 |
0 |
|
79% |
42 |
3 |
|
67% |
| src / local_deep_research / mcp / client.py |
MCPClientManager |
|
58% |
33 |
14 |
0 |
|
50% |
8 |
2 |
|
56% |
| src / local_deep_research / mcp / client.py |
(no class) |
|
94% |
50 |
3 |
0 |
|
100% |
0 |
0 |
|
94% |
| src / local_deep_research / mcp / server.py |
ValidationError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / mcp / server.py |
(no class) |
|
94% |
284 |
17 |
0 |
|
93% |
98 |
7 |
|
94% |
| src / local_deep_research / metrics / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / database.py |
MetricsDatabase |
|
100% |
20 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / metrics / database.py |
(no class) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / __init__.py |
(no class) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / cost_calculator.py |
CostCalculator |
|
95% |
66 |
3 |
0 |
|
96% |
24 |
1 |
|
96% |
| src / local_deep_research / metrics / pricing / cost_calculator.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache |
|
88% |
17 |
2 |
0 |
|
100% |
0 |
0 |
|
88% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
(no class) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
PricingFetcher |
|
89% |
90 |
10 |
0 |
|
92% |
48 |
4 |
|
90% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
(no class) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / query_utils.py |
(no class) |
|
100% |
25 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| src / local_deep_research / metrics / search_tracker.py |
SearchTracker |
|
98% |
91 |
2 |
0 |
|
96% |
28 |
1 |
|
97% |
| src / local_deep_research / metrics / search_tracker.py |
(no class) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / token_counter.py |
TokenCountingCallback |
|
98% |
186 |
4 |
0 |
|
96% |
96 |
2 |
|
97% |
| src / local_deep_research / metrics / token_counter.py |
TokenCounter |
|
81% |
250 |
47 |
0 |
|
62% |
104 |
23 |
|
76% |
| src / local_deep_research / metrics / token_counter.py |
(no class) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / __init__.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / api.py |
(no class) |
|
89% |
404 |
46 |
0 |
|
84% |
140 |
19 |
|
87% |
| src / local_deep_research / news / core / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / base_card.py |
CardSource |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / base_card.py |
CardVersion |
|
100% |
2 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / core / base_card.py |
BaseCard |
|
95% |
39 |
2 |
0 |
|
100% |
10 |
0 |
|
96% |
| src / local_deep_research / news / core / base_card.py |
NewsCard |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / core / base_card.py |
ResearchCard |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / base_card.py |
UpdateCard |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / base_card.py |
OverviewCard |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / base_card.py |
(no class) |
|
100% |
83 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / card_factory.py |
CardFactory |
|
94% |
95 |
6 |
0 |
|
89% |
38 |
2 |
|
92% |
| src / local_deep_research / news / core / card_factory.py |
(no class) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage |
|
96% |
125 |
5 |
0 |
|
90% |
48 |
5 |
|
94% |
| src / local_deep_research / news / core / card_storage.py |
(no class) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / news_analyzer.py |
NewsAnalyzer |
|
100% |
144 |
0 |
0 |
|
98% |
58 |
1 |
|
99% |
| src / local_deep_research / news / core / news_analyzer.py |
(no class) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / relevance_service.py |
RelevanceService |
|
100% |
40 |
0 |
0 |
|
100% |
28 |
0 |
|
100% |
| src / local_deep_research / news / core / relevance_service.py |
(no class) |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / core / search_integration.py |
NewsSearchCallback |
|
88% |
24 |
3 |
0 |
|
100% |
6 |
0 |
|
90% |
| src / local_deep_research / news / core / search_integration.py |
(no class) |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / storage.py |
BaseStorage |
|
17% |
6 |
5 |
0 |
|
100% |
0 |
0 |
|
17% |
| src / local_deep_research / news / core / storage.py |
CardStorage |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
SubscriptionStorage |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
RatingStorage |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
PreferenceStorage |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
(no class) |
|
100% |
64 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / storage_manager.py |
InteractionType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager |
|
97% |
141 |
4 |
0 |
|
83% |
48 |
8 |
|
94% |
| src / local_deep_research / news / core / storage_manager.py |
(no class) |
|
100% |
43 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / core / utils.py |
(no class) |
|
100% |
35 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
NewsAPIException |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
NewsFeatureDisabledException |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
InvalidLimitException |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
SubscriptionNotFoundException |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
SubscriptionCreationException |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
SubscriptionUpdateException |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
SubscriptionDeletionException |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
DatabaseAccessException |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
NewsFeedGenerationException |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
ResearchProcessingException |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
NotImplementedException |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
InvalidParameterException |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
SchedulerNotificationException |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
(no class) |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / flask_api.py |
(no class) |
|
89% |
674 |
74 |
0 |
|
84% |
140 |
10 |
|
88% |
| src / local_deep_research / news / folder_manager.py |
FolderManager |
|
100% |
67 |
0 |
0 |
|
100% |
26 |
0 |
|
100% |
| src / local_deep_research / news / folder_manager.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / preference_manager / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / preference_manager / base_preference.py |
BasePreferenceManager |
|
94% |
32 |
2 |
0 |
|
100% |
10 |
0 |
|
95% |
| src / local_deep_research / news / preference_manager / base_preference.py |
TopicRegistry |
|
100% |
16 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / news / preference_manager / base_preference.py |
(no class) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / preference_manager / storage.py |
SQLPreferenceStorage |
|
100% |
80 |
0 |
0 |
|
94% |
32 |
2 |
|
98% |
| src / local_deep_research / news / preference_manager / storage.py |
(no class) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / rating_system / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / rating_system / base_rater.py |
RelevanceRating |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / rating_system / base_rater.py |
QualityRating |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / rating_system / base_rater.py |
BaseRatingSystem |
|
79% |
14 |
3 |
0 |
|
100% |
2 |
0 |
|
81% |
| src / local_deep_research / news / rating_system / base_rater.py |
QualityRatingSystem |
|
100% |
13 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / news / rating_system / base_rater.py |
RelevanceRatingSystem |
|
92% |
13 |
1 |
0 |
|
83% |
6 |
1 |
|
89% |
| src / local_deep_research / news / rating_system / base_rater.py |
(no class) |
|
100% |
37 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / rating_system / storage.py |
SQLRatingStorage |
|
97% |
73 |
2 |
0 |
|
94% |
32 |
2 |
|
96% |
| src / local_deep_research / news / rating_system / storage.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / recommender / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / recommender / base_recommender.py |
BaseRecommender |
|
98% |
45 |
1 |
0 |
|
100% |
20 |
0 |
|
98% |
| src / local_deep_research / news / recommender / base_recommender.py |
(no class) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / recommender / topic_based.py |
TopicBasedRecommender |
|
100% |
87 |
0 |
0 |
|
96% |
28 |
1 |
|
99% |
| src / local_deep_research / news / recommender / topic_based.py |
SearchBasedRecommender |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / recommender / topic_based.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / __init__.py |
(no class) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription |
|
93% |
67 |
5 |
0 |
|
81% |
16 |
3 |
|
90% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
(no class) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
SchedulerCredentialStore |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
DocumentSchedulerSettings |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler |
|
98% |
585 |
14 |
0 |
|
94% |
166 |
10 |
|
97% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
(no class) |
|
100% |
75 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
SearchSubscription |
|
100% |
38 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
SearchSubscriptionFactory |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage |
|
98% |
98 |
2 |
0 |
|
91% |
34 |
3 |
|
96% |
| src / local_deep_research / news / subscription_manager / storage.py |
(no class) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscription |
|
100% |
50 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscriptionFactory |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
(no class) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / utils / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / utils / headline_generator.py |
(no class) |
|
100% |
29 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / news / utils / topic_generator.py |
(no class) |
|
100% |
57 |
0 |
0 |
|
100% |
24 |
0 |
|
100% |
| src / local_deep_research / news / web.py |
(no class) |
|
97% |
78 |
2 |
0 |
|
100% |
10 |
0 |
|
98% |
| src / local_deep_research / notifications / __init__.py |
(no class) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / exceptions.py |
NotificationError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / exceptions.py |
ServiceError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / exceptions.py |
SendError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / exceptions.py |
RateLimitError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / exceptions.py |
(no class) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / manager.py |
NotificationManager |
|
100% |
56 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / notifications / manager.py |
RateLimiter |
|
100% |
65 |
0 |
0 |
|
96% |
26 |
1 |
|
99% |
| src / local_deep_research / notifications / manager.py |
(no class) |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / queue_helpers.py |
(no class) |
|
97% |
110 |
3 |
0 |
|
94% |
18 |
1 |
|
97% |
| src / local_deep_research / notifications / service.py |
NotificationService |
|
98% |
62 |
1 |
0 |
|
96% |
26 |
1 |
|
98% |
| src / local_deep_research / notifications / service.py |
(no class) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / templates.py |
EventType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / templates.py |
NotificationTemplate |
|
95% |
62 |
3 |
0 |
|
94% |
18 |
1 |
|
95% |
| src / local_deep_research / notifications / templates.py |
(no class) |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / url_builder.py |
(no class) |
|
100% |
27 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / report_generator.py |
IntegratedReportGenerator |
|
100% |
152 |
0 |
0 |
|
95% |
74 |
4 |
|
98% |
| src / local_deep_research / report_generator.py |
(no class) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / __init__.py |
(no class) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / __init__.py |
(no class) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / routes / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
_ValidationError |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
(no class) |
|
97% |
158 |
5 |
0 |
|
78% |
18 |
2 |
|
95% |
| src / local_deep_research / research_library / deletion / services / __init__.py |
(no class) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / bulk_deletion.py |
BulkDeletionService |
|
93% |
58 |
4 |
0 |
|
86% |
22 |
3 |
|
91% |
| src / local_deep_research / research_library / deletion / services / bulk_deletion.py |
(no class) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / collection_deletion.py |
CollectionDeletionService |
|
94% |
67 |
4 |
0 |
|
92% |
12 |
1 |
|
94% |
| src / local_deep_research / research_library / deletion / services / collection_deletion.py |
(no class) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / document_deletion.py |
DocumentDeletionService |
|
100% |
110 |
0 |
0 |
|
100% |
30 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / document_deletion.py |
(no class) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / utils / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
CascadeHelper |
|
97% |
95 |
3 |
0 |
|
91% |
32 |
1 |
|
95% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
(no class) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / __init__.py |
(no class) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / arxiv.py |
ArxivDownloader |
|
97% |
94 |
3 |
0 |
|
92% |
50 |
4 |
|
95% |
| src / local_deep_research / research_library / downloaders / arxiv.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / base.py |
ContentType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / base.py |
DownloadResult |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / base.py |
BaseDownloader |
|
90% |
97 |
10 |
0 |
|
93% |
28 |
2 |
|
90% |
| src / local_deep_research / research_library / downloaders / base.py |
(no class) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / biorxiv.py |
BioRxivDownloader |
|
98% |
80 |
2 |
0 |
|
100% |
40 |
0 |
|
98% |
| src / local_deep_research / research_library / downloaders / biorxiv.py |
(no class) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / direct_pdf.py |
DirectPDFDownloader |
|
98% |
50 |
1 |
0 |
|
96% |
28 |
1 |
|
97% |
| src / local_deep_research / research_library / downloaders / direct_pdf.py |
(no class) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / extraction / __init__.py |
(no class) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / extraction / base.py |
BaseExtractor |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / extraction / base.py |
(no class) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / extraction / justext_extractor.py |
JustextExtractor |
|
50% |
26 |
13 |
0 |
|
50% |
8 |
2 |
|
50% |
| src / local_deep_research / research_library / downloaders / extraction / justext_extractor.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / extraction / metadata_extractor.py |
(no class) |
|
77% |
154 |
35 |
0 |
|
52% |
92 |
28 |
|
68% |
| src / local_deep_research / research_library / downloaders / extraction / newspaper_extractor.py |
NewspaperExtractor |
|
61% |
18 |
7 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / research_library / downloaders / extraction / newspaper_extractor.py |
(no class) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / extraction / pipeline.py |
(no class) |
|
50% |
202 |
102 |
0 |
|
51% |
76 |
7 |
|
50% |
| src / local_deep_research / research_library / downloaders / extraction / readability_extractor.py |
ReadabilityExtractor |
|
56% |
18 |
8 |
0 |
|
67% |
6 |
2 |
|
58% |
| src / local_deep_research / research_library / downloaders / extraction / readability_extractor.py |
(no class) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / extraction / trafilatura_extractor.py |
TrafilaturaExtractor |
|
61% |
18 |
7 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / research_library / downloaders / extraction / trafilatura_extractor.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / generic.py |
GenericDownloader |
|
93% |
76 |
5 |
0 |
|
94% |
36 |
2 |
|
94% |
| src / local_deep_research / research_library / downloaders / generic.py |
(no class) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / html.py |
HTMLDownloader |
|
92% |
106 |
8 |
0 |
|
98% |
40 |
1 |
|
94% |
| src / local_deep_research / research_library / downloaders / html.py |
(no class) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / openalex.py |
OpenAlexDownloader |
|
97% |
75 |
2 |
0 |
|
96% |
26 |
1 |
|
97% |
| src / local_deep_research / research_library / downloaders / openalex.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / playwright_html.py |
PlaywrightHTMLDownloader |
|
9% |
94 |
86 |
0 |
|
12% |
16 |
2 |
|
9% |
| src / local_deep_research / research_library / downloaders / playwright_html.py |
AutoHTMLDownloader |
|
60% |
65 |
26 |
0 |
|
45% |
22 |
4 |
|
56% |
| src / local_deep_research / research_library / downloaders / playwright_html.py |
(no class) |
|
70% |
33 |
10 |
0 |
|
0% |
2 |
0 |
|
66% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader |
|
98% |
246 |
6 |
0 |
|
92% |
130 |
9 |
|
95% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
(no class) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / semantic_scholar.py |
SemanticScholarDownloader |
|
97% |
58 |
2 |
0 |
|
85% |
20 |
3 |
|
94% |
| src / local_deep_research / research_library / downloaders / semantic_scholar.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / routes / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / routes / library_routes.py |
(no class) |
|
95% |
549 |
25 |
0 |
|
86% |
110 |
11 |
|
94% |
| src / local_deep_research / research_library / routes / rag_routes.py |
(no class) |
|
87% |
987 |
133 |
0 |
|
80% |
242 |
19 |
|
85% |
| src / local_deep_research / research_library / search / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / search / routes / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / search / routes / search_routes.py |
(no class) |
|
94% |
173 |
10 |
0 |
|
80% |
40 |
8 |
|
92% |
| src / local_deep_research / research_library / search / services / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / search / services / research_history_indexer.py |
ResearchHistoryIndexer |
|
100% |
79 |
0 |
0 |
|
96% |
28 |
1 |
|
99% |
| src / local_deep_research / research_library / search / services / research_history_indexer.py |
(no class) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService |
|
98% |
644 |
14 |
0 |
|
88% |
224 |
28 |
|
95% |
| src / local_deep_research / research_library / services / download_service.py |
(no class) |
|
100% |
61 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService |
|
97% |
417 |
13 |
0 |
|
89% |
134 |
13 |
|
95% |
| src / local_deep_research / research_library / services / library_rag_service.py |
(no class) |
|
100% |
40 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService |
|
88% |
309 |
38 |
0 |
|
79% |
120 |
11 |
|
85% |
| src / local_deep_research / research_library / services / library_service.py |
(no class) |
|
100% |
44 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
PDFStorageManager |
|
91% |
158 |
14 |
0 |
|
93% |
60 |
4 |
|
92% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
(no class) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / rag_service_factory.py |
(no class) |
|
100% |
43 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src / local_deep_research / research_library / utils / __init__.py |
(no class) |
|
92% |
107 |
9 |
0 |
|
85% |
34 |
5 |
|
90% |
| src / local_deep_research / research_scheduler / document_scheduler.py |
DocumentSchedulerUtil |
|
100% |
16 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_scheduler / document_scheduler.py |
(no class) |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_scheduler / routes.py |
(no class) |
|
94% |
35 |
2 |
0 |
|
67% |
6 |
2 |
|
90% |
| src / local_deep_research / search_system.py |
AdvancedSearchSystem |
|
97% |
86 |
3 |
0 |
|
88% |
32 |
2 |
|
94% |
| src / local_deep_research / search_system.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / search_system_factory.py |
(no class) |
|
96% |
152 |
6 |
0 |
|
94% |
86 |
5 |
|
95% |
| src / local_deep_research / security / __init__.py |
(no class) |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / account_lockout.py |
AccountLockoutManager |
|
100% |
40 |
0 |
0 |
|
100% |
20 |
0 |
|
100% |
| src / local_deep_research / security / account_lockout.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
75% |
4 |
1 |
|
96% |
| src / local_deep_research / security / data_sanitizer.py |
DataSanitizer |
|
100% |
16 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src / local_deep_research / security / data_sanitizer.py |
(no class) |
|
100% |
32 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / security / decorators.py |
(no class) |
|
100% |
16 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / security / file_integrity / __init__.py |
(no class) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_integrity / base_verifier.py |
FileType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_integrity / base_verifier.py |
BaseFileVerifier |
|
67% |
9 |
3 |
0 |
|
100% |
2 |
0 |
|
73% |
| src / local_deep_research / security / file_integrity / base_verifier.py |
(no class) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager |
|
100% |
168 |
0 |
0 |
|
98% |
66 |
1 |
|
99% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
(no class) |
|
91% |
32 |
3 |
0 |
|
100% |
0 |
0 |
|
91% |
| src / local_deep_research / security / file_integrity / verifiers / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_integrity / verifiers / faiss_verifier.py |
FAISSIndexVerifier |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_integrity / verifiers / faiss_verifier.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_upload_validator.py |
FileUploadValidator |
|
100% |
43 |
0 |
0 |
|
100% |
24 |
0 |
|
100% |
| src / local_deep_research / security / file_upload_validator.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_write_verifier.py |
FileWriteSecurityError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_write_verifier.py |
(no class) |
|
100% |
41 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| src / local_deep_research / security / filename_sanitizer.py |
UnsafeFilenameError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / filename_sanitizer.py |
(no class) |
|
100% |
25 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src / local_deep_research / security / ip_ranges.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / log_sanitizer.py |
(no class) |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / security / module_whitelist.py |
SecurityError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / module_whitelist.py |
(no class) |
|
100% |
41 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src / local_deep_research / security / network_utils.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / security / notification_validator.py |
NotificationURLValidationError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / notification_validator.py |
NotificationURLValidator |
|
93% |
44 |
3 |
0 |
|
96% |
26 |
1 |
|
94% |
| src / local_deep_research / security / notification_validator.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / password_validator.py |
PasswordValidator |
|
100% |
9 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / security / password_validator.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / path_validator.py |
PathValidator |
|
96% |
118 |
5 |
0 |
|
100% |
78 |
0 |
|
97% |
| src / local_deep_research / security / path_validator.py |
(no class) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / rate_limiter.py |
(no class) |
|
100% |
63 |
0 |
0 |
|
94% |
16 |
1 |
|
99% |
| src / local_deep_research / security / safe_requests.py |
SafeSession |
|
100% |
15 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / security / safe_requests.py |
(no class) |
|
99% |
135 |
2 |
0 |
|
96% |
48 |
2 |
|
98% |
| src / local_deep_research / security / security_headers.py |
SecurityHeaders |
|
100% |
70 |
0 |
0 |
|
96% |
26 |
1 |
|
99% |
| src / local_deep_research / security / security_headers.py |
(no class) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / security_settings.py |
(no class) |
|
93% |
56 |
4 |
0 |
|
91% |
22 |
2 |
|
92% |
| src / local_deep_research / security / ssrf_validator.py |
(no class) |
|
92% |
73 |
6 |
0 |
|
100% |
30 |
0 |
|
94% |
| src / local_deep_research / security / url_builder.py |
URLBuilderError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / url_builder.py |
(no class) |
|
94% |
66 |
4 |
0 |
|
100% |
24 |
0 |
|
96% |
| src / local_deep_research / security / url_validator.py |
URLValidationError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / url_validator.py |
URLValidator |
|
90% |
132 |
13 |
0 |
|
98% |
82 |
2 |
|
93% |
| src / local_deep_research / security / url_validator.py |
(no class) |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / base.py |
ISettingsManager |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / base.py |
(no class) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_definitions / __init__.py |
(no class) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_definitions / bootstrap.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_definitions / db_config.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_definitions / news_scheduler.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_definitions / security.py |
(no class) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_definitions / server.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_definitions / testing.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_registry.py |
(no class) |
|
100% |
29 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
EnvSetting |
|
96% |
24 |
1 |
0 |
|
100% |
10 |
0 |
|
97% |
| src / local_deep_research / settings / env_settings.py |
BooleanSetting |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
StringSetting |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
IntegerSetting |
|
100% |
13 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
PathSetting |
|
88% |
17 |
2 |
0 |
|
100% |
6 |
0 |
|
91% |
| src / local_deep_research / settings / env_settings.py |
SecretSetting |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
EnumSetting |
|
100% |
14 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
SettingsRegistry |
|
100% |
30 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
(no class) |
|
100% |
47 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / logger.py |
(no class) |
|
96% |
54 |
2 |
0 |
|
89% |
28 |
3 |
|
94% |
| src / local_deep_research / settings / manager.py |
SettingsManager |
|
89% |
341 |
36 |
0 |
|
89% |
154 |
15 |
|
89% |
| src / local_deep_research / settings / manager.py |
SnapshotSettingsContext |
|
100% |
12 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / settings / manager.py |
(no class) |
|
100% |
138 |
0 |
0 |
|
98% |
42 |
1 |
|
99% |
| src / local_deep_research / storage / __init__.py |
(no class) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / base.py |
ReportStorage |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / storage / base.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / database.py |
DatabaseReportStorage |
|
95% |
58 |
3 |
0 |
|
100% |
12 |
0 |
|
96% |
| src / local_deep_research / storage / database.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / database_with_file_backup.py |
DatabaseWithFileBackupStorage |
|
100% |
26 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / storage / database_with_file_backup.py |
(no class) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / factory.py |
(no class) |
|
100% |
16 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / storage / file.py |
FileReportStorage |
|
96% |
73 |
3 |
0 |
|
100% |
16 |
0 |
|
97% |
| src / local_deep_research / storage / file.py |
(no class) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationMode |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter |
|
99% |
134 |
2 |
0 |
|
94% |
52 |
3 |
|
97% |
| src / local_deep_research / text_optimization / citation_formatter.py |
QuartoExporter |
|
100% |
39 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
RISExporter |
|
98% |
110 |
2 |
0 |
|
93% |
54 |
4 |
|
96% |
| src / local_deep_research / text_optimization / citation_formatter.py |
LaTeXExporter |
|
100% |
68 |
0 |
0 |
|
100% |
32 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
(no class) |
|
100% |
47 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / text_processing / __init__.py |
(no class) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_processing / text_cleaner.py |
(no class) |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / db_utils.py |
(no class) |
|
88% |
99 |
12 |
0 |
|
79% |
34 |
3 |
|
86% |
| src / local_deep_research / utilities / enums.py |
KnowledgeAccumulationApproach |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / enums.py |
SearchMode |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / enums.py |
(no class) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / es_utils.py |
ElasticsearchManager |
|
96% |
111 |
4 |
0 |
|
93% |
30 |
2 |
|
96% |
| src / local_deep_research / utilities / es_utils.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / formatting.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / utilities / json_utils.py |
(no class) |
|
100% |
81 |
0 |
0 |
|
90% |
42 |
4 |
|
97% |
| src / local_deep_research / utilities / llm_utils.py |
(no class) |
|
89% |
116 |
13 |
0 |
|
100% |
40 |
0 |
|
92% |
| src / local_deep_research / utilities / log_utils.py |
InterceptHandler |
|
100% |
14 |
0 |
0 |
|
75% |
4 |
1 |
|
94% |
| src / local_deep_research / utilities / log_utils.py |
(no class) |
|
96% |
117 |
5 |
0 |
|
96% |
24 |
1 |
|
96% |
| src / local_deep_research / utilities / resource_utils.py |
(no class) |
|
100% |
14 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / utilities / search_cache.py |
SearchCache |
|
98% |
200 |
3 |
0 |
|
90% |
42 |
4 |
|
97% |
| src / local_deep_research / utilities / search_cache.py |
(no class) |
|
100% |
47 |
0 |
0 |
|
83% |
6 |
1 |
|
98% |
| src / local_deep_research / utilities / search_utilities.py |
(no class) |
|
97% |
136 |
4 |
0 |
|
100% |
56 |
0 |
|
98% |
| src / local_deep_research / utilities / setup_utils.py |
(no class) |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / utilities / thread_context.py |
(no class) |
|
100% |
41 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / utilities / threading_utils.py |
(no class) |
|
100% |
42 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / utilities / type_utils.py |
(no class) |
|
100% |
9 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / utilities / url_utils.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / web / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / api.py |
(no class) |
|
96% |
163 |
6 |
0 |
|
91% |
32 |
3 |
|
95% |
| src / local_deep_research / web / app.py |
(no class) |
|
98% |
59 |
1 |
0 |
|
88% |
8 |
1 |
|
97% |
| src / local_deep_research / web / app_factory.py |
DiskSpoolingRequest |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / app_factory.py |
create_app.SecureCookieMiddleware |
|
100% |
20 |
0 |
0 |
|
90% |
10 |
1 |
|
97% |
| src / local_deep_research / web / app_factory.py |
create_app.ServerHeaderMiddleware |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / app_factory.py |
(no class) |
|
89% |
411 |
45 |
0 |
|
72% |
50 |
8 |
|
87% |
| src / local_deep_research / web / auth / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / cleanup_middleware.py |
(no class) |
|
95% |
41 |
2 |
0 |
|
100% |
14 |
0 |
|
96% |
| src / local_deep_research / web / auth / connection_cleanup.py |
(no class) |
|
68% |
94 |
30 |
0 |
|
54% |
24 |
5 |
|
65% |
| src / local_deep_research / web / auth / database_middleware.py |
(no class) |
|
100% |
43 |
0 |
0 |
|
92% |
26 |
2 |
|
97% |
| src / local_deep_research / web / auth / decorators.py |
(no class) |
|
100% |
46 |
0 |
0 |
|
100% |
18 |
0 |
|
100% |
| src / local_deep_research / web / auth / middleware_optimizer.py |
(no class) |
|
100% |
25 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src / local_deep_research / web / auth / password_utils.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / web / auth / queue_middleware.py |
(no class) |
|
92% |
26 |
2 |
0 |
|
100% |
10 |
0 |
|
94% |
| src / local_deep_research / web / auth / queue_middleware_v2.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / web / auth / routes.py |
(no class) |
|
90% |
317 |
32 |
0 |
|
85% |
80 |
12 |
|
89% |
| src / local_deep_research / web / auth / session_cleanup.py |
(no class) |
|
100% |
20 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / web / auth / session_manager.py |
SessionManager |
|
100% |
68 |
0 |
0 |
|
100% |
28 |
0 |
|
100% |
| src / local_deep_research / web / auth / session_manager.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / database / benchmark_schema.py |
BenchmarkStatus |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / database / benchmark_schema.py |
DatasetType |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / database / benchmark_schema.py |
(no class) |
|
100% |
30 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / web / exceptions.py |
WebAPIException |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / exceptions.py |
AuthenticationRequiredError |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / exceptions.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / models / database.py |
(no class) |
|
100% |
79 |
0 |
0 |
|
86% |
14 |
2 |
|
98% |
| src / local_deep_research / web / models / settings.py |
BaseSetting |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / models / settings.py |
LLMSetting |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / models / settings.py |
SearchSetting |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / models / settings.py |
ReportSetting |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / models / settings.py |
AppSetting |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / models / settings.py |
SettingsGroup |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / models / settings.py |
(no class) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / queue / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / queue / manager.py |
QueueManager |
|
100% |
43 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / web / queue / manager.py |
(no class) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2 |
|
96% |
261 |
10 |
0 |
|
88% |
68 |
8 |
|
95% |
| src / local_deep_research / web / queue / processor_v2.py |
(no class) |
|
100% |
34 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / api_routes.py |
(no class) |
|
99% |
205 |
3 |
0 |
|
91% |
34 |
1 |
|
97% |
| src / local_deep_research / web / routes / context_overflow_api.py |
(no class) |
|
100% |
116 |
0 |
0 |
|
97% |
38 |
1 |
|
99% |
| src / local_deep_research / web / routes / globals.py |
(no class) |
|
100% |
94 |
0 |
0 |
|
100% |
24 |
0 |
|
100% |
| src / local_deep_research / web / routes / history_routes.py |
(no class) |
|
100% |
170 |
0 |
0 |
|
100% |
26 |
0 |
|
100% |
| src / local_deep_research / web / routes / metrics_routes.py |
(no class) |
|
99% |
696 |
6 |
0 |
|
94% |
180 |
11 |
|
98% |
| src / local_deep_research / web / routes / news_routes.py |
(no class) |
|
100% |
129 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web / routes / research_routes.py |
(no class) |
|
94% |
664 |
40 |
0 |
|
92% |
168 |
12 |
|
94% |
| src / local_deep_research / web / routes / route_registry.py |
(no class) |
|
88% |
32 |
4 |
0 |
|
72% |
18 |
1 |
|
82% |
| src / local_deep_research / web / routes / settings_routes.py |
(no class) |
|
85% |
932 |
140 |
0 |
|
85% |
320 |
21 |
|
85% |
| src / local_deep_research / web / server_config.py |
(no class) |
|
100% |
72 |
0 |
0 |
|
100% |
34 |
0 |
|
100% |
| src / local_deep_research / web / services / pdf_extraction_service.py |
PDFExtractionService |
|
94% |
34 |
2 |
0 |
|
100% |
10 |
0 |
|
95% |
| src / local_deep_research / web / services / pdf_extraction_service.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / pdf_service.py |
PDFService |
|
100% |
31 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / web / services / pdf_service.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / research_service.py |
(no class) |
|
86% |
669 |
92 |
0 |
|
84% |
194 |
24 |
|
86% |
| src / local_deep_research / web / services / research_sources_service.py |
ResearchSourcesService |
|
100% |
59 |
0 |
0 |
|
88% |
16 |
2 |
|
97% |
| src / local_deep_research / web / services / research_sources_service.py |
(no class) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / resource_service.py |
(no class) |
|
100% |
40 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web / services / settings_service.py |
(no class) |
|
83% |
30 |
5 |
0 |
|
50% |
2 |
1 |
|
81% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService |
|
96% |
125 |
5 |
0 |
|
98% |
46 |
1 |
|
96% |
| src / local_deep_research / web / services / socket_service.py |
(no class) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / themes / __init__.py |
ThemeRegistry |
|
100% |
47 |
0 |
0 |
|
91% |
22 |
2 |
|
97% |
| src / local_deep_research / web / themes / __init__.py |
(no class) |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / themes / loader.py |
ThemeLoader |
|
93% |
58 |
4 |
0 |
|
79% |
24 |
3 |
|
89% |
| src / local_deep_research / web / themes / loader.py |
(no class) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / themes / schema.py |
ThemeMetadata |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / themes / schema.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / utils / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / utils / formatters.py |
(no class) |
|
100% |
23 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web / utils / route_decorators.py |
(no class) |
|
100% |
21 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / utils / templates.py |
(no class) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / utils / theme_helper.py |
ThemeHelper |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / utils / theme_helper.py |
(no class) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / utils / vite_helper.py |
ViteHelper |
|
100% |
35 |
0 |
0 |
|
100% |
18 |
0 |
|
100% |
| src / local_deep_research / web / utils / vite_helper.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / warning_checks / __init__.py |
(no class) |
|
89% |
80 |
9 |
0 |
|
83% |
24 |
4 |
|
88% |
| src / local_deep_research / web / warning_checks / backup.py |
(no class) |
|
100% |
23 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src / local_deep_research / web / warning_checks / context.py |
(no class) |
|
100% |
21 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / web / warning_checks / hardware.py |
(no class) |
|
100% |
29 |
0 |
0 |
|
100% |
20 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / default_search_engines.py |
(no class) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engine_registry.py |
EngineEntry |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engine_registry.py |
(no class) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / __init__.py |
(no class) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / full_search.py |
_Invokable |
|
100% |
1 |
0 |
0 |
|
50% |
2 |
1 |
|
67% |
| src / local_deep_research / web_search_engines / engines / full_search.py |
FullSearchResults |
|
100% |
76 |
0 |
0 |
|
100% |
36 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / full_search.py |
(no class) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / local_embedding_manager.py |
LocalEmbeddingManager |
|
99% |
85 |
1 |
0 |
|
95% |
22 |
1 |
|
98% |
| src / local_deep_research / web_search_engines / engines / local_embedding_manager.py |
(no class) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / meta_search_engine.py |
MetaSearchEngine |
|
79% |
145 |
30 |
0 |
|
68% |
62 |
2 |
|
76% |
| src / local_deep_research / web_search_engines / engines / meta_search_engine.py |
(no class) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
ParallelSearchEngine |
|
96% |
212 |
9 |
0 |
|
92% |
96 |
8 |
|
94% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
(no class) |
|
100% |
51 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_arxiv.py |
ArXivSearchEngine |
|
98% |
136 |
3 |
0 |
|
97% |
38 |
1 |
|
98% |
| src / local_deep_research / web_search_engines / engines / search_engine_arxiv.py |
(no class) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_brave.py |
BraveSearchEngine |
|
97% |
32 |
1 |
0 |
|
100% |
6 |
0 |
|
97% |
| src / local_deep_research / web_search_engines / engines / search_engine_brave.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_collection.py |
CollectionSearchEngine |
|
97% |
75 |
2 |
0 |
|
95% |
20 |
1 |
|
97% |
| src / local_deep_research / web_search_engines / engines / search_engine_collection.py |
(no class) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_ddg.py |
DuckDuckGoSearchEngine |
|
100% |
29 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_ddg.py |
(no class) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_elasticsearch.py |
ElasticsearchSearchEngine |
|
97% |
105 |
3 |
0 |
|
100% |
34 |
0 |
|
98% |
| src / local_deep_research / web_search_engines / engines / search_engine_elasticsearch.py |
(no class) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_exa.py |
ExaSearchEngine |
|
97% |
69 |
2 |
0 |
|
93% |
28 |
2 |
|
96% |
| src / local_deep_research / web_search_engines / engines / search_engine_exa.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine |
|
100% |
294 |
0 |
0 |
|
98% |
110 |
2 |
|
99% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
(no class) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_google_pse.py |
GooglePSESearchEngine |
|
99% |
111 |
1 |
0 |
|
94% |
34 |
2 |
|
98% |
| src / local_deep_research / web_search_engines / engines / search_engine_google_pse.py |
(no class) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
GuardianSearchEngine |
|
96% |
221 |
8 |
0 |
|
89% |
76 |
6 |
|
95% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
(no class) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_gutenberg.py |
GutenbergSearchEngine |
|
93% |
182 |
12 |
0 |
|
84% |
80 |
11 |
|
90% |
| src / local_deep_research / web_search_engines / engines / search_engine_gutenberg.py |
(no class) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_library.py |
LibraryRAGSearchEngine |
|
93% |
107 |
7 |
0 |
|
87% |
38 |
3 |
|
92% |
| src / local_deep_research / web_search_engines / engines / search_engine_library.py |
(no class) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_mojeek.py |
MojeekSearchEngine |
|
96% |
69 |
3 |
0 |
|
92% |
26 |
2 |
|
95% |
| src / local_deep_research / web_search_engines / engines / search_engine_mojeek.py |
(no class) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_nasa_ads.py |
NasaAdsSearchEngine |
|
89% |
115 |
13 |
0 |
|
86% |
44 |
6 |
|
88% |
| src / local_deep_research / web_search_engines / engines / search_engine_nasa_ads.py |
(no class) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_openalex.py |
OpenAlexSearchEngine |
|
98% |
141 |
3 |
0 |
|
95% |
58 |
3 |
|
97% |
| src / local_deep_research / web_search_engines / engines / search_engine_openalex.py |
(no class) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_openlibrary.py |
OpenLibrarySearchEngine |
|
91% |
190 |
18 |
0 |
|
83% |
90 |
15 |
|
88% |
| src / local_deep_research / web_search_engines / engines / search_engine_openlibrary.py |
(no class) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
PaperlessSearchEngine |
|
92% |
276 |
22 |
0 |
|
82% |
100 |
16 |
|
89% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
(no class) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubchem.py |
PubChemSearchEngine |
|
94% |
226 |
13 |
0 |
|
72% |
80 |
18 |
|
89% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubchem.py |
(no class) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine |
|
97% |
674 |
21 |
0 |
|
83% |
354 |
60 |
|
92% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
(no class) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_retriever.py |
RetrieverSearchEngine |
|
100% |
45 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_retriever.py |
(no class) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_scaleserp.py |
ScaleSerpSearchEngine |
|
96% |
78 |
3 |
0 |
|
88% |
24 |
3 |
|
94% |
| src / local_deep_research / web_search_engines / engines / search_engine_scaleserp.py |
(no class) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
SafeSearchSetting |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
SearXNGSearchEngine |
|
95% |
189 |
9 |
0 |
|
92% |
72 |
6 |
|
94% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
(no class) |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
SemanticScholarSearchEngine |
|
99% |
235 |
3 |
0 |
|
94% |
96 |
6 |
|
97% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
(no class) |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_serpapi.py |
SerpAPISearchEngine |
|
100% |
23 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_serpapi.py |
(no class) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_serper.py |
SerperSearchEngine |
|
100% |
72 |
0 |
0 |
|
95% |
22 |
1 |
|
99% |
| src / local_deep_research / web_search_engines / engines / search_engine_serper.py |
(no class) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_stackexchange.py |
StackExchangeSearchEngine |
|
95% |
199 |
9 |
0 |
|
89% |
56 |
6 |
|
94% |
| src / local_deep_research / web_search_engines / engines / search_engine_stackexchange.py |
(no class) |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_tavily.py |
TavilySearchEngine |
|
100% |
47 |
0 |
0 |
|
93% |
14 |
1 |
|
98% |
| src / local_deep_research / web_search_engines / engines / search_engine_tavily.py |
TavilySearchEngine.__init__.TavilyWrapper |
|
50% |
2 |
1 |
0 |
|
100% |
0 |
0 |
|
50% |
| src / local_deep_research / web_search_engines / engines / search_engine_tavily.py |
(no class) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
WaybackSearchEngine |
|
96% |
176 |
7 |
0 |
|
94% |
54 |
3 |
|
96% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
(no class) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikinews.py |
WikinewsSearchEngine |
|
97% |
122 |
4 |
0 |
|
84% |
38 |
6 |
|
94% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikinews.py |
(no class) |
|
100% |
37 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikipedia.py |
WikipediaSearchEngine |
|
97% |
100 |
3 |
0 |
|
91% |
22 |
2 |
|
96% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikipedia.py |
(no class) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_zenodo.py |
ZenodoSearchEngine |
|
98% |
144 |
3 |
0 |
|
92% |
52 |
4 |
|
96% |
| src / local_deep_research / web_search_engines / engines / search_engine_zenodo.py |
(no class) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / __main__.py |
(no class) |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / rate_limiting / exceptions.py |
RateLimitError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / exceptions.py |
AdaptiveRetryError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / exceptions.py |
RateLimitConfigError |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / exceptions.py |
(no class) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / __init__.py |
(no class) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / detection.py |
(no class) |
|
91% |
43 |
4 |
0 |
|
96% |
24 |
1 |
|
93% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
AdaptiveLLMWait |
|
100% |
12 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
create_rate_limited_llm_wrapper.RateLimitedLLMWrapper |
|
89% |
63 |
7 |
0 |
|
92% |
24 |
2 |
|
90% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
(no class) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker |
|
97% |
292 |
9 |
0 |
|
95% |
108 |
5 |
|
96% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
(no class) |
|
100% |
37 |
0 |
2 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / relevance_filter.py |
(no class) |
|
96% |
97 |
4 |
0 |
|
92% |
38 |
3 |
|
95% |
| src / local_deep_research / web_search_engines / retriever_registry.py |
RetrieverRegistry |
|
100% |
23 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / retriever_registry.py |
(no class) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
AdaptiveWait |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine |
|
97% |
255 |
8 |
0 |
|
98% |
122 |
3 |
|
97% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
(no class) |
|
100% |
65 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_factory.py |
(no class) |
|
98% |
194 |
3 |
0 |
|
87% |
116 |
13 |
|
94% |
| src / local_deep_research / web_search_engines / search_engines_config.py |
(no class) |
|
99% |
113 |
1 |
0 |
|
98% |
54 |
1 |
|
99% |