| 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 |
|
17% |
127 |
105 |
0 |
|
0% |
38 |
0 |
|
13% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
|
60% |
137 |
55 |
0 |
|
38% |
42 |
6 |
|
55% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
|
16% |
140 |
118 |
0 |
|
0% |
60 |
0 |
|
11% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
|
11% |
186 |
165 |
0 |
|
0% |
88 |
0 |
|
8% |
| src / local_deep_research / advanced_search_system / candidate_exploration / parallel_explorer.py |
|
16% |
89 |
75 |
0 |
|
0% |
24 |
0 |
|
12% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
|
18% |
119 |
97 |
0 |
|
0% |
64 |
0 |
|
12% |
| 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 |
|
38% |
37 |
23 |
0 |
|
0% |
14 |
0 |
|
27% |
| 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 |
|
65% |
37 |
13 |
0 |
|
0% |
4 |
0 |
|
59% |
| src / local_deep_research / advanced_search_system / constraint_checking / constraint_checker.py |
|
80% |
60 |
12 |
0 |
|
60% |
10 |
4 |
|
77% |
| src / local_deep_research / advanced_search_system / constraint_checking / dual_confidence_checker.py |
|
13% |
116 |
101 |
0 |
|
0% |
34 |
0 |
|
10% |
| src / local_deep_research / advanced_search_system / constraint_checking / evidence_analyzer.py |
|
62% |
61 |
23 |
0 |
|
38% |
8 |
1 |
|
59% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
|
62% |
167 |
63 |
0 |
|
46% |
84 |
9 |
|
57% |
| src / local_deep_research / advanced_search_system / constraint_checking / rejection_engine.py |
|
86% |
35 |
5 |
0 |
|
60% |
10 |
2 |
|
80% |
| src / local_deep_research / advanced_search_system / constraint_checking / strict_checker.py |
|
14% |
78 |
67 |
0 |
|
0% |
28 |
0 |
|
10% |
| src / local_deep_research / advanced_search_system / constraint_checking / threshold_checker.py |
|
17% |
59 |
49 |
0 |
|
0% |
16 |
0 |
|
13% |
| 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 |
|
68% |
37 |
12 |
0 |
|
8% |
12 |
1 |
|
53% |
| src / local_deep_research / advanced_search_system / constraints / constraint_analyzer.py |
|
24% |
46 |
35 |
0 |
|
0% |
18 |
0 |
|
17% |
| src / local_deep_research / advanced_search_system / evidence / __init__.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / evidence / base_evidence.py |
|
87% |
30 |
4 |
0 |
|
0% |
2 |
0 |
|
81% |
| src / local_deep_research / advanced_search_system / evidence / evaluator.py |
|
24% |
50 |
38 |
0 |
|
0% |
14 |
0 |
|
19% |
| src / local_deep_research / advanced_search_system / evidence / requirements.py |
|
64% |
11 |
4 |
0 |
|
100% |
0 |
0 |
|
64% |
| 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 |
|
96% |
94 |
4 |
0 |
|
81% |
54 |
10 |
|
91% |
| src / local_deep_research / advanced_search_system / filters / followup_relevance_filter.py |
|
14% |
51 |
44 |
0 |
|
0% |
14 |
0 |
|
11% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
|
26% |
111 |
82 |
0 |
|
0% |
22 |
0 |
|
22% |
| 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 |
|
17% |
189 |
156 |
0 |
|
1% |
72 |
1 |
|
13% |
| 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 |
|
54% |
37 |
17 |
0 |
|
0% |
6 |
0 |
|
47% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
|
16% |
109 |
92 |
0 |
|
0% |
44 |
0 |
|
11% |
| src / local_deep_research / advanced_search_system / knowledge / standard_knowledge.py |
|
23% |
44 |
34 |
0 |
|
0% |
6 |
0 |
|
20% |
| src / local_deep_research / advanced_search_system / questions / __init__.py |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / atomic_fact_question.py |
|
16% |
44 |
37 |
0 |
|
0% |
24 |
0 |
|
10% |
| src / local_deep_research / advanced_search_system / questions / base_question.py |
|
53% |
15 |
7 |
0 |
|
0% |
4 |
0 |
|
42% |
| src / local_deep_research / advanced_search_system / questions / browsecomp_question.py |
|
9% |
151 |
138 |
0 |
|
0% |
106 |
0 |
|
5% |
| src / local_deep_research / advanced_search_system / questions / decomposition_question.py |
|
6% |
133 |
125 |
0 |
|
0% |
88 |
0 |
|
4% |
| src / local_deep_research / advanced_search_system / questions / entity_aware_question.py |
|
14% |
49 |
42 |
0 |
|
0% |
16 |
0 |
|
11% |
| src / local_deep_research / advanced_search_system / questions / flexible_browsecomp_question.py |
|
0% |
26 |
26 |
0 |
|
0% |
14 |
0 |
|
0% |
| 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 |
|
64% |
14 |
5 |
0 |
|
100% |
0 |
0 |
|
64% |
| src / local_deep_research / advanced_search_system / questions / followup / llm_followup_question.py |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / followup / simple_followup_question.py |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| src / local_deep_research / advanced_search_system / questions / news_question.py |
|
46% |
13 |
7 |
0 |
|
0% |
2 |
0 |
|
40% |
| src / local_deep_research / advanced_search_system / questions / standard_question.py |
|
49% |
41 |
21 |
0 |
|
17% |
12 |
2 |
|
42% |
| src / local_deep_research / advanced_search_system / repositories / __init__.py |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| 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 |
|
0% |
36 |
36 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / tools / knowledge_tools / __init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / tools / question_tools / __init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / tools / search_tools / __init__.py |
|
100% |
0 |
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 |
|
0% |
83 |
83 |
0 |
|
0% |
30 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
|
15% |
130 |
110 |
0 |
|
0% |
50 |
0 |
|
11% |
| src / local_deep_research / api / research_functions.py |
|
34% |
182 |
121 |
0 |
|
22% |
82 |
12 |
|
30% |
| src / local_deep_research / api / settings_utils.py |
|
78% |
139 |
31 |
0 |
|
72% |
72 |
8 |
|
76% |
| src / local_deep_research / benchmarks / __init__.py |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / benchmark_functions.py |
|
0% |
131 |
131 |
0 |
|
0% |
78 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / __init__.py |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
|
0% |
301 |
301 |
0 |
|
0% |
82 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / results.py |
|
0% |
28 |
28 |
0 |
|
0% |
6 |
0 |
|
0% |
| 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 |
|
39% |
97 |
59 |
0 |
|
5% |
20 |
1 |
|
33% |
| src / local_deep_research / benchmarks / datasets / browsecomp.py |
|
27% |
51 |
37 |
0 |
|
0% |
14 |
0 |
|
22% |
| src / local_deep_research / benchmarks / datasets / custom_dataset_template.py |
|
0% |
25 |
25 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / simpleqa.py |
|
52% |
25 |
12 |
0 |
|
0% |
6 |
0 |
|
42% |
| src / local_deep_research / benchmarks / datasets / utils.py |
|
11% |
63 |
56 |
0 |
|
0% |
16 |
0 |
|
9% |
| src / local_deep_research / benchmarks / datasets / xbench_deepsearch.py |
|
17% |
99 |
82 |
0 |
|
0% |
22 |
0 |
|
14% |
| src / local_deep_research / benchmarks / efficiency / __init__.py |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
|
0% |
133 |
133 |
0 |
|
0% |
38 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
|
0% |
85 |
85 |
0 |
|
0% |
30 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / __init__.py |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / base.py |
|
0% |
15 |
15 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / browsecomp.py |
|
0% |
18 |
18 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / composite.py |
|
0% |
31 |
31 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / simpleqa.py |
|
0% |
69 |
69 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / graders.py |
|
7% |
193 |
179 |
0 |
|
0% |
62 |
0 |
|
5% |
| src / local_deep_research / benchmarks / metrics.py |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / metrics / __init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / metrics / calculation.py |
|
11% |
126 |
112 |
0 |
|
0% |
38 |
0 |
|
9% |
| src / local_deep_research / benchmarks / metrics / reporting.py |
|
9% |
54 |
49 |
0 |
|
0% |
26 |
0 |
|
6% |
| src / local_deep_research / benchmarks / models / __init__.py |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / __init__.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / optimization / api.py |
|
0% |
18 |
18 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / metrics.py |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
|
0% |
346 |
346 |
0 |
|
0% |
78 |
0 |
|
0% |
| src / local_deep_research / benchmarks / runners.py |
|
14% |
122 |
105 |
0 |
|
0% |
42 |
0 |
|
10% |
| src / local_deep_research / benchmarks / templates.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / ui / __init__.py |
|
100% |
0 |
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 |
|
32% |
336 |
229 |
0 |
|
10% |
88 |
9 |
|
27% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
|
11% |
484 |
430 |
0 |
|
0% |
134 |
0 |
|
9% |
| src / local_deep_research / citation_handler.py |
|
100% |
35 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| 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 |
|
91% |
43 |
4 |
0 |
|
81% |
16 |
3 |
|
88% |
| src / local_deep_research / citation_handlers / forced_answer_citation_handler.py |
|
17% |
52 |
43 |
0 |
|
0% |
16 |
0 |
|
13% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
|
10% |
204 |
183 |
0 |
|
0% |
84 |
0 |
|
7% |
| src / local_deep_research / citation_handlers / standard_citation_handler.py |
|
100% |
26 |
0 |
0 |
|
75% |
4 |
1 |
|
97% |
| src / local_deep_research / config / __init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / llm_config.py |
|
25% |
377 |
284 |
0 |
|
19% |
140 |
16 |
|
23% |
| src / local_deep_research / config / paths.py |
|
83% |
60 |
10 |
0 |
|
100% |
2 |
0 |
|
84% |
| src / local_deep_research / config / search_config.py |
|
78% |
27 |
6 |
0 |
|
50% |
10 |
3 |
|
70% |
| src / local_deep_research / config / thread_settings.py |
|
88% |
43 |
5 |
0 |
|
81% |
26 |
5 |
|
86% |
| src / local_deep_research / constants.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / auth_db.py |
|
89% |
27 |
3 |
0 |
|
50% |
4 |
2 |
|
84% |
| src / local_deep_research / database / credential_store_base.py |
|
88% |
41 |
5 |
0 |
|
70% |
10 |
3 |
|
84% |
| src / local_deep_research / database / encrypted_db.py |
|
78% |
259 |
58 |
0 |
|
67% |
54 |
14 |
|
76% |
| src / local_deep_research / database / initialize.py |
|
55% |
80 |
36 |
0 |
|
28% |
18 |
3 |
|
50% |
| src / local_deep_research / database / library_init.py |
|
67% |
63 |
21 |
0 |
|
75% |
8 |
0 |
|
68% |
| src / local_deep_research / database / models / __init__.py |
|
100% |
21 |
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 / download_tracker.py |
|
89% |
47 |
5 |
0 |
|
100% |
0 |
0 |
|
89% |
| src / local_deep_research / database / models / file_integrity.py |
|
95% |
39 |
2 |
0 |
|
100% |
0 |
0 |
|
95% |
| src / local_deep_research / database / models / library.py |
|
95% |
306 |
15 |
0 |
|
100% |
0 |
0 |
|
95% |
| src / local_deep_research / database / models / logs.py |
|
92% |
24 |
2 |
0 |
|
100% |
0 |
0 |
|
92% |
| 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 |
|
96% |
53 |
2 |
0 |
|
100% |
0 |
0 |
|
96% |
| src / local_deep_research / database / models / research.py |
|
95% |
133 |
6 |
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_news_search_history.py |
|
86% |
14 |
2 |
0 |
|
100% |
0 |
0 |
|
86% |
| src / local_deep_research / database / queue_service.py |
|
31% |
70 |
48 |
0 |
|
12% |
16 |
2 |
|
28% |
| src / local_deep_research / database / session_context.py |
|
54% |
97 |
45 |
0 |
|
53% |
36 |
5 |
|
53% |
| src / local_deep_research / database / session_passwords.py |
|
91% |
23 |
2 |
0 |
|
100% |
0 |
0 |
|
91% |
| src / local_deep_research / database / sqlcipher_compat.py |
|
67% |
6 |
2 |
0 |
|
100% |
0 |
0 |
|
67% |
| src / local_deep_research / database / sqlcipher_utils.py |
|
73% |
73 |
20 |
0 |
|
50% |
6 |
1 |
|
71% |
| src / local_deep_research / database / temp_auth.py |
|
88% |
24 |
3 |
0 |
|
50% |
2 |
1 |
|
85% |
| src / local_deep_research / database / thread_local_session.py |
|
64% |
77 |
28 |
0 |
|
31% |
16 |
3 |
|
58% |
| src / local_deep_research / database / thread_metrics.py |
|
82% |
49 |
9 |
0 |
|
81% |
16 |
3 |
|
82% |
| src / local_deep_research / defaults / __init__.py |
|
37% |
19 |
12 |
0 |
|
0% |
8 |
0 |
|
26% |
| src / local_deep_research / domain_classifier / __init__.py |
|
89% |
9 |
1 |
0 |
|
75% |
4 |
1 |
|
85% |
| src / local_deep_research / domain_classifier / classifier.py |
|
17% |
158 |
131 |
0 |
|
0% |
44 |
0 |
|
13% |
| src / local_deep_research / domain_classifier / models.py |
|
94% |
18 |
1 |
0 |
|
100% |
0 |
0 |
|
94% |
| src / local_deep_research / embeddings / __init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / embeddings_config.py |
|
67% |
49 |
16 |
0 |
|
38% |
16 |
4 |
|
60% |
| src / local_deep_research / embeddings / providers / __init__.py |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / base.py |
|
94% |
31 |
2 |
0 |
|
100% |
2 |
0 |
|
94% |
| 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 |
|
93% |
41 |
3 |
0 |
|
100% |
4 |
0 |
|
93% |
| src / local_deep_research / embeddings / providers / implementations / openai.py |
|
28% |
61 |
44 |
0 |
|
0% |
20 |
0 |
|
21% |
| src / local_deep_research / embeddings / providers / implementations / sentence_transformers.py |
|
86% |
28 |
4 |
0 |
|
50% |
4 |
2 |
|
81% |
| 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 |
|
18% |
38 |
31 |
0 |
|
0% |
16 |
0 |
|
13% |
| 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 |
|
58% |
81 |
34 |
0 |
|
29% |
24 |
3 |
|
51% |
| src / local_deep_research / error_handling / report_generator.py |
|
58% |
106 |
44 |
0 |
|
33% |
54 |
10 |
|
50% |
| src / local_deep_research / followup_research / __init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / followup_research / models.py |
|
91% |
22 |
2 |
0 |
|
100% |
0 |
0 |
|
91% |
| src / local_deep_research / followup_research / routes.py |
|
13% |
92 |
80 |
0 |
|
0% |
16 |
0 |
|
11% |
| src / local_deep_research / followup_research / service.py |
|
22% |
50 |
39 |
0 |
|
0% |
10 |
0 |
|
18% |
| src / local_deep_research / library / download_management / __init__.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / failure_classifier.py |
|
68% |
75 |
24 |
0 |
|
41% |
32 |
5 |
|
60% |
| 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 |
|
34% |
32 |
21 |
0 |
|
0% |
6 |
0 |
|
29% |
| src / local_deep_research / library / download_management / models / __init__.py |
|
97% |
37 |
1 |
0 |
|
100% |
0 |
0 |
|
97% |
| src / local_deep_research / library / download_management / retry_manager.py |
|
46% |
99 |
53 |
0 |
|
21% |
24 |
1 |
|
41% |
| src / local_deep_research / library / download_management / status_tracker.py |
|
13% |
119 |
104 |
0 |
|
0% |
42 |
0 |
|
9% |
| 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 |
|
75% |
4 |
1 |
|
98% |
| src / local_deep_research / llm / providers / __init__.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / auto_discovery.py |
|
92% |
107 |
9 |
0 |
|
87% |
38 |
5 |
|
90% |
| src / local_deep_research / llm / providers / implementations / custom_openai_endpoint.py |
|
86% |
35 |
5 |
0 |
|
100% |
0 |
0 |
|
86% |
| src / local_deep_research / llm / providers / implementations / ollama.py |
|
89% |
122 |
13 |
0 |
|
75% |
32 |
8 |
|
86% |
| src / local_deep_research / llm / providers / implementations / xai.py |
|
88% |
24 |
3 |
0 |
|
100% |
0 |
0 |
|
88% |
| src / local_deep_research / llm / providers / openai_base.py |
|
84% |
121 |
19 |
0 |
|
78% |
36 |
4 |
|
83% |
| src / local_deep_research / metrics / __init__.py |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / database.py |
|
64% |
33 |
12 |
0 |
|
38% |
8 |
3 |
|
59% |
| 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 |
|
34% |
79 |
52 |
0 |
|
25% |
24 |
2 |
|
32% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
|
45% |
51 |
28 |
0 |
|
6% |
16 |
1 |
|
36% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
|
18% |
106 |
87 |
0 |
|
0% |
48 |
0 |
|
12% |
| src / local_deep_research / metrics / query_utils.py |
|
55% |
22 |
10 |
0 |
|
29% |
14 |
4 |
|
44% |
| src / local_deep_research / metrics / search_tracker.py |
|
50% |
123 |
62 |
0 |
|
38% |
32 |
10 |
|
47% |
| src / local_deep_research / metrics / token_counter.py |
|
55% |
506 |
230 |
0 |
|
34% |
204 |
61 |
|
49% |
| src / local_deep_research / news / __init__.py |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / api.py |
|
6% |
417 |
393 |
0 |
|
0% |
140 |
0 |
|
4% |
| 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 |
|
62% |
147 |
56 |
0 |
|
0% |
10 |
0 |
|
58% |
| src / local_deep_research / news / core / card_factory.py |
|
33% |
102 |
68 |
0 |
|
9% |
22 |
2 |
|
29% |
| src / local_deep_research / news / core / card_storage.py |
|
20% |
108 |
86 |
0 |
|
0% |
26 |
0 |
|
16% |
| src / local_deep_research / news / core / news_analyzer.py |
|
29% |
161 |
114 |
0 |
|
21% |
56 |
4 |
|
27% |
| src / local_deep_research / news / core / relevance_service.py |
|
98% |
52 |
1 |
0 |
|
83% |
30 |
5 |
|
93% |
| src / local_deep_research / news / core / search_integration.py |
|
40% |
52 |
31 |
0 |
|
33% |
6 |
2 |
|
40% |
| src / local_deep_research / news / core / storage.py |
|
69% |
121 |
37 |
0 |
|
100% |
0 |
0 |
|
69% |
| src / local_deep_research / news / core / storage_manager.py |
|
0% |
180 |
180 |
0 |
|
0% |
48 |
0 |
|
0% |
| src / local_deep_research / news / core / utils.py |
|
29% |
35 |
25 |
0 |
|
0% |
8 |
0 |
|
23% |
| src / local_deep_research / news / exceptions.py |
|
51% |
55 |
27 |
0 |
|
0% |
6 |
0 |
|
46% |
| src / local_deep_research / news / flask_api.py |
|
18% |
642 |
529 |
0 |
|
0% |
134 |
0 |
|
15% |
| src / local_deep_research / news / folder_manager.py |
|
18% |
82 |
67 |
0 |
|
0% |
26 |
0 |
|
14% |
| 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 |
|
31% |
70 |
48 |
0 |
|
0% |
14 |
0 |
|
26% |
| src / local_deep_research / news / preference_manager / storage.py |
|
0% |
98 |
98 |
0 |
|
0% |
32 |
0 |
|
0% |
| 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 |
|
48% |
77 |
40 |
0 |
|
0% |
14 |
0 |
|
41% |
| src / local_deep_research / news / rating_system / storage.py |
|
0% |
92 |
92 |
0 |
|
0% |
32 |
0 |
|
0% |
| 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 |
|
29% |
63 |
45 |
0 |
|
0% |
20 |
0 |
|
22% |
| src / local_deep_research / news / recommender / topic_based.py |
|
16% |
94 |
79 |
0 |
|
0% |
28 |
0 |
|
12% |
| 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 |
|
29% |
86 |
61 |
0 |
|
0% |
10 |
0 |
|
26% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
|
27% |
586 |
429 |
0 |
|
15% |
144 |
13 |
|
24% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
|
31% |
62 |
43 |
0 |
|
0% |
12 |
0 |
|
26% |
| src / local_deep_research / news / subscription_manager / storage.py |
|
18% |
122 |
100 |
0 |
|
0% |
36 |
0 |
|
14% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
|
28% |
75 |
54 |
0 |
|
0% |
16 |
0 |
|
23% |
| 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 |
|
0% |
26 |
26 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / utils / topic_generator.py |
|
10% |
61 |
55 |
0 |
|
0% |
28 |
0 |
|
7% |
| src / local_deep_research / news / web.py |
|
32% |
72 |
49 |
0 |
|
0% |
8 |
0 |
|
29% |
| 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 |
|
17% |
149 |
124 |
0 |
|
0% |
36 |
0 |
|
14% |
| src / local_deep_research / notifications / queue_helpers.py |
|
14% |
99 |
85 |
0 |
|
0% |
18 |
0 |
|
12% |
| src / local_deep_research / notifications / service.py |
|
28% |
86 |
62 |
0 |
|
0% |
24 |
0 |
|
22% |
| src / local_deep_research / notifications / templates.py |
|
31% |
85 |
59 |
0 |
|
0% |
16 |
0 |
|
26% |
| src / local_deep_research / notifications / url_builder.py |
|
19% |
27 |
22 |
0 |
|
0% |
8 |
0 |
|
14% |
| src / local_deep_research / report_generator.py |
|
14% |
120 |
103 |
0 |
|
0% |
48 |
0 |
|
10% |
| src / local_deep_research / research_library / __init__.py |
|
100% |
7 |
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 |
|
25% |
157 |
117 |
0 |
|
0% |
30 |
0 |
|
21% |
| 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 |
|
13% |
67 |
58 |
0 |
|
0% |
22 |
0 |
|
10% |
| src / local_deep_research / research_library / deletion / services / collection_deletion.py |
|
43% |
77 |
44 |
0 |
|
33% |
12 |
2 |
|
42% |
| src / local_deep_research / research_library / deletion / services / document_deletion.py |
|
9% |
119 |
108 |
0 |
|
0% |
26 |
0 |
|
8% |
| 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 |
|
32% |
126 |
86 |
0 |
|
3% |
32 |
1 |
|
26% |
| src / local_deep_research / research_library / downloaders / __init__.py |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / arxiv.py |
|
77% |
107 |
25 |
0 |
|
54% |
50 |
11 |
|
69% |
| src / local_deep_research / research_library / downloaders / base.py |
|
81% |
121 |
23 |
0 |
|
81% |
26 |
3 |
|
81% |
| src / local_deep_research / research_library / downloaders / biorxiv.py |
|
14% |
94 |
81 |
0 |
|
0% |
40 |
0 |
|
10% |
| src / local_deep_research / research_library / downloaders / direct_pdf.py |
|
32% |
59 |
40 |
0 |
|
18% |
28 |
3 |
|
28% |
| src / local_deep_research / research_library / downloaders / generic.py |
|
82% |
85 |
15 |
0 |
|
75% |
36 |
5 |
|
80% |
| src / local_deep_research / research_library / downloaders / openalex.py |
|
22% |
88 |
69 |
0 |
|
0% |
26 |
0 |
|
17% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
|
52% |
269 |
130 |
0 |
|
35% |
130 |
19 |
|
46% |
| src / local_deep_research / research_library / downloaders / semantic_scholar.py |
|
27% |
71 |
52 |
0 |
|
0% |
20 |
0 |
|
21% |
| 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 |
|
18% |
562 |
462 |
0 |
|
0% |
142 |
0 |
|
14% |
| src / local_deep_research / research_library / routes / rag_routes.py |
|
17% |
1017 |
847 |
0 |
|
6% |
252 |
2 |
|
15% |
| 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 |
|
23% |
613 |
472 |
0 |
|
16% |
190 |
9 |
|
21% |
| src / local_deep_research / research_library / services / library_rag_service.py |
|
30% |
430 |
302 |
2 |
|
17% |
130 |
12 |
|
27% |
| src / local_deep_research / research_library / services / library_service.py |
|
34% |
242 |
160 |
0 |
|
16% |
74 |
4 |
|
30% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
|
13% |
171 |
148 |
0 |
|
0% |
62 |
0 |
|
10% |
| src / local_deep_research / research_library / utils / __init__.py |
|
28% |
58 |
42 |
0 |
|
0% |
12 |
0 |
|
23% |
| src / local_deep_research / research_scheduler / document_scheduler.py |
|
32% |
28 |
19 |
0 |
|
0% |
4 |
0 |
|
28% |
| src / local_deep_research / research_scheduler / routes.py |
|
100% |
32 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / search_system.py |
|
77% |
98 |
23 |
0 |
|
33% |
30 |
10 |
|
66% |
| src / local_deep_research / search_system_factory.py |
|
13% |
144 |
125 |
0 |
|
12% |
82 |
8 |
|
13% |
| src / local_deep_research / security / __init__.py |
|
61% |
28 |
11 |
0 |
|
100% |
0 |
0 |
|
61% |
| src / local_deep_research / security / data_sanitizer.py |
|
100% |
27 |
0 |
0 |
|
100% |
12 |
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 |
|
65% |
26 |
9 |
0 |
|
0% |
2 |
0 |
|
61% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
|
14% |
201 |
172 |
0 |
|
0% |
66 |
0 |
|
11% |
| 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 |
|
67% |
9 |
3 |
0 |
|
100% |
0 |
0 |
|
67% |
| src / local_deep_research / security / file_upload_validator.py |
|
100% |
62 |
0 |
0 |
|
100% |
24 |
0 |
|
100% |
| src / local_deep_research / security / file_write_verifier.py |
|
0% |
41 |
41 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / security / network_utils.py |
|
18% |
11 |
9 |
0 |
|
0% |
4 |
0 |
|
13% |
| src / local_deep_research / security / notification_validator.py |
|
29% |
62 |
44 |
0 |
|
0% |
26 |
0 |
|
20% |
| src / local_deep_research / security / path_validator.py |
|
66% |
131 |
44 |
0 |
|
56% |
72 |
12 |
|
63% |
| src / local_deep_research / security / rate_limiter.py |
|
51% |
37 |
18 |
0 |
|
25% |
8 |
2 |
|
47% |
| src / local_deep_research / security / safe_requests.py |
|
59% |
63 |
26 |
0 |
|
25% |
24 |
8 |
|
49% |
| src / local_deep_research / security / security_headers.py |
|
87% |
75 |
10 |
0 |
|
55% |
22 |
6 |
|
79% |
| src / local_deep_research / security / ssrf_validator.py |
|
76% |
79 |
19 |
0 |
|
80% |
30 |
2 |
|
77% |
| src / local_deep_research / security / url_builder.py |
|
17% |
66 |
55 |
0 |
|
0% |
24 |
0 |
|
12% |
| src / local_deep_research / security / url_validator.py |
|
90% |
120 |
12 |
0 |
|
93% |
60 |
4 |
|
91% |
| src / local_deep_research / settings / __init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / base.py |
|
71% |
24 |
7 |
0 |
|
100% |
0 |
0 |
|
71% |
| src / local_deep_research / settings / env_definitions / __init__.py |
|
100% |
7 |
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 / testing.py |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_registry.py |
|
87% |
31 |
4 |
0 |
|
75% |
4 |
1 |
|
86% |
| src / local_deep_research / settings / env_settings.py |
|
57% |
145 |
62 |
0 |
|
18% |
34 |
4 |
|
50% |
| src / local_deep_research / settings / logger.py |
|
25% |
53 |
40 |
0 |
|
7% |
30 |
2 |
|
18% |
| src / local_deep_research / settings / manager.py |
|
52% |
343 |
165 |
0 |
|
42% |
144 |
23 |
|
49% |
| src / local_deep_research / storage / __init__.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / base.py |
|
72% |
18 |
5 |
0 |
|
100% |
0 |
0 |
|
72% |
| src / local_deep_research / storage / database.py |
|
52% |
63 |
30 |
0 |
|
67% |
12 |
2 |
|
55% |
| src / local_deep_research / storage / database_with_file_backup.py |
|
52% |
40 |
19 |
0 |
|
25% |
8 |
2 |
|
48% |
| src / local_deep_research / storage / factory.py |
|
74% |
23 |
6 |
0 |
|
50% |
4 |
2 |
|
70% |
| src / local_deep_research / storage / file.py |
|
21% |
67 |
53 |
0 |
|
0% |
12 |
0 |
|
18% |
| 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 |
|
20% |
433 |
345 |
0 |
|
8% |
166 |
3 |
|
17% |
| src / local_deep_research / text_processing / __init__.py |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / text_processing / text_cleaner.py |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / utilities / __init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / db_utils.py |
|
54% |
78 |
36 |
0 |
|
36% |
22 |
4 |
|
50% |
| src / local_deep_research / utilities / enums.py |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / es_utils.py |
|
0% |
122 |
122 |
0 |
|
0% |
30 |
0 |
|
0% |
| src / local_deep_research / utilities / llm_utils.py |
|
6% |
109 |
102 |
0 |
|
0% |
36 |
0 |
|
5% |
| src / local_deep_research / utilities / log_utils.py |
|
33% |
124 |
83 |
0 |
|
8% |
26 |
2 |
|
29% |
| src / local_deep_research / utilities / search_cache.py |
|
65% |
221 |
77 |
0 |
|
60% |
40 |
10 |
|
64% |
| src / local_deep_research / utilities / search_utilities.py |
|
74% |
138 |
36 |
0 |
|
64% |
56 |
12 |
|
71% |
| src / local_deep_research / utilities / setup_utils.py |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / utilities / thread_context.py |
|
74% |
34 |
9 |
0 |
|
62% |
8 |
1 |
|
71% |
| src / local_deep_research / utilities / threading_utils.py |
|
86% |
42 |
6 |
0 |
|
88% |
8 |
1 |
|
86% |
| src / local_deep_research / utilities / url_utils.py |
|
37% |
19 |
12 |
0 |
|
20% |
10 |
2 |
|
31% |
| src / local_deep_research / web / __init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / api.py |
|
55% |
161 |
72 |
0 |
|
39% |
36 |
8 |
|
52% |
| src / local_deep_research / web / app.py |
|
21% |
38 |
30 |
0 |
|
17% |
6 |
1 |
|
20% |
| src / local_deep_research / web / app_factory.py |
|
87% |
343 |
45 |
0 |
|
72% |
46 |
11 |
|
85% |
| 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 |
|
65% |
34 |
12 |
0 |
|
100% |
10 |
0 |
|
73% |
| src / local_deep_research / web / auth / database_middleware.py |
|
90% |
40 |
4 |
0 |
|
67% |
24 |
8 |
|
81% |
| src / local_deep_research / web / auth / decorators.py |
|
73% |
45 |
12 |
0 |
|
56% |
18 |
2 |
|
68% |
| src / local_deep_research / web / auth / middleware_optimizer.py |
|
92% |
25 |
2 |
0 |
|
88% |
16 |
2 |
|
90% |
| src / local_deep_research / web / auth / queue_middleware.py |
|
80% |
20 |
4 |
0 |
|
75% |
8 |
2 |
|
79% |
| src / local_deep_research / web / auth / queue_middleware_v2.py |
|
79% |
19 |
4 |
0 |
|
75% |
8 |
2 |
|
78% |
| src / local_deep_research / web / auth / routes.py |
|
85% |
243 |
37 |
0 |
|
65% |
84 |
21 |
|
80% |
| src / local_deep_research / web / auth / session_cleanup.py |
|
45% |
20 |
11 |
0 |
|
30% |
10 |
1 |
|
40% |
| src / local_deep_research / web / auth / session_manager.py |
|
100% |
54 |
0 |
0 |
|
100% |
18 |
0 |
|
100% |
| src / local_deep_research / web / models / database.py |
|
48% |
79 |
41 |
0 |
|
50% |
14 |
7 |
|
48% |
| src / local_deep_research / web / models / settings.py |
|
82% |
57 |
10 |
0 |
|
12% |
8 |
1 |
|
74% |
| src / local_deep_research / web / queue / __init__.py |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / queue / manager.py |
|
19% |
79 |
64 |
0 |
|
0% |
16 |
0 |
|
16% |
| src / local_deep_research / web / queue / processor_v2.py |
|
52% |
281 |
136 |
0 |
|
47% |
66 |
11 |
|
51% |
| src / local_deep_research / web / routes / api_routes.py |
|
50% |
211 |
106 |
0 |
|
20% |
30 |
6 |
|
46% |
| src / local_deep_research / web / routes / context_overflow_api.py |
|
14% |
101 |
87 |
0 |
|
0% |
38 |
0 |
|
10% |
| src / local_deep_research / web / routes / globals.py |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / history_routes.py |
|
45% |
199 |
109 |
0 |
|
21% |
38 |
8 |
|
41% |
| src / local_deep_research / web / routes / metrics_routes.py |
|
52% |
687 |
332 |
0 |
|
30% |
182 |
43 |
|
47% |
| src / local_deep_research / web / routes / news_routes.py |
|
20% |
154 |
123 |
0 |
|
0% |
4 |
0 |
|
20% |
| src / local_deep_research / web / routes / research_routes.py |
|
48% |
677 |
352 |
0 |
|
33% |
190 |
43 |
|
45% |
| src / local_deep_research / web / routes / settings_routes.py |
|
41% |
913 |
537 |
0 |
|
19% |
326 |
27 |
|
35% |
| src / local_deep_research / web / server_config.py |
|
83% |
48 |
8 |
0 |
|
50% |
18 |
9 |
|
74% |
| src / local_deep_research / web / services / pdf_extraction_service.py |
|
32% |
44 |
30 |
0 |
|
17% |
12 |
0 |
|
29% |
| src / local_deep_research / web / services / research_service.py |
|
46% |
676 |
363 |
0 |
|
36% |
192 |
38 |
|
44% |
| src / local_deep_research / web / services / research_sources_service.py |
|
37% |
91 |
57 |
0 |
|
27% |
22 |
4 |
|
35% |
| src / local_deep_research / web / services / resource_service.py |
|
15% |
52 |
44 |
0 |
|
0% |
6 |
0 |
|
14% |
| src / local_deep_research / web / services / settings_manager.py |
|
61% |
289 |
114 |
0 |
|
47% |
114 |
18 |
|
57% |
| src / local_deep_research / web / services / settings_service.py |
|
35% |
31 |
20 |
0 |
|
0% |
6 |
0 |
|
30% |
| src / local_deep_research / web / services / socket_service.py |
|
50% |
108 |
54 |
0 |
|
21% |
28 |
4 |
|
44% |
| src / local_deep_research / web / utils / __init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / utils / formatters.py |
|
0% |
23 |
23 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web / utils / rate_limiter.py |
|
95% |
20 |
1 |
0 |
|
75% |
4 |
1 |
|
92% |
| src / local_deep_research / web / utils / templates.py |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / utils / vite_helper.py |
|
67% |
46 |
15 |
0 |
|
33% |
18 |
6 |
|
58% |
| 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 |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| 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 |
|
37% |
73 |
46 |
0 |
|
0% |
16 |
0 |
|
30% |
| src / local_deep_research / web_search_engines / engines / meta_search_engine.py |
|
0% |
193 |
193 |
0 |
|
0% |
90 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
|
22% |
292 |
228 |
0 |
|
7% |
126 |
5 |
|
17% |
| src / local_deep_research / web_search_engines / engines / search_engine_arxiv.py |
|
29% |
157 |
111 |
0 |
|
11% |
38 |
2 |
|
26% |
| src / local_deep_research / web_search_engines / engines / search_engine_brave.py |
|
0% |
92 |
92 |
0 |
|
0% |
34 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_collection.py |
|
0% |
91 |
91 |
0 |
|
0% |
20 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_ddg.py |
|
0% |
46 |
46 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_elasticsearch.py |
|
75% |
114 |
28 |
0 |
|
74% |
34 |
3 |
|
75% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
|
0% |
320 |
320 |
0 |
|
0% |
108 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_google_pse.py |
|
62% |
128 |
48 |
0 |
|
47% |
34 |
10 |
|
59% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
|
0% |
243 |
243 |
0 |
|
0% |
82 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_library.py |
|
0% |
126 |
126 |
0 |
|
0% |
38 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
|
34% |
553 |
363 |
0 |
|
17% |
206 |
26 |
|
30% |
| src / local_deep_research / web_search_engines / engines / search_engine_local_all.py |
|
0% |
63 |
63 |
0 |
|
0% |
22 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_nasa_ads.py |
|
0% |
130 |
130 |
0 |
|
0% |
44 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_openalex.py |
|
0% |
157 |
157 |
0 |
|
0% |
58 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
|
0% |
295 |
295 |
0 |
|
0% |
98 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
|
0% |
707 |
707 |
0 |
|
0% |
354 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_retriever.py |
|
0% |
57 |
57 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_scaleserp.py |
|
0% |
137 |
137 |
0 |
|
0% |
60 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
|
50% |
204 |
101 |
0 |
|
23% |
60 |
8 |
|
44% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
|
46% |
240 |
130 |
0 |
|
22% |
92 |
14 |
|
39% |
| src / local_deep_research / web_search_engines / engines / search_engine_serpapi.py |
|
0% |
79 |
79 |
0 |
|
0% |
30 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_serper.py |
|
0% |
138 |
138 |
0 |
|
0% |
58 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_tavily.py |
|
0% |
108 |
108 |
0 |
|
0% |
38 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
|
0% |
199 |
199 |
0 |
|
0% |
54 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikinews.py |
|
0% |
163 |
163 |
0 |
|
0% |
42 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikipedia.py |
|
95% |
115 |
6 |
0 |
|
91% |
22 |
2 |
|
94% |
| 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 |
|
72% |
43 |
12 |
0 |
|
62% |
24 |
5 |
|
69% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
|
13% |
94 |
82 |
0 |
|
0% |
30 |
0 |
|
10% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
|
69% |
288 |
89 |
0 |
|
58% |
100 |
22 |
|
66% |
| src / local_deep_research / web_search_engines / retriever_registry.py |
|
54% |
37 |
17 |
0 |
|
0% |
4 |
0 |
|
49% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
|
91% |
257 |
23 |
0 |
|
87% |
70 |
7 |
|
90% |
| src / local_deep_research / web_search_engines / search_engine_factory.py |
|
50% |
222 |
110 |
0 |
|
38% |
134 |
25 |
|
46% |
| src / local_deep_research / web_search_engines / search_engines_config.py |
|
75% |
95 |
24 |
0 |
|
76% |
34 |
8 |
|
75% |