local-deep-research 0.5.0__py3-none-any.whl → 0.5.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- local_deep_research/__version__.py +1 -1
- local_deep_research/config/llm_config.py +61 -1
- local_deep_research/error_handling/__init__.py +13 -0
- local_deep_research/error_handling/error_reporter.py +236 -0
- local_deep_research/error_handling/report_generator.py +403 -0
- local_deep_research/web/database/migrations.py +16 -1
- local_deep_research/web/database/models.py +31 -31
- local_deep_research/web/models/database.py +13 -23
- local_deep_research/web/routes/history_routes.py +1 -1
- local_deep_research/web/routes/research_routes.py +65 -113
- local_deep_research/web/services/research_service.py +218 -160
- local_deep_research/web/static/js/components/progress.js +19 -13
- local_deep_research/web/static/js/components/results.js +1 -1
- local_deep_research/web/templates/pages/research.html +2 -2
- {local_deep_research-0.5.0.dist-info → local_deep_research-0.5.3.dist-info}/METADATA +1 -1
- {local_deep_research-0.5.0.dist-info → local_deep_research-0.5.3.dist-info}/RECORD +19 -17
- local_deep_research/test_migration.py +0 -188
- {local_deep_research-0.5.0.dist-info → local_deep_research-0.5.3.dist-info}/WHEEL +0 -0
- {local_deep_research-0.5.0.dist-info → local_deep_research-0.5.3.dist-info}/entry_points.txt +0 -0
- {local_deep_research-0.5.0.dist-info → local_deep_research-0.5.3.dist-info}/licenses/LICENSE +0 -0
@@ -1,9 +1,9 @@
|
|
1
|
-
local_deep_research-0.5.
|
2
|
-
local_deep_research-0.5.
|
3
|
-
local_deep_research-0.5.
|
4
|
-
local_deep_research-0.5.
|
1
|
+
local_deep_research-0.5.3.dist-info/METADATA,sha256=sJGfKxEAI9Nn8wafKK3qnTOaj8sJzq2mqNvl130ep0s,17676
|
2
|
+
local_deep_research-0.5.3.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
|
3
|
+
local_deep_research-0.5.3.dist-info/entry_points.txt,sha256=GcXS501Rjh-P80S8db7hnrQ23mS_Jg27PwpVQVO77as,113
|
4
|
+
local_deep_research-0.5.3.dist-info/licenses/LICENSE,sha256=Qg2CaTdu6SWnSqk1_JtgBPp_Da-LdqJDhT1Vt1MUc5s,1072
|
5
5
|
local_deep_research/__init__.py,sha256=j1ktf_e9HeXPe86NHibY5aINtZfTSGRTvLNtz9BJZa4,1071
|
6
|
-
local_deep_research/__version__.py,sha256=
|
6
|
+
local_deep_research/__version__.py,sha256=tgzuqHKcEdKBaP57F5oXxq4XlW2n9J4Fj8ZGu7nGOZg,22
|
7
7
|
local_deep_research/advanced_search_system/__init__.py,sha256=sGusMj4eFIrhXR6QbOM16UDKB6aI-iS4IFivKWpMlh0,234
|
8
8
|
local_deep_research/advanced_search_system/answer_decoding/__init__.py,sha256=BmmbIPQnouYyboFD61CDq71fW5On555w7dbt42s9gV4,148
|
9
9
|
local_deep_research/advanced_search_system/answer_decoding/browsecomp_answer_decoder.py,sha256=4FDMP4n_z5DOzVIisH3_kexRqNm1AO3MDe-Md3WtgE0,12856
|
@@ -135,11 +135,14 @@ local_deep_research/citation_handlers/forced_answer_citation_handler.py,sha256=o
|
|
135
135
|
local_deep_research/citation_handlers/precision_extraction_handler.py,sha256=wJkoWzu4ODAZRJoCH5WPZVD96UnsrfBDvW8cE4FCm_Q,19835
|
136
136
|
local_deep_research/citation_handlers/standard_citation_handler.py,sha256=PaJDvkwWOW6J4ZtA1VYSE78F4p3xiMtH1ZvdIBceyDQ,2987
|
137
137
|
local_deep_research/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
138
|
-
local_deep_research/config/llm_config.py,sha256=
|
138
|
+
local_deep_research/config/llm_config.py,sha256=_IIYxtdn9S3ry2OVrBX9ztLNg3frSp2vNqDcqhie-aY,21512
|
139
139
|
local_deep_research/config/search_config.py,sha256=DP7SbdcqGPu1yxv3fxtqd1vda5pVY3fH66DyDKuzJio,2209
|
140
140
|
local_deep_research/defaults/.env.template,sha256=_eVCy4d_XwpGXy8n50CG3wH9xx2oqJCFKS7IbqgInDk,491
|
141
141
|
local_deep_research/defaults/__init__.py,sha256=EUnb-wRT2mtv6lqM0hB16KfHJkR7d8JBNCIbEKwu48k,1342
|
142
142
|
local_deep_research/defaults/default_settings.json,sha256=0dfTFkplu7wnLJQYLBf4wKER55EmYbp_rMAJ5kgmUXc,124250
|
143
|
+
local_deep_research/error_handling/__init__.py,sha256=3kiEhchFP-gDeD_qM3lhtQqeVx7enqIwm_4hBKtohLg,396
|
144
|
+
local_deep_research/error_handling/error_reporter.py,sha256=tPBWUftpw6NWIcoRJJbaGaLApx7CQdcz3AppGDWKmnM,8583
|
145
|
+
local_deep_research/error_handling/report_generator.py,sha256=EQnKC2uENEWNAhOA2swJTxEG5CEwZDTHY4dlM1s4kM0,17303
|
143
146
|
local_deep_research/metrics/__init__.py,sha256=u1yUJndwNie8Pq3HGx2NxmFCVwIl0EvkxSxiMFpzSyM,331
|
144
147
|
local_deep_research/metrics/database.py,sha256=Nd6jTN__ZLM2lHld9sHT_tiVe3XNFgNeanFhIVuAVhw,1686
|
145
148
|
local_deep_research/metrics/db_models.py,sha256=X3ow1uXjjmZhdARE7MV37pQhr3UQknB1X5iWdTiJtSs,3464
|
@@ -159,7 +162,6 @@ local_deep_research/migrate_db.py,sha256=-Ql7bC2VmXlWtDOXj7CGVBvBlSk--wHyZCniWJn
|
|
159
162
|
local_deep_research/report_generator.py,sha256=J7Y7_soTAPkIajzbkIAPeq1ziTsXPMMz4Fwl6C-n6Zw,9282
|
160
163
|
local_deep_research/search_system.py,sha256=BpHhWXj82iVAJajpwyHaYyeBcNKbYY5DG2oxoNDERlo,27194
|
161
164
|
local_deep_research/setup_data_dir.py,sha256=7MJa2MMdDUnktJVHwMpyNL2079-qylpIyyLpVbF5AUY,1134
|
162
|
-
local_deep_research/test_migration.py,sha256=vzgGkY2EkmvQYJtUGD7Vt14i8jf04oCvNkzMnwuMBzY,6683
|
163
165
|
local_deep_research/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
164
166
|
local_deep_research/utilities/db_utils.py,sha256=BE3oP7WRbtlaqOxMrVFoAo11NpTk3RlC9w8tZUC_INU,1681
|
165
167
|
local_deep_research/utilities/enums.py,sha256=yFwmodt93uETdQd7qyW4vOUhiAzZF-BHBbVYHKN7scU,223
|
@@ -177,19 +179,19 @@ local_deep_research/web/app.py,sha256=tzxKLJU1m8aG6HXIiDbHaGkd8seX_A3pfgr9wK7w6Z
|
|
177
179
|
local_deep_research/web/app_factory.py,sha256=7o5GM8PUwVzB1sz7PywXLLqw3QkzhZZ18mBPbvZXKbM,9153
|
178
180
|
local_deep_research/web/database/README.md,sha256=eEDLqLIfOBRvc0TFh3J1HrtFbZceYmVgpjS3-oyZ5nI,2861
|
179
181
|
local_deep_research/web/database/migrate_to_ldr_db.py,sha256=RRzITerhjUjlHPTf6GoNgrwa4BpKuj_RAohzcS9ttG0,9919
|
180
|
-
local_deep_research/web/database/migrations.py,sha256=
|
181
|
-
local_deep_research/web/database/models.py,sha256=
|
182
|
+
local_deep_research/web/database/migrations.py,sha256=BKUDckR98Yz8cMtd473lMxLcVqWTtFyHVFWFPs9PgfY,2468
|
183
|
+
local_deep_research/web/database/models.py,sha256=k5YSyhw_vjBDdI-_gIdoTboPHWhX_O_el0SZ0SVKJrM,5747
|
182
184
|
local_deep_research/web/database/schema_upgrade.py,sha256=x3zwZNTR2kpfqOdg573fyX6X4bH1yF5pc_it_a44CR4,3525
|
183
|
-
local_deep_research/web/models/database.py,sha256=
|
185
|
+
local_deep_research/web/models/database.py,sha256=uBecKQpZd9cXdt2ZPUr0FOpHFbDZd40kQNKYSZOxnEI,8422
|
184
186
|
local_deep_research/web/models/settings.py,sha256=rXBI9vY5k3ndR8dPd3fZJy-6HwYltQihhSBRq-sZutw,2314
|
185
187
|
local_deep_research/web/routes/api_routes.py,sha256=7hOFqF7Y3Qc5PwugXRoSi1CEVIcXUeW6nSwWayLB0P4,20052
|
186
188
|
local_deep_research/web/routes/benchmark_routes.py,sha256=bXiURrmWoaGtbOQ3jhgXgxjs3Qa440Jqk1CPZ1QMyO0,15725
|
187
189
|
local_deep_research/web/routes/globals.py,sha256=cCCSW0MPxHKNXDy0kGG5HqOz197i1iyqJdWRI72DCWw,454
|
188
|
-
local_deep_research/web/routes/history_routes.py,sha256=
|
190
|
+
local_deep_research/web/routes/history_routes.py,sha256=fFdZbMBWAQmtgTipWD1zNeRDhXRGAYiJhCmWrlWYaaY,12847
|
189
191
|
local_deep_research/web/routes/metrics_routes.py,sha256=b0fYdhH_OvyvMRjdswA41qPNV4DIWrZjoOnlysEBcAE,41619
|
190
|
-
local_deep_research/web/routes/research_routes.py,sha256=
|
192
|
+
local_deep_research/web/routes/research_routes.py,sha256=fVMV9WDO2T6XVVH1oU_bCXR1ekg6XNbnvkc61NB-DQs,27964
|
191
193
|
local_deep_research/web/routes/settings_routes.py,sha256=0VZPWSZ9-yQNFNdid_rC4jzqKI2sE0AjucuIstZx548,60600
|
192
|
-
local_deep_research/web/services/research_service.py,sha256=
|
194
|
+
local_deep_research/web/services/research_service.py,sha256=UXzq9Kx5t3fOv4IHKk2fP413XvEEwDzUapF5ehZzAIM,48027
|
193
195
|
local_deep_research/web/services/resource_service.py,sha256=aU7SDADxcIAAuIymL_TOxUV_HvEMAfL8gZSB5gVSzFM,4674
|
194
196
|
local_deep_research/web/services/settings_manager.py,sha256=EsAqZ5LTFFJcrWdCEheQYUqMWCwh7AUGe6Jefi8-Df4,19744
|
195
197
|
local_deep_research/web/services/settings_service.py,sha256=W3TdSb1_WTBdKVQEvi4swXBP99dMm2IT7H-5Y1weEH4,3535
|
@@ -204,9 +206,9 @@ local_deep_research/web/static/js/components/fallback/formatting.js,sha256=OoP38
|
|
204
206
|
local_deep_research/web/static/js/components/fallback/ui.js,sha256=O4fMeHXodvpFTEgSYR2TmcbL5Kyt2Hq1Tv2O7B3fDpk,7210
|
205
207
|
local_deep_research/web/static/js/components/history.js,sha256=TiE1R1U81L0bOuKhBgmB-9gS-66YNgmi_yIy-rG_5uY,15507
|
206
208
|
local_deep_research/web/static/js/components/logpanel.js,sha256=IiTpKPSEn7KtKT4xh9X6FcMZWfloj5eTDa8Oday2lhs,42808
|
207
|
-
local_deep_research/web/static/js/components/progress.js,sha256=
|
209
|
+
local_deep_research/web/static/js/components/progress.js,sha256=8cydtosQZpdX2MTpYEq9GPARCWV5azKMaRHxYiDvJoM,42542
|
208
210
|
local_deep_research/web/static/js/components/research.js,sha256=EGWDdpswJnvH3GNlmp5albNzMv6-_20uF2D0qB73-zo,86577
|
209
|
-
local_deep_research/web/static/js/components/results.js,sha256=
|
211
|
+
local_deep_research/web/static/js/components/results.js,sha256=3kDk0kodglBqIODh_ve0I9ERIZkITz2yB5isUUda-bc,35763
|
210
212
|
local_deep_research/web/static/js/components/settings.js,sha256=qnRxnx9LdyOpjIEKfb4mJdES9sLkNKvyzxy4OGUqmGQ,169998
|
211
213
|
local_deep_research/web/static/js/components/settings_sync.js,sha256=LWDZ2EE8ChCxI5TPmPm9F4rOiYIEzEJxSCE1GLXk-2w,3925
|
212
214
|
local_deep_research/web/static/js/main.js,sha256=z7gJvwL6A7xqAYloen8uoshdOLeRWohM57xsfrCDUuI,8143
|
@@ -232,7 +234,7 @@ local_deep_research/web/templates/pages/details.html,sha256=Led51_cv97e_Z057_7QV
|
|
232
234
|
local_deep_research/web/templates/pages/history.html,sha256=dGeXmpp1WTsd3Em_8k1cscwOJEPO_7puu04KC966QhA,1982
|
233
235
|
local_deep_research/web/templates/pages/metrics.html,sha256=IYG08UNnWAATqCDh0fRskJONKjHTLGgLWcrztiAm0Yg,81507
|
234
236
|
local_deep_research/web/templates/pages/progress.html,sha256=iRKGkgyo9wBKrYAiwk61MbnaDUxeQf8SGP3wGoHWteQ,2546
|
235
|
-
local_deep_research/web/templates/pages/research.html,sha256=
|
237
|
+
local_deep_research/web/templates/pages/research.html,sha256=Nn_LatiSZfKxa-Oq7z1WaV65GfPHu35YvYJDlHiTDs0,9634
|
236
238
|
local_deep_research/web/templates/pages/results.html,sha256=n5tHESU5iRcjwjga4y589r41B9NEqHIvzpMsXlRL0vw,3591
|
237
239
|
local_deep_research/web/templates/pages/star_reviews.html,sha256=Bg3cGwRjNBBSvC9ZoqZqjY-6_0-cM4VZHRGlTai_Wng,24361
|
238
240
|
local_deep_research/web/templates/settings_dashboard.html,sha256=A1fBe1D29v8G3ys94_rIiBP6Ky-rtYL6TRbDluoBMPI,4342
|
@@ -262,4 +264,4 @@ local_deep_research/web_search_engines/engines/search_engine_wikipedia.py,sha256
|
|
262
264
|
local_deep_research/web_search_engines/search_engine_base.py,sha256=sRgtszDM9RqNw_oVdmGk8CmKS_9EJYR-LyE1as53cp8,12401
|
263
265
|
local_deep_research/web_search_engines/search_engine_factory.py,sha256=eMaFup2p4u1nP4fTmjzfLUAl_mUZkoE1mUABBIvNzDM,12095
|
264
266
|
local_deep_research/web_search_engines/search_engines_config.py,sha256=oJ5GL9BhFvWFgmFtvwJ7AZ9o-uPLEfTNhJJouHF40iA,5296
|
265
|
-
local_deep_research-0.5.
|
267
|
+
local_deep_research-0.5.3.dist-info/RECORD,,
|
@@ -1,188 +0,0 @@
|
|
1
|
-
#!/usr/bin/env python
|
2
|
-
"""
|
3
|
-
Migration test script for Local Deep Research.
|
4
|
-
This script checks the contents of both the legacy and new databases to diagnose migration issues.
|
5
|
-
"""
|
6
|
-
|
7
|
-
import os
|
8
|
-
import sqlite3
|
9
|
-
import sys
|
10
|
-
import time
|
11
|
-
|
12
|
-
|
13
|
-
def check_db_content(db_path, description):
|
14
|
-
"""Check what tables and how many rows are in a database."""
|
15
|
-
if not os.path.exists(db_path):
|
16
|
-
print(f"❌ {description} database not found at: {db_path}")
|
17
|
-
return False
|
18
|
-
|
19
|
-
print(f"📊 Examining {description} database at: {db_path}")
|
20
|
-
try:
|
21
|
-
conn = sqlite3.connect(db_path)
|
22
|
-
cursor = conn.cursor()
|
23
|
-
|
24
|
-
# Get list of tables
|
25
|
-
cursor.execute("SELECT name FROM sqlite_master WHERE type='table'")
|
26
|
-
tables = [
|
27
|
-
row[0]
|
28
|
-
for row in cursor.fetchall()
|
29
|
-
if not row[0].startswith("sqlite_")
|
30
|
-
]
|
31
|
-
|
32
|
-
if not tables:
|
33
|
-
print(" ℹ️ No user tables found in database")
|
34
|
-
conn.close()
|
35
|
-
return False
|
36
|
-
|
37
|
-
print(f" 📋 Tables found: {', '.join(tables)}")
|
38
|
-
|
39
|
-
# For each table, count rows
|
40
|
-
for table in tables:
|
41
|
-
cursor.execute(f"SELECT COUNT(*) FROM {table}")
|
42
|
-
count = cursor.fetchone()[0]
|
43
|
-
print(f" 📝 Table '{table}' has {count} rows")
|
44
|
-
|
45
|
-
# If table has rows, show sample
|
46
|
-
if count > 0:
|
47
|
-
cursor.execute(f"SELECT * FROM {table} LIMIT 1")
|
48
|
-
columns = [description[0] for description in cursor.description]
|
49
|
-
print(f" Columns: {', '.join(columns)}")
|
50
|
-
|
51
|
-
# For specific tables, get key columns
|
52
|
-
if table in [
|
53
|
-
"research_history",
|
54
|
-
"research_logs",
|
55
|
-
"research",
|
56
|
-
"settings",
|
57
|
-
]:
|
58
|
-
key_cols = (
|
59
|
-
"id, query, status"
|
60
|
-
if table == "research_history"
|
61
|
-
else "id, key, value"
|
62
|
-
if table == "settings"
|
63
|
-
else "id, message"
|
64
|
-
)
|
65
|
-
cursor.execute(f"SELECT {key_cols} FROM {table} LIMIT 3")
|
66
|
-
sample = cursor.fetchall()
|
67
|
-
for row in sample:
|
68
|
-
print(f" Sample data: {row}")
|
69
|
-
|
70
|
-
conn.close()
|
71
|
-
return True
|
72
|
-
except Exception as e:
|
73
|
-
print(f"❌ Error examining database: {e}")
|
74
|
-
return False
|
75
|
-
|
76
|
-
|
77
|
-
def main():
|
78
|
-
"""Main function to test the migration."""
|
79
|
-
# Import necessary constants
|
80
|
-
try:
|
81
|
-
# Set up paths
|
82
|
-
current_dir = os.path.dirname(os.path.abspath(__file__))
|
83
|
-
project_root = os.path.abspath(os.path.join(current_dir, "..", ".."))
|
84
|
-
|
85
|
-
# Determine paths
|
86
|
-
data_dir = os.path.join(project_root, "data")
|
87
|
-
new_db_path = os.path.join(data_dir, "ldr.db")
|
88
|
-
|
89
|
-
legacy_research_history_db = os.path.join(
|
90
|
-
project_root, "src", "local_deep_research", "research_history.db"
|
91
|
-
)
|
92
|
-
legacy_deep_research_db = os.path.join(data_dir, "deep_research.db")
|
93
|
-
|
94
|
-
# Print paths for verification
|
95
|
-
print("=" * 60)
|
96
|
-
print("DATABASE PATHS")
|
97
|
-
print("=" * 60)
|
98
|
-
print(f"New database path: {new_db_path}")
|
99
|
-
print(f"Legacy research history DB: {legacy_research_history_db}")
|
100
|
-
print(f"Legacy deep research DB: {legacy_deep_research_db}")
|
101
|
-
print("=" * 60)
|
102
|
-
|
103
|
-
# Check all databases
|
104
|
-
check_db_content(legacy_research_history_db, "Legacy research_history")
|
105
|
-
check_db_content(legacy_deep_research_db, "Legacy deep_research")
|
106
|
-
|
107
|
-
# Now check for the new database or create it if needed
|
108
|
-
if os.path.exists(new_db_path):
|
109
|
-
check_db_content(new_db_path, "New ldr")
|
110
|
-
else:
|
111
|
-
print(f"ℹ️ New database doesn't exist yet at: {new_db_path}")
|
112
|
-
print("Would you like to run a test migration? (y/n)")
|
113
|
-
choice = input("> ").lower()
|
114
|
-
if choice == "y":
|
115
|
-
# Run the migration script directly
|
116
|
-
try:
|
117
|
-
from src.local_deep_research.setup_data_dir import (
|
118
|
-
setup_data_dir,
|
119
|
-
)
|
120
|
-
except ImportError:
|
121
|
-
# If that fails, try with the direct import
|
122
|
-
sys.path.append(
|
123
|
-
os.path.dirname(
|
124
|
-
os.path.dirname(os.path.abspath(__file__))
|
125
|
-
)
|
126
|
-
)
|
127
|
-
from local_deep_research.setup_data_dir import (
|
128
|
-
setup_data_dir,
|
129
|
-
)
|
130
|
-
|
131
|
-
setup_data_dir()
|
132
|
-
|
133
|
-
# Import migration function
|
134
|
-
try:
|
135
|
-
from src.local_deep_research.web.database.migrate_to_ldr_db import (
|
136
|
-
migrate_to_ldr_db,
|
137
|
-
)
|
138
|
-
except ImportError:
|
139
|
-
# If that fails, try with the direct import
|
140
|
-
from local_deep_research.web.database.migrate_to_ldr_db import (
|
141
|
-
migrate_to_ldr_db,
|
142
|
-
)
|
143
|
-
|
144
|
-
print("Running migration...")
|
145
|
-
success = migrate_to_ldr_db()
|
146
|
-
|
147
|
-
# Wait briefly to ensure file system has time to update
|
148
|
-
time.sleep(1)
|
149
|
-
|
150
|
-
if success:
|
151
|
-
print("\n✅ Migration completed. Checking new database:")
|
152
|
-
check_db_content(new_db_path, "New ldr")
|
153
|
-
else:
|
154
|
-
print("❌ Migration failed")
|
155
|
-
|
156
|
-
# Get the paths from the migration script to verify
|
157
|
-
try:
|
158
|
-
try:
|
159
|
-
from src.local_deep_research.web.models.database import (
|
160
|
-
DB_PATH,
|
161
|
-
LEGACY_DEEP_RESEARCH_DB,
|
162
|
-
LEGACY_RESEARCH_HISTORY_DB,
|
163
|
-
)
|
164
|
-
except ImportError:
|
165
|
-
from local_deep_research.web.models.database import (
|
166
|
-
DB_PATH,
|
167
|
-
LEGACY_DEEP_RESEARCH_DB,
|
168
|
-
LEGACY_RESEARCH_HISTORY_DB,
|
169
|
-
)
|
170
|
-
|
171
|
-
print("\n" + "=" * 60)
|
172
|
-
print("PATHS FROM DATABASE MODULE")
|
173
|
-
print("=" * 60)
|
174
|
-
print(f"DB_PATH: {DB_PATH}")
|
175
|
-
print(f"LEGACY_RESEARCH_HISTORY_DB: {LEGACY_RESEARCH_HISTORY_DB}")
|
176
|
-
print(f"LEGACY_DEEP_RESEARCH_DB: {LEGACY_DEEP_RESEARCH_DB}")
|
177
|
-
except ImportError as e:
|
178
|
-
print(f"Could not import paths from database module: {e}")
|
179
|
-
|
180
|
-
except Exception as e:
|
181
|
-
print(f"Error in test script: {e}")
|
182
|
-
return 1
|
183
|
-
|
184
|
-
return 0
|
185
|
-
|
186
|
-
|
187
|
-
if __name__ == "__main__":
|
188
|
-
sys.exit(main())
|
File without changes
|
{local_deep_research-0.5.0.dist-info → local_deep_research-0.5.3.dist-info}/entry_points.txt
RENAMED
File without changes
|
{local_deep_research-0.5.0.dist-info → local_deep_research-0.5.3.dist-info}/licenses/LICENSE
RENAMED
File without changes
|