MindsDB 25.3.1.0__py3-none-any.whl → 25.3.2.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.

@@ -1,6 +1,6 @@
1
- mindsdb/__about__.py,sha256=GbHD_Ez6vYgMQy6NvdycomymgDUng-r6k-Ye0LsKkh0,444
1
+ mindsdb/__about__.py,sha256=eD2kurzO48al2sDXxCSOS1EtaUr9EJLGqH_XZI5B0MM,444
2
2
  mindsdb/__init__.py,sha256=fZopLiAYa9MzMZ0d48JgHc_LddfFKDzh7n_8icsjrVs,54
3
- mindsdb/__main__.py,sha256=rW-_mLgFu5UGtHY3PY0svt8M8l62DVVQpACnVM7qwLo,21827
3
+ mindsdb/__main__.py,sha256=Piyg1xe3JCdDRFc4jW8BdcXQJ8Uc_cDEqcyP5xR17J4,21827
4
4
  mindsdb/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  mindsdb/api/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  mindsdb/api/common/check_auth.py,sha256=cQEZqsnCbrRtUf8j4H6uPF98cDPu79t8TdtwBi5g30w,1345
@@ -49,15 +49,15 @@ mindsdb/api/executor/sql_query/steps/prepare_steps.py,sha256=IYsPxelD5WjtLIsfIxW
49
49
  mindsdb/api/executor/sql_query/steps/project_step.py,sha256=WQ23VkfWrVHKRnyy91Kh9uRI7Twb-IBvSQl2TZy_21w,2854
50
50
  mindsdb/api/executor/sql_query/steps/sql_steps.py,sha256=RXZ1L05H_MHwVNdf6qDbIStsDjG_3QxEr3wPuFtZMdM,891
51
51
  mindsdb/api/executor/sql_query/steps/subselect_step.py,sha256=o7znv6v6mbtm1mrQpJBWHQeD8s02XDKiTSXHClNJDSE,7275
52
- mindsdb/api/executor/sql_query/steps/union_step.py,sha256=BTVFZz28sGPgbwDOb7pUQxDYC3_WVOjLGBz-9eAmC60,1947
52
+ mindsdb/api/executor/sql_query/steps/union_step.py,sha256=wT_cRVE0vGFAXYcdTsm3P8TdfEgU-eHeNfFllR6OJ7U,1791
53
53
  mindsdb/api/executor/sql_query/steps/update_step.py,sha256=0MeUNsgVsK4pm2VrwM2ZrRua2JFvUHGhvzwzXRc8I1o,4563
54
54
  mindsdb/api/executor/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
55
  mindsdb/api/executor/utilities/functions.py,sha256=xUrrh2zgsP0cYNUAUDGWUXyam693NTL9nlByUAwx7nw,995
56
56
  mindsdb/api/executor/utilities/sql.py,sha256=vULbEMKN3ZB5RULqC_VPRhuROQ0_CotHYqA32Z2gKAg,6280
57
57
  mindsdb/api/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
- mindsdb/api/http/gui.py,sha256=V1_SYzBvEbRfpwSaNdxdlU2ylS-OhJ8IK6p6pcHNJXo,3087
58
+ mindsdb/api/http/gui.py,sha256=Ph0Yz8G3F2D16VYN61IL6Mxc0j71dOlMn-Wu5r8N2Eg,3137
59
59
  mindsdb/api/http/gunicorn_wrapper.py,sha256=U11cza-mn71RcLcJZOYwo2Aee3fRIhAYQxby_FF6_Yc,534
60
- mindsdb/api/http/initialize.py,sha256=mjeQLszyfSXkbD_EVzrvbQp0w01Jl-OwyRlV8Wz-8_U,16121
60
+ mindsdb/api/http/initialize.py,sha256=pWQCv7YicvU7rmqh0w5r-12iWHOtdNChKWID-bxzvXU,16174
61
61
  mindsdb/api/http/start.py,sha256=3F2iob1EHNh9cCeuxD1RjlVp0wnRw-ybh7lU5KaYGK8,2350
62
62
  mindsdb/api/http/utils.py,sha256=nWP2HxeS0Ami0VSFCyoWyhLsz52mRaYkylQCKzH6d7c,1155
63
63
  mindsdb/api/http/namespaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -834,11 +834,9 @@ mindsdb/integrations/handlers/intercom_handler/icon.svg,sha256=7_xPA2UKXxXmYfsb0
834
834
  mindsdb/integrations/handlers/intercom_handler/intercom_handler.py,sha256=_B0jxBo7Cso2o6pzmmycrFMaB6cJpCdYHMxRLPeGMO4,3726
835
835
  mindsdb/integrations/handlers/intercom_handler/intercom_tables.py,sha256=GKEJEhujvyWLLE326yOj-pECujnZV1cZwR65N3LBO-I,4953
836
836
  mindsdb/integrations/handlers/jira_handler/__about__.py,sha256=qP5rGBzzyFBTJnGNCeyOjiBlzfYjt26PU6bw_8MJQOQ,337
837
- mindsdb/integrations/handlers/jira_handler/__init__.py,sha256=Hsc-LAL8aLWwwjZ1D6k_vI_2L21-XET2sSuf0Pg-ga4,508
837
+ mindsdb/integrations/handlers/jira_handler/__init__.py,sha256=-WxcLvQvLWii6lNY6-nlNwwkMBSMg8n97pleTAflrQY,509
838
838
  mindsdb/integrations/handlers/jira_handler/icon.svg,sha256=mv8Ee-sh3YbNrGHgdQdgazMICVjU1StIu1Y41H9SjRc,1246
839
- mindsdb/integrations/handlers/jira_handler/jira_handler.py,sha256=kftB6xNJ-w5cXR2EPv2GzOEYMue6qFCyD9QqLrZ1jiQ,3659
840
- mindsdb/integrations/handlers/jira_handler/jira_table.py,sha256=ttTbNLGNdo_-Pxx-kZ7f31ok990tk16ClGOaqcdRgV4,5886
841
- mindsdb/integrations/handlers/jira_handler/requirements.txt,sha256=uGqoPIycab1Q50-NoN8vHp7TdzfHVamy9_t1RvONbog,21
839
+ mindsdb/integrations/handlers/jira_handler/jira_handler.py,sha256=UXlwCX728lR_YZg4ipb7hkCyUcH710nIpPirR7s_xdA,2266
842
840
  mindsdb/integrations/handlers/kinetica_handler/__about__.py,sha256=t4T3AR68hK91GASSzoP8aWSbbtmszFC0-i7Nb8UVIgs,344
843
841
  mindsdb/integrations/handlers/kinetica_handler/__init__.py,sha256=xGpX3Z4sE32AqOPHJ09Vhh-9tvjusZACBCAUwTv8hDI,683
844
842
  mindsdb/integrations/handlers/kinetica_handler/connection_args.py,sha256=3AaekEw24nX7mmRsqrYfs0M4jCVQ4VvdRHQDFRBosxs,1682
@@ -1170,7 +1168,7 @@ mindsdb/integrations/handlers/pgvector_handler/__about__.py,sha256=f7NEmnT5v8Bhc
1170
1168
  mindsdb/integrations/handlers/pgvector_handler/__init__.py,sha256=291L7daFcaNnMUEcIjs7-U-jgOTJzEvIm2FoO43S_6Q,659
1171
1169
  mindsdb/integrations/handlers/pgvector_handler/connection_args.py,sha256=etSu8X9uvYcdG0UZP7N8NdKCywmpcMf19ZPtthZArMg,1688
1172
1170
  mindsdb/integrations/handlers/pgvector_handler/icon.svg,sha256=BPrdgXF1gRp2IBmklyYNRpdGtbi1F6Ca78V_L4ji_LE,13760
1173
- mindsdb/integrations/handlers/pgvector_handler/pgvector_handler.py,sha256=U7bY7Aogz4-gKA-DH6TYfLU4UgYTf162noZ9BsJjJZY,19356
1171
+ mindsdb/integrations/handlers/pgvector_handler/pgvector_handler.py,sha256=PSxJdnnTpSGAdxrGwq_X17w01gSvjarjFZj84XZC7UU,19384
1174
1172
  mindsdb/integrations/handlers/pgvector_handler/requirements.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1175
1173
  mindsdb/integrations/handlers/phoenix_handler/__about__.py,sha256=PGGn5y0Y7tn2FnY2Ru1N7yjr6KZb8IhfUoKFc7GZO9I,359
1176
1174
  mindsdb/integrations/handlers/phoenix_handler/__init__.py,sha256=dguuDcpGTUdL7KHbLPv3OLY9fmvJrQj5I_CsfmuQdKk,606
@@ -1392,7 +1390,7 @@ mindsdb/integrations/handlers/slack_handler/__init__.py,sha256=1C8z9FrWQHIk2Dg5f
1392
1390
  mindsdb/integrations/handlers/slack_handler/connection_args.py,sha256=mzsx968FZZ3gVFXcTimbegcSucYcKzdRnj9FWj1SZ3s,637
1393
1391
  mindsdb/integrations/handlers/slack_handler/icon.svg,sha256=bPzub2wQkTiV8nFCoy8TCSAXxYjjg65S7jQT1_yGduM,2005
1394
1392
  mindsdb/integrations/handlers/slack_handler/requirements.txt,sha256=92G8Qt34iNKtS1FzKMKUHZp6r8CPz-3TZLn_dD9nY7M,18
1395
- mindsdb/integrations/handlers/slack_handler/slack_handler.py,sha256=2C4uvcnU83-zgodCvzJYE9mxX05kpKrj4jLV_hG7a4Y,13318
1393
+ mindsdb/integrations/handlers/slack_handler/slack_handler.py,sha256=aywMa3bryaCoTog7geFw2TvLTtzZALf0Djn6sMGORjI,13349
1396
1394
  mindsdb/integrations/handlers/slack_handler/slack_tables.py,sha256=4pkgnyICGoZhJQBWE-gDAZDR2bLm69JoFOHYSAQpbBw,28864
1397
1395
  mindsdb/integrations/handlers/slack_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1398
1396
  mindsdb/integrations/handlers/slack_handler/tests/test_slack.py,sha256=DRRHF-i5J711drntA15ZQY1KvI8GYRDXeKDFiH_alJk,883
@@ -1679,6 +1677,7 @@ mindsdb/integrations/handlers/zotero_handler/zotero_tables.py,sha256=5uTXP3fYAQ6
1679
1677
  mindsdb/integrations/libs/__init__.py,sha256=uEz-XQLAwY2nMXc5ilEPP6cWWfo5HpO8o8UfV8JELS0,99
1680
1678
  mindsdb/integrations/libs/api_handler.py,sha256=PutrH8LuiEj7SNKb6Nl3ahaC6LieaB8VlG6RQL23w0w,13504
1681
1679
  mindsdb/integrations/libs/api_handler_exceptions.py,sha256=mw83eTmo9knpVHP1ISnudonZcBMI_Xzr77b1wXN-eu8,236
1680
+ mindsdb/integrations/libs/api_handler_generator.py,sha256=qQs12fr31g0XvMjTInopNfKiPj7pKfyuNhqqX0tCgGo,19304
1682
1681
  mindsdb/integrations/libs/base.py,sha256=fVs3nf98jfA9aH5O18ZlrGjhZuasYHwD9TrgF9fJ8Eo,12851
1683
1682
  mindsdb/integrations/libs/const.py,sha256=Pbdv7K_SvOWSwANwu4FK2S0jkJYaRnVZpfx4SexxR8c,407
1684
1683
  mindsdb/integrations/libs/ml_exec_base.py,sha256=lp4LGXZUfTaPfY4V44osJQfz0pq0-l3V4gc1vl4rWoc,17540
@@ -1900,7 +1899,7 @@ mindsdb/migrations/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
1900
1899
  mindsdb/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1901
1900
  mindsdb/utilities/auth.py,sha256=6ycLJgXySghgFdzK6emxdStElzt5aOPafjDCRR_g_q0,2336
1902
1901
  mindsdb/utilities/cache.py,sha256=6VV5BJ0EWPYK2h80KEM1ETMhw_OCgDKyU6Pejvj1s3E,7431
1903
- mindsdb/utilities/config.py,sha256=F31QINdBhkQTfEdnitKkekUHQWOU2vdQV5doNqa4Mes,20942
1902
+ mindsdb/utilities/config.py,sha256=jRyBcGUmFiHbuUzwOwbB5ufySrpUvAjg9qHkDqEMmO4,20946
1904
1903
  mindsdb/utilities/context.py,sha256=LyKNgtavQnAfZpaPHINhrA_9L_SjfURUBD9fZNtuQMQ,1813
1905
1904
  mindsdb/utilities/context_executor.py,sha256=6ByyeulMePEfRrGxR9vlKYF87R8z1wHFwc1GdfhlGCk,1946
1906
1905
  mindsdb/utilities/exception.py,sha256=q-9cwMLmQvuPpwdjRG0xNZ23z9cxHSfyT2295Rk6waA,1034
@@ -1934,8 +1933,8 @@ mindsdb/utilities/profiler/__init__.py,sha256=d4VXl80uSm1IotR-WwbBInPmLmACiK0Azx
1934
1933
  mindsdb/utilities/profiler/profiler.py,sha256=KCUtOupkbM_nCoof9MtiuhUzDGezx4a4NsBX6vGWbPA,3936
1935
1934
  mindsdb/utilities/render/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1936
1935
  mindsdb/utilities/render/sqlalchemy_render.py,sha256=jVzdLD691hCs26wsUfhj6VDC8YIjL5hX0P9zNzSszH4,30311
1937
- mindsdb-25.3.1.0.dist-info/LICENSE,sha256=ziqdjujs6WDn-9g3t0SISjHCBc2pLRht3gnRbQoXmIs,5804
1938
- mindsdb-25.3.1.0.dist-info/METADATA,sha256=nKd2zruKpdFtLfVqsqAUr9iiKStVlEcJz3lRPkH_kyY,41703
1939
- mindsdb-25.3.1.0.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
1940
- mindsdb-25.3.1.0.dist-info/top_level.txt,sha256=10wPR96JDf3hM8aMP7Fz0lDlmClEP480zgXISJKr5jE,8
1941
- mindsdb-25.3.1.0.dist-info/RECORD,,
1936
+ mindsdb-25.3.2.0.dist-info/LICENSE,sha256=ziqdjujs6WDn-9g3t0SISjHCBc2pLRht3gnRbQoXmIs,5804
1937
+ mindsdb-25.3.2.0.dist-info/METADATA,sha256=ZYFRSqxlAm4ElLK4jS6ZWeot9Hipz8NZ5DuVe__6Ciw,41659
1938
+ mindsdb-25.3.2.0.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
1939
+ mindsdb-25.3.2.0.dist-info/top_level.txt,sha256=10wPR96JDf3hM8aMP7Fz0lDlmClEP480zgXISJKr5jE,8
1940
+ mindsdb-25.3.2.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.2)
2
+ Generator: setuptools (76.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,172 +0,0 @@
1
- import pandas as pd
2
-
3
- from typing import List
4
-
5
- from mindsdb.integrations.libs.api_handler import APITable
6
- from mindsdb.integrations.utilities.sql_utils import extract_comparison_conditions
7
- from mindsdb.utilities import log
8
-
9
- from mindsdb_sql_parser import ast
10
-
11
- logger = log.getLogger(__name__)
12
-
13
-
14
- def flatten_json(nested_json, parent_key="", separator="."):
15
- """
16
- Recursively flattens a nested JSON object into a dictionary with dot notation keys.
17
- """
18
- items = []
19
- for k, v in nested_json.items():
20
- new_key = f"{parent_key}{separator}{k}" if parent_key else k
21
- if isinstance(v, dict):
22
- items.extend(flatten_json(v, new_key, separator=separator).items())
23
- else:
24
- items.append((new_key, v))
25
- return dict(items)
26
-
27
-
28
- class JiraProjectsTable(APITable):
29
- """Jira Projects Table implementation"""
30
-
31
- _MAX_API_RESULTS = 100
32
-
33
- def select(self, query: ast.Select) -> pd.DataFrame:
34
- """Pulls data from the Jira "get_all_project_issues" API endpoint
35
- Parameters
36
- ----------
37
- query : ast.Select
38
- Given SQL SELECT query
39
- Returns
40
- -------
41
- pd.DataFrame
42
- jira "get_all_project_issues" matching the query
43
- Raises
44
- ------
45
- ValueError
46
- If the query contains an unsupported condition
47
- """
48
- conditions = extract_comparison_conditions(query.where)
49
-
50
- if query.limit:
51
- total_results = query.limit.value
52
-
53
- issues_kwargs = {}
54
- order_by_conditions = {}
55
-
56
- if query.order_by and len(query.order_by) > 0:
57
- order_by_conditions["columns"] = []
58
- order_by_conditions["ascending"] = []
59
-
60
- for an_order in query.order_by:
61
- if an_order.field.parts[0] != "key":
62
- continue
63
- if an_order.field.parts[1] in ["reporter", "assignee", "status"]:
64
- if issues_kwargs != {}:
65
- raise ValueError(
66
- "Duplicate order conditions found for reporter,status and assignee"
67
- )
68
- issues_kwargs["sort"] = an_order.field.parts[1]
69
- issues_kwargs["direction"] = an_order.direction
70
- if an_order.field.parts[1] in self.get_columns():
71
- order_by_conditions["columns"].append(an_order.field.parts[1])
72
-
73
- if an_order.direction == "ASC":
74
- order_by_conditions["ascending"].append(True)
75
- else:
76
- order_by_conditions["ascending"].append(False)
77
- else:
78
- raise ValueError(
79
- f"Order by unknown column {an_order.field.parts[1]}"
80
- )
81
- project = self.handler.connection_data["project"]
82
- jira_project_df = self.call_jira_api(project)
83
-
84
- selected_columns = []
85
- for target in query.targets:
86
- if isinstance(target, ast.Star):
87
- selected_columns = self.get_columns()
88
- break
89
- elif isinstance(target, ast.Identifier):
90
- selected_columns.append(target.parts[-1])
91
- else:
92
- raise ValueError(f"Unknown query target {type(target)}")
93
-
94
- if len(jira_project_df) == 0:
95
- jira_project_df = pd.DataFrame([], columns=selected_columns)
96
- return jira_project_df
97
-
98
- jira_project_df.columns = self.get_columns()
99
- for col in set(jira_project_df.columns).difference(set(selected_columns)):
100
- jira_project_df = jira_project_df.drop(col, axis=1)
101
-
102
- if len(order_by_conditions.get("columns", [])) > 0:
103
- jira_project_df = jira_project_df.sort_values(
104
- by=order_by_conditions["columns"],
105
- ascending=order_by_conditions["ascending"],
106
- )
107
-
108
- if query.limit:
109
- jira_project_df = jira_project_df.head(total_results)
110
-
111
- return jira_project_df
112
-
113
- def get_columns(self) -> List[str]:
114
- """Gets all columns to be returned in pandas DataFrame responses
115
- Returns
116
- -------
117
- List[str]
118
- List of columns
119
- """
120
- return [
121
- "key",
122
- "summary",
123
- "status",
124
- "reporter",
125
- "assignee",
126
- "priority",
127
- ]
128
-
129
- def call_jira_api(self, project):
130
-
131
- jira = self.handler.connect()
132
- max_records = jira.get_project_issues_count(project)
133
- max_records = 100
134
- jql_query = self.handler.construct_jql()
135
- max_results = self._MAX_API_RESULTS
136
- start_index = 0
137
- total = 1
138
- fields = [
139
- "key",
140
- "fields.summary",
141
- "fields.status.name",
142
- "fields.reporter.displayName",
143
- "fields.assignee.displayName",
144
- "fields.priority.name",
145
- ]
146
-
147
- all_jira_issues_df = pd.DataFrame(columns=fields)
148
-
149
- while start_index <= total:
150
- results = self.handler.connect().jql(
151
- jql_query, start=start_index, limit=max_results
152
- )
153
- flattened_data = [flatten_json(item) for item in results["issues"]]
154
- df = pd.DataFrame(flattened_data)
155
- df = df[fields]
156
- start_index += max_results
157
- total = results["total"]
158
- all_jira_issues_df = pd.concat([all_jira_issues_df, df], axis=0)
159
-
160
- all_jira_issues_df = all_jira_issues_df.rename(
161
- columns={
162
- "key": "key",
163
- "fields.summary": "summary",
164
- "fields.reporter.displayName": "reporter",
165
- "fields.assignee.displayName": "assignee",
166
- "fields.priority.name": "priority",
167
- "fields.status.name": "status",
168
- },
169
- errors="ignore",
170
- )
171
-
172
- return all_jira_issues_df
@@ -1 +0,0 @@
1
- atlassian-python-api