MindsDB 25.2.3.0__py3-none-any.whl → 25.3.1.0__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.
Potentially problematic release.
This version of MindsDB might be problematic. Click here for more details.
- mindsdb/__about__.py +1 -1
- mindsdb/__main__.py +16 -11
- mindsdb/api/executor/command_executor.py +1 -1
- mindsdb/api/executor/datahub/datanodes/system_tables.py +10 -2
- mindsdb/api/executor/planner/query_planner.py +6 -2
- mindsdb/api/executor/sql_query/steps/prepare_steps.py +2 -1
- mindsdb/api/http/initialize.py +8 -5
- mindsdb/api/http/namespaces/agents.py +0 -7
- mindsdb/api/http/namespaces/config.py +0 -48
- mindsdb/api/http/namespaces/knowledge_bases.py +1 -1
- mindsdb/api/http/namespaces/util.py +0 -28
- mindsdb/api/mongo/classes/query_sql.py +2 -1
- mindsdb/api/mongo/responders/aggregate.py +2 -2
- mindsdb/api/mongo/responders/coll_stats.py +3 -2
- mindsdb/api/mongo/responders/db_stats.py +2 -1
- mindsdb/api/mongo/responders/insert.py +4 -2
- mindsdb/api/mysql/mysql_proxy/classes/fake_mysql_proxy/fake_mysql_proxy.py +2 -1
- mindsdb/api/mysql/mysql_proxy/mysql_proxy.py +5 -4
- mindsdb/api/postgres/postgres_proxy/postgres_proxy.py +2 -4
- mindsdb/integrations/handlers/anyscale_endpoints_handler/requirements.txt +0 -1
- mindsdb/integrations/handlers/autosklearn_handler/autosklearn_handler.py +1 -1
- mindsdb/integrations/handlers/dspy_handler/requirements.txt +0 -1
- mindsdb/integrations/handlers/gmail_handler/connection_args.py +2 -2
- mindsdb/integrations/handlers/gmail_handler/gmail_handler.py +19 -66
- mindsdb/integrations/handlers/gmail_handler/requirements.txt +0 -1
- mindsdb/integrations/handlers/google_calendar_handler/connection_args.py +15 -0
- mindsdb/integrations/handlers/google_calendar_handler/google_calendar_handler.py +31 -41
- mindsdb/integrations/handlers/google_calendar_handler/requirements.txt +0 -2
- mindsdb/integrations/handlers/langchain_embedding_handler/requirements.txt +0 -1
- mindsdb/integrations/handlers/langchain_handler/requirements.txt +0 -1
- mindsdb/integrations/handlers/llama_index_handler/requirements.txt +0 -1
- mindsdb/integrations/handlers/openai_handler/constants.py +3 -1
- mindsdb/integrations/handlers/openai_handler/requirements.txt +0 -1
- mindsdb/integrations/handlers/rag_handler/requirements.txt +0 -1
- mindsdb/integrations/handlers/ray_serve_handler/ray_serve_handler.py +33 -8
- mindsdb/integrations/handlers/web_handler/urlcrawl_helpers.py +3 -2
- mindsdb/integrations/handlers/web_handler/web_handler.py +42 -33
- mindsdb/integrations/handlers/youtube_handler/__init__.py +2 -0
- mindsdb/integrations/handlers/youtube_handler/connection_args.py +32 -0
- mindsdb/integrations/handlers/youtube_handler/youtube_handler.py +2 -38
- mindsdb/integrations/libs/llm/utils.py +7 -1
- mindsdb/integrations/libs/process_cache.py +2 -2
- mindsdb/integrations/utilities/handlers/auth_utilities/google/google_user_oauth_utilities.py +29 -38
- mindsdb/integrations/utilities/pydantic_utils.py +208 -0
- mindsdb/integrations/utilities/rag/chains/local_context_summarizer_chain.py +227 -0
- mindsdb/integrations/utilities/rag/pipelines/rag.py +11 -4
- mindsdb/integrations/utilities/rag/retrievers/sql_retriever.py +800 -135
- mindsdb/integrations/utilities/rag/settings.py +390 -152
- mindsdb/integrations/utilities/sql_utils.py +2 -1
- mindsdb/interfaces/agents/agents_controller.py +14 -10
- mindsdb/interfaces/agents/callback_handlers.py +52 -5
- mindsdb/interfaces/agents/langchain_agent.py +5 -3
- mindsdb/interfaces/agents/mindsdb_chat_model.py +4 -2
- mindsdb/interfaces/chatbot/chatbot_controller.py +9 -8
- mindsdb/interfaces/database/database.py +3 -2
- mindsdb/interfaces/database/integrations.py +1 -1
- mindsdb/interfaces/database/projects.py +28 -2
- mindsdb/interfaces/jobs/jobs_controller.py +4 -1
- mindsdb/interfaces/jobs/scheduler.py +1 -1
- mindsdb/interfaces/knowledge_base/preprocessing/constants.py +2 -2
- mindsdb/interfaces/model/model_controller.py +5 -2
- mindsdb/interfaces/skills/retrieval_tool.py +128 -39
- mindsdb/interfaces/skills/skill_tool.py +7 -7
- mindsdb/interfaces/skills/skills_controller.py +10 -6
- mindsdb/interfaces/skills/sql_agent.py +6 -1
- mindsdb/interfaces/storage/db.py +14 -12
- mindsdb/interfaces/storage/json.py +59 -0
- mindsdb/interfaces/storage/model_fs.py +85 -3
- mindsdb/interfaces/triggers/triggers_controller.py +2 -1
- mindsdb/migrations/versions/2022-10-14_43c52d23845a_projects.py +17 -3
- mindsdb/migrations/versions/2025-02-10_6ab9903fc59a_del_log_table.py +33 -0
- mindsdb/migrations/versions/2025-02-14_4521dafe89ab_added_encrypted_content_to_json_storage.py +29 -0
- mindsdb/migrations/versions/2025-02-19_11347c213b36_added_metadata_to_projects.py +41 -0
- mindsdb/utilities/config.py +6 -1
- mindsdb/utilities/functions.py +11 -0
- mindsdb/utilities/log.py +17 -2
- mindsdb/utilities/ml_task_queue/consumer.py +4 -2
- mindsdb/utilities/render/sqlalchemy_render.py +4 -0
- {MindsDB-25.2.3.0.dist-info → mindsdb-25.3.1.0.dist-info}/METADATA +226 -247
- {MindsDB-25.2.3.0.dist-info → mindsdb-25.3.1.0.dist-info}/RECORD +83 -80
- {MindsDB-25.2.3.0.dist-info → mindsdb-25.3.1.0.dist-info}/WHEEL +1 -1
- mindsdb/integrations/handlers/gmail_handler/utils.py +0 -45
- mindsdb/utilities/log_controller.py +0 -39
- mindsdb/utilities/telemetry.py +0 -44
- {MindsDB-25.2.3.0.dist-info → mindsdb-25.3.1.0.dist-info}/LICENSE +0 -0
- {MindsDB-25.2.3.0.dist-info → mindsdb-25.3.1.0.dist-info}/top_level.txt +0 -0
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
from mindsdb.interfaces.storage import db
|
|
2
|
-
from mindsdb.utilities.context import context as ctx
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
def fmt_log_record(log_record):
|
|
6
|
-
return {
|
|
7
|
-
'log_from': 'mindsdb',
|
|
8
|
-
'level': log_record.log_type,
|
|
9
|
-
'context': 'unknown',
|
|
10
|
-
'text': log_record.payload,
|
|
11
|
-
'created_at': str(log_record.created_at).split('.')[0]
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
def get_logs(min_timestamp, max_timestamp, context, level, log_from, limit):
|
|
16
|
-
logs = db.session.query(db.Log).filter(
|
|
17
|
-
db.Log.company_id == ctx.company_id,
|
|
18
|
-
db.Log.created_at > min_timestamp
|
|
19
|
-
)
|
|
20
|
-
|
|
21
|
-
if max_timestamp is not None:
|
|
22
|
-
logs = logs.filter(db.Log.created_at < max_timestamp)
|
|
23
|
-
|
|
24
|
-
if context is not None:
|
|
25
|
-
# e.g. datasource/predictor and assoicated id
|
|
26
|
-
pass
|
|
27
|
-
|
|
28
|
-
if level is not None:
|
|
29
|
-
logs = logs.filter(db.Log.log_type == level)
|
|
30
|
-
|
|
31
|
-
if log_from is not None:
|
|
32
|
-
# mindsdb/native/lightwood/all
|
|
33
|
-
pass
|
|
34
|
-
|
|
35
|
-
if limit is not None:
|
|
36
|
-
logs = logs.limit(limit)
|
|
37
|
-
|
|
38
|
-
logs = [fmt_log_record(x) for x in logs]
|
|
39
|
-
return logs
|
mindsdb/utilities/telemetry.py
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
from pathlib import Path
|
|
3
|
-
|
|
4
|
-
TELEMETRY_FILE = 'telemetry.lock'
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
def enable_telemetry(storage_dir):
|
|
8
|
-
os.environ['CHECK_FOR_UPDATES'] = '1'
|
|
9
|
-
path = os.path.join(storage_dir, TELEMETRY_FILE)
|
|
10
|
-
if os.path.exists(path):
|
|
11
|
-
os.remove(path)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def disable_telemetry(storage_dir):
|
|
15
|
-
os.environ['CHECK_FOR_UPDATES'] = '0'
|
|
16
|
-
path = os.path.join(storage_dir, TELEMETRY_FILE)
|
|
17
|
-
with open(path, 'w') as _:
|
|
18
|
-
pass
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
def telemetry_file_exists(storage_dir):
|
|
22
|
-
path = os.path.join(storage_dir, TELEMETRY_FILE)
|
|
23
|
-
return os.path.exists(path)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def inject_telemetry_to_static(static_folder):
|
|
27
|
-
TEXT = '<script>localStorage.isTestUser = true;</script>'
|
|
28
|
-
index = Path(static_folder).joinpath('index.html')
|
|
29
|
-
disable_telemetry = os.getenv('CHECK_FOR_UPDATES', '1').lower() in ['0', 'false', 'False']
|
|
30
|
-
if index.is_file():
|
|
31
|
-
with open(str(index), 'rt') as f:
|
|
32
|
-
content = f.read()
|
|
33
|
-
script_index = content.find('<script>')
|
|
34
|
-
need_update = True
|
|
35
|
-
if TEXT not in content and disable_telemetry:
|
|
36
|
-
content = content[:script_index] + TEXT + content[script_index:]
|
|
37
|
-
elif not disable_telemetry and TEXT in content:
|
|
38
|
-
content = content.replace(TEXT, '')
|
|
39
|
-
else:
|
|
40
|
-
need_update = False
|
|
41
|
-
|
|
42
|
-
if need_update:
|
|
43
|
-
with open(str(index), 'wt') as f:
|
|
44
|
-
f.write(content)
|
|
File without changes
|
|
File without changes
|