| src/local_deep_research/__init__.py |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/__version__.py |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/__init__.py |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/candidate_exploration/__init__.py |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/candidate_exploration/adaptive_explorer.py |
|
100% |
129 |
0 |
0 |
|
100% |
38 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/candidate_exploration/base_explorer.py |
|
98% |
130 |
2 |
0 |
|
95% |
42 |
2 |
|
98% |
| src/local_deep_research/advanced_search_system/candidate_exploration/constraint_guided_explorer.py |
|
99% |
140 |
1 |
0 |
|
95% |
60 |
3 |
|
98% |
| src/local_deep_research/advanced_search_system/candidate_exploration/diversity_explorer.py |
|
94% |
185 |
11 |
0 |
|
84% |
88 |
6 |
|
91% |
| src/local_deep_research/advanced_search_system/candidate_exploration/parallel_explorer.py |
|
100% |
90 |
0 |
0 |
|
96% |
24 |
1 |
|
99% |
| src/local_deep_research/advanced_search_system/candidate_exploration/progressive_explorer.py |
|
100% |
119 |
0 |
0 |
|
97% |
64 |
2 |
|
99% |
| src/local_deep_research/advanced_search_system/candidates/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/candidates/base_candidate.py |
|
100% |
36 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/constraint_checking/__init__.py |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/constraint_checking/base_constraint_checker.py |
|
94% |
31 |
2 |
0 |
|
100% |
4 |
0 |
|
94% |
| src/local_deep_research/advanced_search_system/constraint_checking/constraint_checker.py |
|
100% |
55 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/constraint_checking/dual_confidence_checker.py |
|
91% |
116 |
10 |
0 |
|
85% |
34 |
5 |
|
90% |
| src/local_deep_research/advanced_search_system/constraint_checking/evidence_analyzer.py |
|
91% |
56 |
5 |
0 |
|
88% |
8 |
1 |
|
91% |
| src/local_deep_research/advanced_search_system/constraint_checking/rejection_engine.py |
|
100% |
30 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/constraint_checking/strict_checker.py |
|
94% |
80 |
5 |
0 |
|
93% |
28 |
2 |
|
94% |
| src/local_deep_research/advanced_search_system/constraint_checking/threshold_checker.py |
|
100% |
59 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/constraints/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/constraints/base_constraint.py |
|
100% |
33 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/constraints/constraint_analyzer.py |
|
100% |
46 |
0 |
0 |
|
100% |
18 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/evidence/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/evidence/base_evidence.py |
|
100% |
27 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/evidence/evaluator.py |
|
100% |
50 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/filters/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/filters/base_filter.py |
|
89% |
9 |
1 |
0 |
|
100% |
0 |
0 |
|
89% |
| src/local_deep_research/advanced_search_system/filters/cross_engine_filter.py |
|
98% |
88 |
2 |
0 |
|
100% |
38 |
0 |
|
98% |
| src/local_deep_research/advanced_search_system/filters/followup_relevance_filter.py |
|
100% |
47 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/filters/journal_reputation_filter.py |
|
73% |
444 |
122 |
0 |
|
64% |
148 |
23 |
|
70% |
| src/local_deep_research/advanced_search_system/findings/base_findings.py |
|
79% |
19 |
4 |
0 |
|
100% |
0 |
0 |
|
79% |
| src/local_deep_research/advanced_search_system/findings/repository.py |
|
94% |
186 |
12 |
0 |
|
94% |
68 |
4 |
|
94% |
| src/local_deep_research/advanced_search_system/findings/topic.py |
|
100% |
93 |
0 |
0 |
|
88% |
52 |
6 |
|
96% |
| src/local_deep_research/advanced_search_system/knowledge/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/knowledge/base_knowledge.py |
|
86% |
37 |
5 |
0 |
|
100% |
6 |
0 |
|
88% |
| src/local_deep_research/advanced_search_system/knowledge/followup_context_manager.py |
|
98% |
109 |
2 |
0 |
|
96% |
46 |
2 |
|
97% |
| src/local_deep_research/advanced_search_system/knowledge/standard_knowledge.py |
|
100% |
42 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/questions/__init__.py |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/questions/atomic_fact_question.py |
|
100% |
44 |
0 |
0 |
|
100% |
24 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/questions/base_question.py |
|
93% |
14 |
1 |
0 |
|
100% |
4 |
0 |
|
94% |
| src/local_deep_research/advanced_search_system/questions/browsecomp_question.py |
|
98% |
151 |
3 |
0 |
|
92% |
106 |
9 |
|
95% |
| src/local_deep_research/advanced_search_system/questions/decomposition_question.py |
|
96% |
133 |
5 |
0 |
|
88% |
88 |
11 |
|
93% |
| src/local_deep_research/advanced_search_system/questions/flexible_browsecomp_question.py |
|
100% |
26 |
0 |
0 |
|
93% |
14 |
1 |
|
98% |
| src/local_deep_research/advanced_search_system/questions/followup/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/questions/followup/base_followup_question.py |
|
93% |
14 |
1 |
0 |
|
100% |
0 |
0 |
|
93% |
| src/local_deep_research/advanced_search_system/questions/followup/llm_followup_question.py |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/questions/followup/simple_followup_question.py |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/questions/news_question.py |
|
100% |
13 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/questions/standard_question.py |
|
100% |
41 |
0 |
0 |
|
92% |
12 |
1 |
|
98% |
| src/local_deep_research/advanced_search_system/repositories/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/summarization/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/summarization/base.py |
|
100% |
27 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/summarization/focused.py |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/tools/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/advanced_search_system/tools/base_tool.py |
|
97% |
36 |
1 |
0 |
|
92% |
12 |
1 |
|
96% |
| src/local_deep_research/advanced_search_system/tools/fetch/__init__.py |
|
89% |
88 |
10 |
0 |
|
96% |
24 |
1 |
|
90% |
| src/local_deep_research/advanced_search_system/tools/fetch/prompts.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/api/__init__.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/api/benchmark_functions.py |
|
100% |
79 |
0 |
0 |
|
100% |
28 |
0 |
|
100% |
| src/local_deep_research/api/client.py |
|
97% |
131 |
4 |
0 |
|
92% |
50 |
4 |
|
96% |
| src/local_deep_research/api/research_functions.py |
|
95% |
230 |
11 |
0 |
|
88% |
96 |
12 |
|
93% |
| src/local_deep_research/api/settings_utils.py |
|
94% |
152 |
9 |
0 |
|
92% |
76 |
6 |
|
93% |
| src/local_deep_research/benchmarks/__init__.py |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/benchmarks/benchmark_functions.py |
|
98% |
131 |
3 |
0 |
|
91% |
76 |
7 |
|
95% |
| src/local_deep_research/benchmarks/comparison/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/benchmarks/comparison/evaluator.py |
|
91% |
304 |
28 |
0 |
|
82% |
82 |
5 |
|
89% |
| src/local_deep_research/benchmarks/comparison/results.py |
|
100% |
28 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/benchmarks/datasets.py |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src/local_deep_research/benchmarks/datasets/__init__.py |
|
83% |
12 |
2 |
0 |
|
100% |
0 |
0 |
|
83% |
| src/local_deep_research/benchmarks/datasets/base.py |
|
91% |
101 |
9 |
0 |
|
95% |
22 |
1 |
|
92% |
| src/local_deep_research/benchmarks/datasets/browsecomp.py |
|
96% |
51 |
2 |
0 |
|
86% |
14 |
2 |
|
94% |
| src/local_deep_research/benchmarks/datasets/custom_dataset_template.py |
|
100% |
25 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/benchmarks/datasets/simpleqa.py |
|
100% |
25 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/benchmarks/datasets/utils.py |
|
87% |
63 |
8 |
0 |
|
88% |
16 |
2 |
|
87% |
| src/local_deep_research/benchmarks/datasets/xbench_deepsearch.py |
|
96% |
99 |
4 |
0 |
|
82% |
22 |
4 |
|
93% |
| src/local_deep_research/benchmarks/efficiency/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/benchmarks/efficiency/resource_monitor.py |
|
97% |
117 |
3 |
0 |
|
100% |
36 |
0 |
|
98% |
| src/local_deep_research/benchmarks/efficiency/speed_profiler.py |
|
95% |
85 |
4 |
0 |
|
80% |
30 |
4 |
|
91% |
| src/local_deep_research/benchmarks/evaluators/__init__.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/benchmarks/evaluators/base.py |
|
93% |
15 |
1 |
0 |
|
100% |
0 |
0 |
|
93% |
| src/local_deep_research/benchmarks/evaluators/browsecomp.py |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/benchmarks/evaluators/composite.py |
|
100% |
31 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/benchmarks/evaluators/simpleqa.py |
|
100% |
69 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/benchmarks/graders.py |
|
90% |
200 |
20 |
0 |
|
85% |
62 |
7 |
|
89% |
| src/local_deep_research/benchmarks/metrics.py |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src/local_deep_research/benchmarks/metrics/__init__.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/benchmarks/metrics/calculation.py |
|
99% |
140 |
2 |
0 |
|
100% |
38 |
0 |
|
99% |
| src/local_deep_research/benchmarks/metrics/reporting.py |
|
97% |
60 |
2 |
0 |
|
90% |
30 |
3 |
|
94% |
| src/local_deep_research/benchmarks/metrics/statistics.py |
|
100% |
53 |
0 |
0 |
|
100% |
24 |
0 |
|
100% |
| src/local_deep_research/benchmarks/models/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/benchmarks/optimization/__init__.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/benchmarks/optimization/api.py |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/benchmarks/optimization/metrics.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/benchmarks/optimization/optuna_optimizer.py |
|
79% |
357 |
74 |
0 |
|
74% |
86 |
10 |
|
78% |
| src/local_deep_research/benchmarks/runners.py |
|
100% |
122 |
0 |
0 |
|
100% |
42 |
0 |
|
100% |
| src/local_deep_research/benchmarks/templates.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/benchmarks/web_api/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/benchmarks/web_api/benchmark_routes.py |
|
98% |
350 |
8 |
0 |
|
90% |
86 |
9 |
|
96% |
| src/local_deep_research/benchmarks/web_api/benchmark_service.py |
|
97% |
477 |
13 |
0 |
|
84% |
128 |
21 |
|
94% |
| src/local_deep_research/chat/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/chat/context.py |
|
92% |
143 |
12 |
0 |
|
81% |
64 |
8 |
|
88% |
| src/local_deep_research/chat/routes.py |
|
89% |
351 |
38 |
2 |
|
78% |
76 |
15 |
|
87% |
| src/local_deep_research/chat/service.py |
|
85% |
285 |
44 |
0 |
|
86% |
64 |
7 |
|
85% |
| src/local_deep_research/citation_handler.py |
|
100% |
38 |
0 |
0 |
|
92% |
12 |
1 |
|
98% |
| src/local_deep_research/citation_handlers/__init__.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/citation_handlers/base_citation_handler.py |
|
96% |
79 |
3 |
0 |
|
96% |
28 |
1 |
|
96% |
| src/local_deep_research/citation_handlers/forced_answer_citation_handler.py |
|
100% |
51 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src/local_deep_research/citation_handlers/precision_extraction_handler.py |
|
99% |
210 |
1 |
0 |
|
92% |
90 |
7 |
|
97% |
| src/local_deep_research/citation_handlers/standard_citation_handler.py |
|
100% |
24 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/config/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/config/constants.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/config/llm_config.py |
|
97% |
334 |
11 |
0 |
|
90% |
118 |
12 |
|
95% |
| src/local_deep_research/config/paths.py |
|
100% |
76 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/config/search_config.py |
|
100% |
26 |
0 |
0 |
|
90% |
10 |
1 |
|
97% |
| src/local_deep_research/config/thread_settings.py |
|
100% |
54 |
0 |
0 |
|
100% |
26 |
0 |
|
100% |
| src/local_deep_research/constants.py |
|
100% |
53 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/content_fetcher/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/content_fetcher/fetcher.py |
|
97% |
130 |
4 |
0 |
|
98% |
46 |
1 |
|
97% |
| src/local_deep_research/content_fetcher/url_classifier.py |
|
98% |
104 |
2 |
0 |
|
95% |
64 |
3 |
|
97% |
| src/local_deep_research/database/alembic_runner.py |
|
94% |
136 |
8 |
0 |
|
83% |
46 |
6 |
|
91% |
| src/local_deep_research/database/auth_db.py |
|
97% |
72 |
2 |
0 |
|
100% |
12 |
0 |
|
98% |
| src/local_deep_research/database/backup/__init__.py |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/database/backup/backup_executor.py |
|
100% |
60 |
0 |
0 |
|
90% |
10 |
1 |
|
99% |
| src/local_deep_research/database/backup/backup_service.py |
|
88% |
230 |
28 |
0 |
|
92% |
52 |
4 |
|
89% |
| src/local_deep_research/database/credential_store_base.py |
|
95% |
41 |
2 |
0 |
|
100% |
10 |
0 |
|
96% |
| src/local_deep_research/database/encrypted_db.py |
|
92% |
336 |
28 |
0 |
|
82% |
74 |
9 |
|
90% |
| src/local_deep_research/database/initialize.py |
|
92% |
51 |
4 |
0 |
|
93% |
14 |
1 |
|
92% |
| src/local_deep_research/database/library_init.py |
|
100% |
95 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src/local_deep_research/database/models/__init__.py |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/database/models/active_research.py |
|
94% |
17 |
1 |
0 |
|
100% |
0 |
0 |
|
94% |
| src/local_deep_research/database/models/auth.py |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/database/models/base.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/database/models/benchmark.py |
|
100% |
101 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/database/models/cache.py |
|
92% |
49 |
4 |
0 |
|
75% |
4 |
1 |
|
91% |
| src/local_deep_research/database/models/chat.py |
|
95% |
59 |
3 |
0 |
|
100% |
0 |
0 |
|
95% |
| src/local_deep_research/database/models/citation.py |
|
94% |
32 |
2 |
0 |
|
100% |
0 |
0 |
|
94% |
| src/local_deep_research/database/models/download_tracker.py |
|
100% |
48 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/database/models/file_integrity.py |
|
100% |
39 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/database/models/journal.py |
|
93% |
14 |
1 |
0 |
|
100% |
0 |
0 |
|
93% |
| src/local_deep_research/database/models/library.py |
|
99% |
307 |
3 |
0 |
|
100% |
0 |
0 |
|
99% |
| src/local_deep_research/database/models/logs.py |
|
94% |
16 |
1 |
0 |
|
100% |
0 |
0 |
|
94% |
| src/local_deep_research/database/models/metrics.py |
|
96% |
96 |
4 |
0 |
|
100% |
0 |
0 |
|
96% |
| src/local_deep_research/database/models/news.py |
|
99% |
111 |
1 |
0 |
|
100% |
0 |
0 |
|
99% |
| src/local_deep_research/database/models/providers.py |
|
93% |
14 |
1 |
0 |
|
100% |
0 |
0 |
|
93% |
| src/local_deep_research/database/models/queue.py |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/database/models/queued_research.py |
|
94% |
16 |
1 |
0 |
|
100% |
0 |
0 |
|
94% |
| src/local_deep_research/database/models/rate_limiting.py |
|
93% |
30 |
2 |
0 |
|
100% |
0 |
0 |
|
93% |
| src/local_deep_research/database/models/reports.py |
|
100% |
53 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/database/models/research.py |
|
95% |
135 |
7 |
0 |
|
100% |
0 |
0 |
|
95% |
| src/local_deep_research/database/models/settings.py |
|
95% |
56 |
3 |
0 |
|
100% |
0 |
0 |
|
95% |
| src/local_deep_research/database/models/user_base.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/database/models/user_news_search_history.py |
|
86% |
14 |
2 |
0 |
|
100% |
0 |
0 |
|
86% |
| src/local_deep_research/database/pool_config.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/database/queue_service.py |
|
100% |
75 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src/local_deep_research/database/session_context.py |
|
92% |
118 |
9 |
0 |
|
96% |
48 |
2 |
|
93% |
| src/local_deep_research/database/session_passwords.py |
|
100% |
28 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/database/sqlcipher_compat.py |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/database/sqlcipher_utils.py |
|
98% |
167 |
3 |
0 |
|
92% |
24 |
2 |
|
97% |
| src/local_deep_research/database/temp_auth.py |
|
100% |
24 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/database/thread_local_session.py |
|
94% |
151 |
9 |
0 |
|
96% |
26 |
1 |
|
94% |
| src/local_deep_research/database/thread_metrics.py |
|
96% |
53 |
2 |
0 |
|
83% |
18 |
1 |
|
93% |
| src/local_deep_research/defaults/__init__.py |
|
95% |
19 |
1 |
0 |
|
75% |
8 |
2 |
|
89% |
| src/local_deep_research/document_loaders/__init__.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/document_loaders/bytes_loader.py |
|
92% |
52 |
4 |
0 |
|
100% |
10 |
0 |
|
94% |
| src/local_deep_research/document_loaders/json_loader.py |
|
100% |
59 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src/local_deep_research/document_loaders/loader_registry.py |
|
100% |
94 |
0 |
0 |
|
100% |
18 |
0 |
|
100% |
| src/local_deep_research/document_loaders/yaml_loader.py |
|
100% |
44 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/domain_classifier/__init__.py |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/domain_classifier/classifier.py |
|
94% |
155 |
10 |
0 |
|
93% |
42 |
3 |
|
93% |
| src/local_deep_research/domain_classifier/models.py |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/embeddings/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/embeddings/embeddings_config.py |
|
98% |
49 |
1 |
0 |
|
88% |
16 |
2 |
|
95% |
| src/local_deep_research/embeddings/providers/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/embeddings/providers/base.py |
|
91% |
34 |
3 |
0 |
|
100% |
2 |
0 |
|
92% |
| src/local_deep_research/embeddings/providers/implementations/__init__.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/embeddings/providers/implementations/ollama.py |
|
97% |
86 |
3 |
0 |
|
100% |
18 |
0 |
|
97% |
| src/local_deep_research/embeddings/providers/implementations/openai.py |
|
99% |
81 |
1 |
0 |
|
97% |
30 |
1 |
|
98% |
| src/local_deep_research/embeddings/providers/implementations/sentence_transformers.py |
|
100% |
28 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/embeddings/splitters/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/embeddings/splitters/text_splitter_registry.py |
|
100% |
38 |
0 |
0 |
|
94% |
16 |
1 |
|
98% |
| src/local_deep_research/error_handling/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/error_handling/error_reporter.py |
|
91% |
81 |
7 |
0 |
|
83% |
24 |
2 |
|
90% |
| src/local_deep_research/error_handling/openai_compat_errors.py |
|
95% |
64 |
3 |
0 |
|
97% |
30 |
1 |
|
96% |
| src/local_deep_research/error_handling/report_generator.py |
|
100% |
106 |
0 |
0 |
|
94% |
54 |
3 |
|
98% |
| src/local_deep_research/exceptions.py |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/exporters/__init__.py |
|
83% |
12 |
2 |
0 |
|
100% |
0 |
0 |
|
83% |
| src/local_deep_research/exporters/base.py |
|
91% |
44 |
4 |
0 |
|
100% |
10 |
0 |
|
93% |
| src/local_deep_research/exporters/latex_exporter.py |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/exporters/odt_exporter.py |
|
92% |
63 |
5 |
0 |
|
83% |
12 |
2 |
|
91% |
| src/local_deep_research/exporters/pdf_exporter.py |
|
100% |
33 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/exporters/quarto_exporter.py |
|
100% |
45 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/exporters/registry.py |
|
100% |
34 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/exporters/ris_exporter.py |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/followup_research/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/followup_research/models.py |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/followup_research/routes.py |
|
88% |
118 |
14 |
0 |
|
90% |
10 |
1 |
|
88% |
| src/local_deep_research/followup_research/service.py |
|
96% |
52 |
2 |
0 |
|
90% |
10 |
1 |
|
95% |
| src/local_deep_research/journal_quality/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/journal_quality/data_sources/__init__.py |
|
93% |
14 |
1 |
0 |
|
75% |
4 |
1 |
|
89% |
| src/local_deep_research/journal_quality/data_sources/_openalex_common.py |
|
98% |
47 |
1 |
0 |
|
94% |
16 |
1 |
|
97% |
| src/local_deep_research/journal_quality/data_sources/base.py |
|
68% |
37 |
12 |
0 |
|
0% |
4 |
0 |
|
61% |
| src/local_deep_research/journal_quality/data_sources/doaj.py |
|
55% |
55 |
25 |
0 |
|
0% |
6 |
0 |
|
49% |
| src/local_deep_research/journal_quality/data_sources/institutions.py |
|
88% |
76 |
9 |
0 |
|
60% |
20 |
6 |
|
82% |
| src/local_deep_research/journal_quality/data_sources/jabref.py |
|
40% |
60 |
36 |
0 |
|
0% |
16 |
0 |
|
32% |
| src/local_deep_research/journal_quality/data_sources/openalex.py |
|
90% |
83 |
8 |
0 |
|
73% |
22 |
6 |
|
87% |
| src/local_deep_research/journal_quality/data_sources/predatory.py |
|
95% |
57 |
3 |
0 |
|
64% |
14 |
3 |
|
89% |
| src/local_deep_research/journal_quality/db.py |
|
39% |
672 |
407 |
0 |
|
28% |
242 |
28 |
|
36% |
| src/local_deep_research/journal_quality/downloader.py |
|
81% |
223 |
43 |
0 |
|
75% |
44 |
9 |
|
80% |
| src/local_deep_research/journal_quality/models.py |
|
100% |
50 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/journal_quality/scoring.py |
|
97% |
60 |
2 |
0 |
|
96% |
48 |
2 |
|
96% |
| src/local_deep_research/library/download_management/__init__.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/library/download_management/database_init.py |
|
92% |
24 |
2 |
0 |
|
75% |
4 |
1 |
|
89% |
| src/local_deep_research/library/download_management/failure_classifier.py |
|
96% |
68 |
3 |
0 |
|
91% |
32 |
3 |
|
94% |
| src/local_deep_research/library/download_management/filters/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/library/download_management/filters/resource_filter.py |
|
100% |
25 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/library/download_management/models/__init__.py |
|
97% |
39 |
1 |
0 |
|
100% |
0 |
0 |
|
97% |
| src/local_deep_research/library/download_management/retry_manager.py |
|
100% |
95 |
0 |
0 |
|
96% |
24 |
1 |
|
99% |
| src/local_deep_research/library/download_management/status_tracker.py |
|
92% |
142 |
11 |
0 |
|
93% |
44 |
3 |
|
92% |
| src/local_deep_research/llm/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/llm/llm_registry.py |
|
100% |
49 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/llm/providers/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/llm/providers/auto_discovery.py |
|
100% |
103 |
0 |
0 |
|
97% |
34 |
1 |
|
99% |
| src/local_deep_research/llm/providers/base.py |
|
100% |
11 |
0 |
1 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/llm/providers/implementations/anthropic.py |
|
95% |
38 |
2 |
0 |
|
100% |
6 |
0 |
|
95% |
| src/local_deep_research/llm/providers/implementations/custom_openai_endpoint.py |
|
100% |
39 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/llm/providers/implementations/deepseek.py |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/llm/providers/implementations/google.py |
|
100% |
42 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src/local_deep_research/llm/providers/implementations/ionos.py |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/llm/providers/implementations/llamacpp.py |
|
100% |
35 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/llm/providers/implementations/lmstudio.py |
|
100% |
53 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/llm/providers/implementations/ollama.py |
|
99% |
94 |
1 |
0 |
|
92% |
24 |
2 |
|
97% |
| src/local_deep_research/llm/providers/implementations/openai.py |
|
100% |
68 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src/local_deep_research/llm/providers/implementations/openrouter.py |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/llm/providers/implementations/xai.py |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/llm/providers/openai_base.py |
|
98% |
125 |
3 |
0 |
|
87% |
38 |
5 |
|
95% |
| src/local_deep_research/mcp/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/mcp/__main__.py |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| src/local_deep_research/mcp/client.py |
|
77% |
185 |
43 |
0 |
|
82% |
50 |
7 |
|
78% |
| src/local_deep_research/mcp/server.py |
|
94% |
285 |
17 |
0 |
|
93% |
98 |
7 |
|
94% |
| src/local_deep_research/metrics/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/metrics/database.py |
|
100% |
28 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/metrics/pricing/__init__.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/metrics/pricing/cost_calculator.py |
|
96% |
79 |
3 |
0 |
|
96% |
24 |
1 |
|
96% |
| src/local_deep_research/metrics/pricing/pricing_cache.py |
|
94% |
33 |
2 |
0 |
|
100% |
0 |
0 |
|
94% |
| src/local_deep_research/metrics/pricing/pricing_fetcher.py |
|
98% |
66 |
1 |
0 |
|
89% |
38 |
4 |
|
95% |
| src/local_deep_research/metrics/query_utils.py |
|
100% |
43 |
0 |
0 |
|
100% |
18 |
0 |
|
100% |
| src/local_deep_research/metrics/search_tracker.py |
|
98% |
107 |
2 |
0 |
|
96% |
28 |
1 |
|
98% |
| src/local_deep_research/metrics/token_counter.py |
|
89% |
500 |
54 |
0 |
|
78% |
216 |
28 |
|
86% |
| src/local_deep_research/news/__init__.py |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/news/api.py |
|
90% |
372 |
37 |
0 |
|
85% |
124 |
14 |
|
89% |
| src/local_deep_research/news/core/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/news/core/base_card.py |
|
99% |
145 |
2 |
0 |
|
100% |
14 |
0 |
|
99% |
| src/local_deep_research/news/core/card_factory.py |
|
95% |
127 |
6 |
0 |
|
89% |
38 |
2 |
|
94% |
| src/local_deep_research/news/core/card_storage.py |
|
97% |
149 |
5 |
0 |
|
90% |
48 |
5 |
|
95% |
| src/local_deep_research/news/core/news_analyzer.py |
|
100% |
165 |
0 |
0 |
|
98% |
58 |
1 |
|
99% |
| src/local_deep_research/news/core/relevance_service.py |
|
100% |
52 |
0 |
0 |
|
100% |
30 |
0 |
|
100% |
| src/local_deep_research/news/core/search_integration.py |
|
94% |
52 |
3 |
0 |
|
100% |
6 |
0 |
|
95% |
| src/local_deep_research/news/core/storage.py |
|
71% |
92 |
27 |
0 |
|
100% |
0 |
0 |
|
71% |
| src/local_deep_research/news/core/storage_manager.py |
|
98% |
179 |
4 |
0 |
|
83% |
48 |
8 |
|
95% |
| src/local_deep_research/news/core/utils.py |
|
100% |
35 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src/local_deep_research/news/exceptions.py |
|
100% |
55 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/news/flask_api.py |
|
89% |
675 |
74 |
0 |
|
84% |
140 |
10 |
|
88% |
| src/local_deep_research/news/folder_manager.py |
|
100% |
82 |
0 |
0 |
|
100% |
26 |
0 |
|
100% |
| src/local_deep_research/news/preference_manager/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/news/preference_manager/base_preference.py |
|
97% |
70 |
2 |
0 |
|
100% |
14 |
0 |
|
98% |
| src/local_deep_research/news/preference_manager/storage.py |
|
100% |
98 |
0 |
0 |
|
94% |
32 |
2 |
|
98% |
| src/local_deep_research/news/rating_system/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/news/rating_system/base_rater.py |
|
95% |
77 |
4 |
0 |
|
93% |
14 |
1 |
|
95% |
| src/local_deep_research/news/rating_system/storage.py |
|
97% |
92 |
3 |
0 |
|
91% |
32 |
3 |
|
95% |
| src/local_deep_research/news/recommender/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/news/recommender/base_recommender.py |
|
98% |
63 |
1 |
0 |
|
100% |
20 |
0 |
|
99% |
| src/local_deep_research/news/recommender/topic_based.py |
|
100% |
109 |
0 |
0 |
|
96% |
28 |
1 |
|
99% |
| src/local_deep_research/news/subscription_manager/__init__.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/news/subscription_manager/base_subscription.py |
|
95% |
92 |
5 |
0 |
|
81% |
16 |
3 |
|
93% |
| src/local_deep_research/news/subscription_manager/search_subscription.py |
|
100% |
61 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src/local_deep_research/news/subscription_manager/storage.py |
|
98% |
120 |
2 |
0 |
|
91% |
34 |
3 |
|
97% |
| src/local_deep_research/news/subscription_manager/topic_subscription.py |
|
100% |
75 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src/local_deep_research/news/utils/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/news/utils/headline_generator.py |
|
100% |
29 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/news/utils/topic_generator.py |
|
100% |
57 |
0 |
0 |
|
100% |
24 |
0 |
|
100% |
| src/local_deep_research/news/web.py |
|
98% |
83 |
2 |
0 |
|
100% |
10 |
0 |
|
98% |
| src/local_deep_research/notifications/__init__.py |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/notifications/exceptions.py |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/notifications/manager.py |
|
100% |
152 |
0 |
0 |
|
97% |
38 |
1 |
|
99% |
| src/local_deep_research/notifications/queue_helpers.py |
|
97% |
110 |
3 |
0 |
|
94% |
18 |
1 |
|
97% |
| src/local_deep_research/notifications/service.py |
|
99% |
93 |
1 |
0 |
|
97% |
30 |
1 |
|
98% |
| src/local_deep_research/notifications/templates.py |
|
97% |
88 |
3 |
0 |
|
94% |
18 |
1 |
|
96% |
| src/local_deep_research/notifications/url_builder.py |
|
100% |
27 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src/local_deep_research/report_generator.py |
|
100% |
180 |
0 |
0 |
|
95% |
78 |
4 |
|
98% |
| src/local_deep_research/research_library/__init__.py |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/research_library/deletion/__init__.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/research_library/deletion/routes/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/research_library/deletion/routes/delete_routes.py |
|
97% |
160 |
5 |
0 |
|
78% |
18 |
2 |
|
95% |
| src/local_deep_research/research_library/deletion/services/__init__.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/research_library/deletion/services/bulk_deletion.py |
|
94% |
67 |
4 |
0 |
|
86% |
22 |
3 |
|
92% |
| src/local_deep_research/research_library/deletion/services/collection_deletion.py |
|
95% |
77 |
4 |
0 |
|
92% |
12 |
1 |
|
94% |
| src/local_deep_research/research_library/deletion/services/document_deletion.py |
|
100% |
122 |
0 |
0 |
|
100% |
30 |
0 |
|
100% |
| src/local_deep_research/research_library/deletion/utils/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/research_library/deletion/utils/cascade_helper.py |
|
98% |
127 |
3 |
0 |
|
91% |
32 |
1 |
|
96% |
| src/local_deep_research/research_library/downloaders/__init__.py |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/research_library/downloaders/arxiv.py |
|
97% |
107 |
3 |
0 |
|
92% |
50 |
4 |
|
96% |
| src/local_deep_research/research_library/downloaders/base.py |
|
92% |
133 |
10 |
0 |
|
93% |
28 |
2 |
|
93% |
| src/local_deep_research/research_library/downloaders/biorxiv.py |
|
98% |
94 |
2 |
0 |
|
100% |
40 |
0 |
|
99% |
| src/local_deep_research/research_library/downloaders/direct_pdf.py |
|
98% |
59 |
1 |
0 |
|
96% |
28 |
1 |
|
98% |
| src/local_deep_research/research_library/downloaders/extraction/__init__.py |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/research_library/downloaders/extraction/base.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/research_library/downloaders/extraction/justext_extractor.py |
|
100% |
32 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src/local_deep_research/research_library/downloaders/extraction/metadata_extractor.py |
|
100% |
154 |
0 |
0 |
|
97% |
92 |
3 |
|
99% |
| src/local_deep_research/research_library/downloaders/extraction/newspaper_extractor.py |
|
100% |
23 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/research_library/downloaders/extraction/pipeline.py |
|
88% |
202 |
24 |
0 |
|
86% |
76 |
5 |
|
87% |
| src/local_deep_research/research_library/downloaders/extraction/readability_extractor.py |
|
100% |
23 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/research_library/downloaders/extraction/trafilatura_extractor.py |
|
100% |
24 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/research_library/downloaders/generic.py |
|
94% |
86 |
5 |
0 |
|
94% |
36 |
2 |
|
94% |
| src/local_deep_research/research_library/downloaders/html.py |
|
93% |
122 |
8 |
0 |
|
98% |
40 |
1 |
|
94% |
| src/local_deep_research/research_library/downloaders/openalex.py |
|
98% |
88 |
2 |
0 |
|
96% |
26 |
1 |
|
97% |
| src/local_deep_research/research_library/downloaders/playwright_html.py |
|
57% |
199 |
86 |
0 |
|
45% |
44 |
10 |
|
55% |
| src/local_deep_research/research_library/downloaders/pubmed.py |
|
98% |
269 |
6 |
0 |
|
92% |
130 |
9 |
|
96% |
| src/local_deep_research/research_library/downloaders/semantic_scholar.py |
|
97% |
71 |
2 |
0 |
|
85% |
20 |
3 |
|
95% |
| src/local_deep_research/research_library/routes/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/research_library/routes/library_routes.py |
|
95% |
550 |
25 |
0 |
|
86% |
110 |
11 |
|
94% |
| src/local_deep_research/research_library/routes/rag_routes.py |
|
86% |
1002 |
139 |
0 |
|
80% |
248 |
19 |
|
85% |
| src/local_deep_research/research_library/search/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/research_library/search/routes/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/research_library/search/routes/search_routes.py |
|
94% |
168 |
10 |
0 |
|
80% |
40 |
8 |
|
91% |
| src/local_deep_research/research_library/search/services/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/research_library/search/services/research_history_indexer.py |
|
100% |
103 |
0 |
0 |
|
96% |
26 |
1 |
|
99% |
| src/local_deep_research/research_library/services/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/research_library/services/download_service.py |
|
98% |
717 |
16 |
0 |
|
87% |
232 |
30 |
|
95% |
| src/local_deep_research/research_library/services/library_rag_service.py |
|
96% |
549 |
20 |
0 |
|
90% |
162 |
15 |
|
95% |
| src/local_deep_research/research_library/services/library_service.py |
|
89% |
356 |
38 |
0 |
|
80% |
122 |
11 |
|
87% |
| src/local_deep_research/research_library/services/pdf_storage_manager.py |
|
92% |
186 |
14 |
0 |
|
93% |
60 |
4 |
|
93% |
| src/local_deep_research/research_library/services/rag_service_factory.py |
|
100% |
47 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| src/local_deep_research/research_library/utils/__init__.py |
|
92% |
114 |
9 |
0 |
|
86% |
36 |
5 |
|
91% |
| src/local_deep_research/research_scheduler/routes.py |
|
94% |
34 |
2 |
0 |
|
67% |
6 |
2 |
|
90% |
| src/local_deep_research/scheduler/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/scheduler/background.py |
|
97% |
678 |
20 |
0 |
|
92% |
168 |
11 |
|
96% |
| src/local_deep_research/search_system.py |
|
97% |
101 |
3 |
0 |
|
88% |
32 |
2 |
|
95% |
| src/local_deep_research/search_system_factory.py |
|
96% |
152 |
6 |
0 |
|
94% |
86 |
5 |
|
95% |
| src/local_deep_research/security/__init__.py |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/security/account_lockout.py |
|
100% |
59 |
0 |
0 |
|
96% |
24 |
1 |
|
99% |
| src/local_deep_research/security/data_sanitizer.py |
|
100% |
48 |
0 |
0 |
|
100% |
20 |
0 |
|
100% |
| src/local_deep_research/security/decorators.py |
|
100% |
16 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/security/file_integrity/__init__.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/security/file_integrity/base_verifier.py |
|
88% |
26 |
3 |
0 |
|
100% |
2 |
0 |
|
89% |
| src/local_deep_research/security/file_integrity/integrity_manager.py |
|
98% |
200 |
3 |
0 |
|
98% |
66 |
1 |
|
98% |
| src/local_deep_research/security/file_integrity/verifiers/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/security/file_integrity/verifiers/faiss_verifier.py |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/security/file_upload_validator.py |
|
100% |
76 |
0 |
0 |
|
100% |
30 |
0 |
|
100% |
| src/local_deep_research/security/file_write_verifier.py |
|
100% |
41 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| src/local_deep_research/security/filename_sanitizer.py |
|
100% |
25 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src/local_deep_research/security/ip_ranges.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/security/log_sanitizer.py |
|
100% |
19 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/security/module_whitelist.py |
|
100% |
41 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src/local_deep_research/security/network_utils.py |
|
100% |
11 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/security/notification_validator.py |
|
92% |
102 |
8 |
0 |
|
95% |
38 |
2 |
|
93% |
| src/local_deep_research/security/password_validator.py |
|
100% |
15 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/security/path_validator.py |
|
96% |
140 |
5 |
0 |
|
100% |
78 |
0 |
|
98% |
| src/local_deep_research/security/rate_limiter.py |
|
100% |
66 |
0 |
0 |
|
94% |
16 |
1 |
|
99% |
| src/local_deep_research/security/safe_requests.py |
|
99% |
223 |
3 |
0 |
|
96% |
72 |
3 |
|
98% |
| src/local_deep_research/security/security_headers.py |
|
100% |
84 |
0 |
0 |
|
96% |
26 |
1 |
|
99% |
| src/local_deep_research/security/security_settings.py |
|
93% |
56 |
4 |
0 |
|
91% |
22 |
2 |
|
92% |
| src/local_deep_research/security/ssrf_validator.py |
|
98% |
119 |
2 |
0 |
|
98% |
50 |
1 |
|
98% |
| src/local_deep_research/security/url_builder.py |
|
94% |
66 |
4 |
0 |
|
100% |
24 |
0 |
|
96% |
| src/local_deep_research/security/url_validator.py |
|
92% |
163 |
13 |
0 |
|
98% |
82 |
2 |
|
94% |
| src/local_deep_research/security/web_middleware.py |
|
100% |
45 |
0 |
0 |
|
100% |
18 |
0 |
|
100% |
| src/local_deep_research/settings/__init__.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/settings/base.py |
|
70% |
30 |
9 |
0 |
|
100% |
0 |
0 |
|
70% |
| src/local_deep_research/settings/env_definitions/__init__.py |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/settings/env_definitions/bootstrap.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/settings/env_definitions/db_config.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/settings/env_definitions/news_scheduler.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/settings/env_definitions/security.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/settings/env_definitions/server.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/settings/env_definitions/testing.py |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/settings/env_registry.py |
|
100% |
42 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src/local_deep_research/settings/env_settings.py |
|
98% |
154 |
3 |
0 |
|
100% |
38 |
0 |
|
98% |
| src/local_deep_research/settings/exceptions.py |
|
96% |
24 |
1 |
0 |
|
75% |
4 |
1 |
|
93% |
| src/local_deep_research/settings/logger.py |
|
96% |
54 |
2 |
0 |
|
89% |
28 |
3 |
|
94% |
| src/local_deep_research/settings/manager.py |
|
92% |
527 |
41 |
0 |
|
90% |
230 |
22 |
|
91% |
| src/local_deep_research/storage/__init__.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/storage/base.py |
|
71% |
21 |
6 |
0 |
|
100% |
0 |
0 |
|
71% |
| src/local_deep_research/storage/database.py |
|
96% |
71 |
3 |
0 |
|
100% |
12 |
0 |
|
96% |
| src/local_deep_research/storage/database_with_file_backup.py |
|
100% |
40 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src/local_deep_research/storage/factory.py |
|
100% |
16 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/storage/file.py |
|
97% |
89 |
3 |
0 |
|
100% |
16 |
0 |
|
97% |
| src/local_deep_research/text_optimization/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/text_optimization/citation_formatter.py |
|
97% |
486 |
14 |
0 |
|
94% |
186 |
11 |
|
96% |
| src/local_deep_research/text_processing/__init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/text_processing/text_cleaner.py |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/utilities/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/utilities/citation_normalizer.py |
|
91% |
169 |
16 |
0 |
|
81% |
108 |
14 |
|
87% |
| src/local_deep_research/utilities/db_utils.py |
|
88% |
80 |
10 |
0 |
|
77% |
30 |
3 |
|
85% |
| src/local_deep_research/utilities/enums.py |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/utilities/es_utils.py |
|
97% |
126 |
4 |
0 |
|
93% |
30 |
2 |
|
96% |
| src/local_deep_research/utilities/formatting.py |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/utilities/js_rendering.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/utilities/json_utils.py |
|
100% |
81 |
0 |
0 |
|
90% |
42 |
4 |
|
97% |
| src/local_deep_research/utilities/llm_utils.py |
|
100% |
97 |
0 |
0 |
|
100% |
32 |
0 |
|
100% |
| src/local_deep_research/utilities/log_utils.py |
|
86% |
217 |
30 |
0 |
|
74% |
66 |
9 |
|
83% |
| src/local_deep_research/utilities/openalex_enrichment.py |
|
99% |
73 |
1 |
0 |
|
97% |
36 |
1 |
|
98% |
| src/local_deep_research/utilities/resource_utils.py |
|
100% |
14 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src/local_deep_research/utilities/search_cache.py |
|
99% |
247 |
3 |
0 |
|
90% |
48 |
5 |
|
97% |
| src/local_deep_research/utilities/search_utilities.py |
|
96% |
179 |
7 |
0 |
|
96% |
84 |
3 |
|
96% |
| src/local_deep_research/utilities/setup_utils.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/utilities/thread_context.py |
|
100% |
39 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/utilities/threading_utils.py |
|
100% |
42 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src/local_deep_research/utilities/type_utils.py |
|
100% |
9 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/utilities/url_utils.py |
|
96% |
56 |
2 |
0 |
|
100% |
24 |
0 |
|
98% |
| src/local_deep_research/web/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/web/api.py |
|
96% |
163 |
6 |
0 |
|
91% |
32 |
3 |
|
95% |
| src/local_deep_research/web/app.py |
|
91% |
86 |
8 |
0 |
|
79% |
14 |
3 |
|
89% |
| src/local_deep_research/web/app_factory.py |
|
88% |
391 |
45 |
0 |
|
71% |
48 |
8 |
|
87% |
| src/local_deep_research/web/auth/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/web/auth/cleanup_middleware.py |
|
95% |
41 |
2 |
0 |
|
100% |
14 |
0 |
|
96% |
| src/local_deep_research/web/auth/connection_cleanup.py |
|
93% |
118 |
8 |
0 |
|
100% |
24 |
0 |
|
94% |
| src/local_deep_research/web/auth/database_middleware.py |
|
100% |
43 |
0 |
0 |
|
92% |
26 |
2 |
|
97% |
| src/local_deep_research/web/auth/decorators.py |
|
100% |
48 |
0 |
0 |
|
100% |
18 |
0 |
|
100% |
| src/local_deep_research/web/auth/middleware_optimizer.py |
|
100% |
25 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src/local_deep_research/web/auth/password_utils.py |
|
100% |
19 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src/local_deep_research/web/auth/queue_middleware.py |
|
92% |
26 |
2 |
0 |
|
100% |
10 |
0 |
|
94% |
| src/local_deep_research/web/auth/queue_middleware_v2.py |
|
100% |
19 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src/local_deep_research/web/auth/routes.py |
|
90% |
342 |
33 |
0 |
|
88% |
84 |
10 |
|
90% |
| src/local_deep_research/web/auth/session_cleanup.py |
|
100% |
20 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src/local_deep_research/web/auth/session_manager.py |
|
100% |
87 |
0 |
0 |
|
100% |
28 |
0 |
|
100% |
| src/local_deep_research/web/database/benchmark_schema.py |
|
100% |
30 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src/local_deep_research/web/exceptions.py |
|
100% |
19 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/web/models/database.py |
|
100% |
82 |
0 |
0 |
|
88% |
16 |
2 |
|
98% |
| src/local_deep_research/web/models/settings.py |
|
94% |
51 |
3 |
0 |
|
80% |
10 |
0 |
|
92% |
| src/local_deep_research/web/queue/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/web/queue/manager.py |
|
100% |
57 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src/local_deep_research/web/queue/processor_v2.py |
|
91% |
446 |
39 |
0 |
|
82% |
104 |
15 |
|
89% |
| src/local_deep_research/web/routes/api_routes.py |
|
99% |
208 |
3 |
0 |
|
92% |
36 |
1 |
|
98% |
| src/local_deep_research/web/routes/context_overflow_api.py |
|
100% |
112 |
0 |
0 |
|
97% |
34 |
1 |
|
99% |
| src/local_deep_research/web/routes/globals.py |
|
99% |
123 |
1 |
0 |
|
97% |
38 |
1 |
|
99% |
| src/local_deep_research/web/routes/history_routes.py |
|
99% |
168 |
1 |
0 |
|
96% |
28 |
1 |
|
99% |
| src/local_deep_research/web/routes/metrics_routes.py |
|
86% |
902 |
123 |
0 |
|
76% |
238 |
16 |
|
84% |
| src/local_deep_research/web/routes/news_routes.py |
|
100% |
140 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src/local_deep_research/web/routes/research_routes.py |
|
92% |
698 |
58 |
0 |
|
89% |
174 |
16 |
|
91% |
| src/local_deep_research/web/routes/route_registry.py |
|
88% |
32 |
4 |
0 |
|
72% |
18 |
1 |
|
82% |
| src/local_deep_research/web/routes/settings_routes.py |
|
85% |
987 |
150 |
0 |
|
85% |
348 |
23 |
|
85% |
| src/local_deep_research/web/server_config.py |
|
100% |
72 |
0 |
0 |
|
100% |
34 |
0 |
|
100% |
| src/local_deep_research/web/services/pdf_extraction_service.py |
|
96% |
49 |
2 |
0 |
|
100% |
12 |
0 |
|
97% |
| src/local_deep_research/web/services/pdf_service.py |
|
87% |
77 |
10 |
0 |
|
80% |
20 |
2 |
|
86% |
| src/local_deep_research/web/services/report_assembly_service.py |
|
96% |
84 |
3 |
0 |
|
92% |
40 |
3 |
|
95% |
| src/local_deep_research/web/services/research_service.py |
|
82% |
916 |
165 |
0 |
|
76% |
296 |
48 |
|
81% |
| src/local_deep_research/web/services/research_sources_service.py |
|
85% |
189 |
28 |
0 |
|
76% |
80 |
15 |
|
83% |
| src/local_deep_research/web/services/resource_service.py |
|
100% |
40 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/web/services/settings_service.py |
|
83% |
30 |
5 |
0 |
|
50% |
2 |
1 |
|
81% |
| src/local_deep_research/web/services/socket_service.py |
|
95% |
209 |
10 |
0 |
|
98% |
66 |
1 |
|
96% |
| src/local_deep_research/web/themes/__init__.py |
|
100% |
77 |
0 |
0 |
|
91% |
22 |
2 |
|
98% |
| src/local_deep_research/web/themes/loader.py |
|
95% |
76 |
4 |
0 |
|
79% |
24 |
3 |
|
91% |
| src/local_deep_research/web/themes/schema.py |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/web/utils/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/web/utils/request_helpers.py |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/web/utils/route_decorators.py |
|
100% |
21 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/web/utils/templates.py |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/web/utils/theme_helper.py |
|
100% |
21 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src/local_deep_research/web/utils/vite_helper.py |
|
100% |
46 |
0 |
0 |
|
100% |
18 |
0 |
|
100% |
| src/local_deep_research/web/warning_checks/__init__.py |
|
89% |
80 |
9 |
0 |
|
83% |
24 |
4 |
|
88% |
| src/local_deep_research/web/warning_checks/backup.py |
|
100% |
23 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src/local_deep_research/web/warning_checks/context.py |
|
100% |
21 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src/local_deep_research/web/warning_checks/hardware.py |
|
100% |
29 |
0 |
0 |
|
100% |
20 |
0 |
|
100% |
| src/local_deep_research/web_search_engines/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/web_search_engines/default_search_engines.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/web_search_engines/engine_registry.py |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/web_search_engines/engines/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/web_search_engines/engines/full_search.py |
|
100% |
97 |
0 |
0 |
|
97% |
38 |
1 |
|
99% |
| src/local_deep_research/web_search_engines/engines/local_embedding_manager.py |
|
99% |
109 |
1 |
0 |
|
96% |
24 |
1 |
|
98% |
| src/local_deep_research/web_search_engines/engines/meta_search_engine.py |
|
82% |
163 |
30 |
0 |
|
68% |
62 |
2 |
|
78% |
| src/local_deep_research/web_search_engines/engines/parallel_search_engine.py |
|
97% |
274 |
9 |
0 |
|
92% |
104 |
8 |
|
96% |
| src/local_deep_research/web_search_engines/engines/search_engine_arxiv.py |
|
98% |
159 |
3 |
0 |
|
97% |
38 |
1 |
|
98% |
| src/local_deep_research/web_search_engines/engines/search_engine_brave.py |
|
98% |
43 |
1 |
0 |
|
100% |
6 |
0 |
|
98% |
| src/local_deep_research/web_search_engines/engines/search_engine_collection.py |
|
98% |
92 |
2 |
0 |
|
95% |
20 |
1 |
|
97% |
| src/local_deep_research/web_search_engines/engines/search_engine_ddg.py |
|
100% |
41 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src/local_deep_research/web_search_engines/engines/search_engine_elasticsearch.py |
|
98% |
123 |
3 |
0 |
|
100% |
34 |
0 |
|
98% |
| src/local_deep_research/web_search_engines/engines/search_engine_exa.py |
|
98% |
82 |
2 |
0 |
|
93% |
28 |
2 |
|
96% |
| src/local_deep_research/web_search_engines/engines/search_engine_github.py |
|
99% |
330 |
2 |
0 |
|
97% |
112 |
3 |
|
99% |
| src/local_deep_research/web_search_engines/engines/search_engine_google_pse.py |
|
99% |
129 |
1 |
0 |
|
94% |
34 |
2 |
|
98% |
| src/local_deep_research/web_search_engines/engines/search_engine_guardian.py |
|
97% |
241 |
8 |
0 |
|
89% |
76 |
6 |
|
95% |
| src/local_deep_research/web_search_engines/engines/search_engine_gutenberg.py |
|
94% |
207 |
12 |
0 |
|
84% |
80 |
11 |
|
91% |
| src/local_deep_research/web_search_engines/engines/search_engine_library.py |
|
94% |
127 |
7 |
0 |
|
87% |
38 |
3 |
|
93% |
| src/local_deep_research/web_search_engines/engines/search_engine_mojeek.py |
|
97% |
86 |
3 |
0 |
|
92% |
26 |
2 |
|
96% |
| src/local_deep_research/web_search_engines/engines/search_engine_nasa_ads.py |
|
90% |
146 |
14 |
0 |
|
85% |
54 |
8 |
|
89% |
| src/local_deep_research/web_search_engines/engines/search_engine_openalex.py |
|
94% |
178 |
10 |
0 |
|
88% |
68 |
4 |
|
93% |
| src/local_deep_research/web_search_engines/engines/search_engine_openlibrary.py |
|
92% |
214 |
18 |
0 |
|
83% |
90 |
15 |
|
89% |
| src/local_deep_research/web_search_engines/engines/search_engine_paperless.py |
|
93% |
301 |
22 |
0 |
|
82% |
100 |
16 |
|
90% |
| src/local_deep_research/web_search_engines/engines/search_engine_pubchem.py |
|
95% |
251 |
13 |
0 |
|
72% |
80 |
18 |
|
89% |
| src/local_deep_research/web_search_engines/engines/search_engine_pubmed.py |
|
97% |
715 |
22 |
0 |
|
83% |
356 |
61 |
|
92% |
| src/local_deep_research/web_search_engines/engines/search_engine_retriever.py |
|
100% |
57 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src/local_deep_research/web_search_engines/engines/search_engine_scaleserp.py |
|
97% |
93 |
3 |
0 |
|
88% |
24 |
3 |
|
95% |
| src/local_deep_research/web_search_engines/engines/search_engine_searxng.py |
|
96% |
220 |
9 |
0 |
|
92% |
72 |
6 |
|
95% |
| src/local_deep_research/web_search_engines/engines/search_engine_semantic_scholar.py |
|
98% |
276 |
5 |
0 |
|
92% |
100 |
8 |
|
97% |
| src/local_deep_research/web_search_engines/engines/search_engine_serpapi.py |
|
100% |
34 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/web_search_engines/engines/search_engine_serper.py |
|
100% |
91 |
0 |
0 |
|
95% |
22 |
1 |
|
99% |
| src/local_deep_research/web_search_engines/engines/search_engine_stackexchange.py |
|
96% |
231 |
9 |
0 |
|
89% |
56 |
6 |
|
95% |
| src/local_deep_research/web_search_engines/engines/search_engine_tavily.py |
|
98% |
62 |
1 |
0 |
|
93% |
14 |
1 |
|
97% |
| src/local_deep_research/web_search_engines/engines/search_engine_wayback.py |
|
96% |
198 |
7 |
0 |
|
94% |
54 |
3 |
|
96% |
| src/local_deep_research/web_search_engines/engines/search_engine_wikinews.py |
|
98% |
160 |
4 |
0 |
|
85% |
40 |
6 |
|
95% |
| src/local_deep_research/web_search_engines/engines/search_engine_wikipedia.py |
|
97% |
116 |
3 |
0 |
|
91% |
22 |
2 |
|
96% |
| src/local_deep_research/web_search_engines/engines/search_engine_zenodo.py |
|
98% |
170 |
3 |
0 |
|
92% |
52 |
4 |
|
97% |
| src/local_deep_research/web_search_engines/rate_limiting/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/web_search_engines/rate_limiting/__main__.py |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src/local_deep_research/web_search_engines/rate_limiting/exceptions.py |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/web_search_engines/rate_limiting/llm/__init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src/local_deep_research/web_search_engines/rate_limiting/llm/detection.py |
|
91% |
43 |
4 |
0 |
|
96% |
24 |
1 |
|
93% |
| src/local_deep_research/web_search_engines/rate_limiting/llm/wrapper.py |
|
96% |
100 |
4 |
0 |
|
93% |
30 |
2 |
|
95% |
| src/local_deep_research/web_search_engines/rate_limiting/tracker.py |
|
97% |
329 |
9 |
2 |
|
95% |
110 |
5 |
|
97% |
| src/local_deep_research/web_search_engines/relevance_filter.py |
|
92% |
124 |
10 |
0 |
|
88% |
48 |
6 |
|
91% |
| src/local_deep_research/web_search_engines/retriever_registry.py |
|
100% |
37 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src/local_deep_research/web_search_engines/search_engine_base.py |
|
97% |
335 |
11 |
0 |
|
96% |
128 |
5 |
|
97% |
| src/local_deep_research/web_search_engines/search_engine_factory.py |
|
98% |
198 |
3 |
0 |
|
88% |
120 |
13 |
|
94% |
| src/local_deep_research/web_search_engines/search_engines_config.py |
|
99% |
113 |
1 |
0 |
|
98% |
54 |
1 |
|
99% |