MindsDB 25.3.4.0__py3-none-any.whl → 25.3.4.1__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.

@@ -4,29 +4,29 @@ from mindsdb.integrations.libs.const import HANDLER_CONNECTION_ARG_TYPE as ARG_T
4
4
 
5
5
 
6
6
  connection_args = OrderedDict(
7
- url={
7
+ api_base={
8
8
  "type": ARG_TYPE.URL,
9
- "description": "Confluence URL",
10
- "label": "url",
9
+ "description": "The base URL of the Confluence instance/server.",
10
+ "label": "Base URL",
11
11
  "required": True
12
12
  },
13
13
  username={
14
14
  "type": ARG_TYPE.STR,
15
- "description": "Confluence username",
16
- "label": "username",
15
+ "description": "The username for the Confluence account.",
16
+ "label": "Username",
17
17
  "required": True
18
18
  },
19
19
  password={
20
20
  "type": ARG_TYPE.STR,
21
- "description": "Password",
22
- "label": "password",
21
+ "description": "The API token for the Confluence account.",
22
+ "label": "Password",
23
23
  "required": True,
24
24
  "secret": True
25
25
  }
26
26
  )
27
27
 
28
28
  connection_args_example = OrderedDict(
29
- url="https://marios.atlassian.net/",
29
+ api_base="https://marios.atlassian.net/",
30
30
  username="your_username",
31
31
  password="access_token"
32
32
  )
@@ -1,7 +1,7 @@
1
1
  wikipedia==1.4.0
2
2
  tiktoken
3
3
  anthropic>=0.26.1
4
- litellm==1.44.8
4
+ litellm==1.63.14
5
5
  chromadb~=0.6.3 # Knowledge bases.
6
6
  -r mindsdb/integrations/handlers/openai_handler/requirements.txt
7
7
  -r mindsdb/integrations/handlers/langchain_embedding_handler/requirements.txt
@@ -1,4 +1,4 @@
1
- lightwood>=25.2.2.0
2
- lightwood[extra]>=25.2.2.0
3
- lightwood[xai]>=25.2.2.0
1
+ lightwood>=25.3.3.3
2
+ lightwood[extra]>=25.3.3.3
3
+ lightwood[xai]>=25.3.3.3
4
4
  type_infer==0.0.20
@@ -1,2 +1,2 @@
1
- litellm==1.44.8
1
+ litellm==1.63.14
2
2
 
@@ -1,4 +1,4 @@
1
- llama-index==0.10.13
1
+ llama-index==0.12.21
2
2
  pydantic-settings >= 2.1.0
3
3
  llama-index-readers-web
4
4
  llama-index-embeddings-openai
@@ -94,6 +94,8 @@ class MySQLHandler(DatabaseHandler):
94
94
  config["ssl_key"] = ssl_key
95
95
  if 'collation' not in config:
96
96
  config['collation'] = 'utf8mb4_general_ci'
97
+ if 'use_pure' not in config:
98
+ config['use_pure'] = True
97
99
  try:
98
100
  connection = mysql.connector.connect(**config)
99
101
  connection.autocommit = True
@@ -81,27 +81,29 @@ class RayServeHandler(BaseMLEngine):
81
81
  resp = requests.post(args['predict_url'],
82
82
  json={'df': df.to_json(orient='records'), 'pred_args': pred_args},
83
83
  headers={'content-type': 'application/json; format=pandas-records'})
84
- try:
85
- if args.get('is_parquet', False):
84
+ content_type = resp.headers.get("Content-Type", "")
85
+ if "application/octet-stream" in content_type:
86
+ try:
86
87
  buffer = io.BytesIO(resp.content)
87
88
  table = pq.read_table(buffer)
88
89
  response = table.to_pandas()
89
- else:
90
+ except Exception:
91
+ error = 'Could not decode parquet.'
92
+ else:
93
+ try:
90
94
  response = resp.json()
91
- except json.JSONDecodeError:
92
- error = resp.text
93
- except Exception:
94
- error = 'Could not decode parquet.'
95
+ except json.JSONDecodeError:
96
+ error = resp.text
97
+
98
+ if 'prediction' in response:
99
+ target = args['target']
100
+ if target != 'prediction':
101
+ # rename prediction to target
102
+ response[target] = response.pop('prediction')
103
+ return pd.DataFrame(response)
95
104
  else:
96
- if 'prediction' in response:
97
- target = args['target']
98
- if target != 'prediction':
99
- # rename prediction to target
100
- response[target] = response.pop('prediction')
101
- return pd.DataFrame(response)
102
- else:
103
- # something wrong
104
- error = response
105
+ # something wrong
106
+ error = response
105
107
 
106
108
  raise RayServeException(f"Error: {error}")
107
109
 
@@ -7,6 +7,8 @@ from snowflake.connector.errors import NotSupportedError
7
7
 
8
8
  from mindsdb.utilities import log
9
9
  from mindsdb_sql_parser.ast.base import ASTNode
10
+ from mindsdb_sql_parser.ast import Select, Identifier
11
+
10
12
  from mindsdb.integrations.libs.base import DatabaseHandler
11
13
  from mindsdb.utilities.render.sqlalchemy_render import SqlalchemyRender
12
14
  from mindsdb.integrations.libs.response import (
@@ -234,7 +236,30 @@ class SnowflakeHandler(DatabaseHandler):
234
236
 
235
237
  query_str = self.renderer.get_string(query, with_failback=True)
236
238
  logger.debug(f"Executing SQL query: {query_str}")
237
- return self.native_query(query_str)
239
+ result = self.native_query(query_str)
240
+ return self.lowercase_columns(result, query)
241
+
242
+ def lowercase_columns(self, result, query):
243
+ if not isinstance(query, Select) or result.data_frame is None:
244
+ return result
245
+
246
+ quoted_columns = []
247
+ if query.targets is not None:
248
+ for column in query.targets:
249
+ if hasattr(column, 'alias') and column.alias is not None:
250
+ if column.alias.is_quoted[-1]:
251
+ quoted_columns.append(column.alias.parts[-1])
252
+ elif isinstance(column, Identifier):
253
+ if column.is_quoted[-1]:
254
+ quoted_columns.append(column.parts[-1])
255
+
256
+ rename_columns = {}
257
+ for col in result.data_frame.columns:
258
+ if col.isupper() and col not in quoted_columns:
259
+ rename_columns[col] = col.lower()
260
+ if rename_columns:
261
+ result.data_frame = result.data_frame.rename(columns=rename_columns)
262
+ return result
238
263
 
239
264
  def get_tables(self) -> Response:
240
265
  """