MindsDB 25.3.1.0__py3-none-any.whl → 25.3.3.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 +1 -2
- mindsdb/api/executor/sql_query/steps/union_step.py +21 -24
- mindsdb/api/http/gui.py +5 -4
- mindsdb/api/http/initialize.py +19 -19
- mindsdb/integrations/handlers/github_handler/generate_api.py +228 -0
- mindsdb/integrations/handlers/github_handler/github_handler.py +15 -8
- mindsdb/integrations/handlers/github_handler/requirements.txt +1 -1
- mindsdb/integrations/handlers/jira_handler/__init__.py +1 -0
- mindsdb/integrations/handlers/jira_handler/jira_handler.py +22 -80
- mindsdb/integrations/handlers/pgvector_handler/pgvector_handler.py +3 -3
- mindsdb/integrations/handlers/redshift_handler/redshift_handler.py +1 -0
- mindsdb/integrations/handlers/salesforce_handler/requirements.txt +1 -1
- mindsdb/integrations/handlers/salesforce_handler/salesforce_handler.py +20 -25
- mindsdb/integrations/handlers/salesforce_handler/salesforce_tables.py +2 -2
- mindsdb/integrations/handlers/slack_handler/slack_handler.py +2 -1
- mindsdb/integrations/handlers/timescaledb_handler/timescaledb_handler.py +11 -6
- mindsdb/integrations/libs/api_handler_generator.py +583 -0
- mindsdb/integrations/libs/ml_handler_process/learn_process.py +9 -3
- mindsdb/utilities/config.py +1 -1
- mindsdb/utilities/render/sqlalchemy_render.py +11 -5
- {mindsdb-25.3.1.0.dist-info → mindsdb-25.3.3.0.dist-info}/METADATA +219 -220
- {mindsdb-25.3.1.0.dist-info → mindsdb-25.3.3.0.dist-info}/RECORD +26 -28
- {mindsdb-25.3.1.0.dist-info → mindsdb-25.3.3.0.dist-info}/WHEEL +1 -1
- mindsdb/integrations/handlers/jira_handler/jira_table.py +0 -172
- mindsdb/integrations/handlers/jira_handler/requirements.txt +0 -1
- mindsdb/integrations/handlers/timescaledb_handler/tests/__init__.py +0 -0
- mindsdb/integrations/handlers/timescaledb_handler/tests/test_timescaledb_handler.py +0 -47
- {mindsdb-25.3.1.0.dist-info → mindsdb-25.3.3.0.dist-info}/LICENSE +0 -0
- {mindsdb-25.3.1.0.dist-info → mindsdb-25.3.3.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
mindsdb/__about__.py,sha256=
|
|
1
|
+
mindsdb/__about__.py,sha256=7xE5LpjKTOw5WXoWMuiZAy5WT1KosaIDK7yxpF7dIEk,444
|
|
2
2
|
mindsdb/__init__.py,sha256=fZopLiAYa9MzMZ0d48JgHc_LddfFKDzh7n_8icsjrVs,54
|
|
3
|
-
mindsdb/__main__.py,sha256=
|
|
3
|
+
mindsdb/__main__.py,sha256=OOvGVNYi17UNn66OFjRNGcgxR9JefTxLZzL3vHq3AEg,21826
|
|
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=
|
|
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=
|
|
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=
|
|
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
|
|
@@ -648,10 +648,11 @@ mindsdb/integrations/handlers/gcs_handler/requirements.txt,sha256=zLZXjAKF7BzZXl
|
|
|
648
648
|
mindsdb/integrations/handlers/github_handler/__about__.py,sha256=bDVOGS37C6HVRgSOekhxUcvW2Eg0Z5k2bq558mUM07M,339
|
|
649
649
|
mindsdb/integrations/handlers/github_handler/__init__.py,sha256=ov-CvC4-1IbwvuKykY7i3wJxHnYenbU8KtNZUSRzB-0,629
|
|
650
650
|
mindsdb/integrations/handlers/github_handler/connection_args.py,sha256=jnJKzK-5UI5-GZVh57iWaYXkAlhnc8p_4vUn357wXow,911
|
|
651
|
-
mindsdb/integrations/handlers/github_handler/
|
|
651
|
+
mindsdb/integrations/handlers/github_handler/generate_api.py,sha256=GRIhxpUKQ_zazZDWqiUWu_fdXOztKF6c4ne1AgjE3qg,7089
|
|
652
|
+
mindsdb/integrations/handlers/github_handler/github_handler.py,sha256=6Xk5piMuafTvfPGvJ5U0WabE4W_Je75nZVUlfzMeRvE,3795
|
|
652
653
|
mindsdb/integrations/handlers/github_handler/github_tables.py,sha256=ICt2HmrE0TSI_dEFgVMA00INoL5z5jhA8aKH9C_EiiA,30970
|
|
653
654
|
mindsdb/integrations/handlers/github_handler/icon.svg,sha256=c1j3IrEwYsGXPwW-hjZDpOceLhVCW_0tT8Aba5PdF5c,1198
|
|
654
|
-
mindsdb/integrations/handlers/github_handler/requirements.txt,sha256=
|
|
655
|
+
mindsdb/integrations/handlers/github_handler/requirements.txt,sha256=BJz2OYblSD2RZAV7csj2UIyRfuSQmstGWB3flUgFOk4,16
|
|
655
656
|
mindsdb/integrations/handlers/gitlab_handler/__about__.py,sha256=2uH49-_UriKLYrfBa8yIU6j1L9Bxpyp5Gqm7zsTT7eA,341
|
|
656
657
|
mindsdb/integrations/handlers/gitlab_handler/__init__.py,sha256=MleI0P8FKMYzbzd_XPkTbCjT1_Ub21hreu56QhXQuy8,481
|
|
657
658
|
mindsdb/integrations/handlers/gitlab_handler/gitlab_handler.py,sha256=fSj7r7irmC2WEOWGKM9An3V-gs-U1Ub5HommbwPdBDs,2575
|
|
@@ -834,11 +835,9 @@ mindsdb/integrations/handlers/intercom_handler/icon.svg,sha256=7_xPA2UKXxXmYfsb0
|
|
|
834
835
|
mindsdb/integrations/handlers/intercom_handler/intercom_handler.py,sha256=_B0jxBo7Cso2o6pzmmycrFMaB6cJpCdYHMxRLPeGMO4,3726
|
|
835
836
|
mindsdb/integrations/handlers/intercom_handler/intercom_tables.py,sha256=GKEJEhujvyWLLE326yOj-pECujnZV1cZwR65N3LBO-I,4953
|
|
836
837
|
mindsdb/integrations/handlers/jira_handler/__about__.py,sha256=qP5rGBzzyFBTJnGNCeyOjiBlzfYjt26PU6bw_8MJQOQ,337
|
|
837
|
-
mindsdb/integrations/handlers/jira_handler/__init__.py,sha256
|
|
838
|
+
mindsdb/integrations/handlers/jira_handler/__init__.py,sha256=-WxcLvQvLWii6lNY6-nlNwwkMBSMg8n97pleTAflrQY,509
|
|
838
839
|
mindsdb/integrations/handlers/jira_handler/icon.svg,sha256=mv8Ee-sh3YbNrGHgdQdgazMICVjU1StIu1Y41H9SjRc,1246
|
|
839
|
-
mindsdb/integrations/handlers/jira_handler/jira_handler.py,sha256=
|
|
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
|
|
840
|
+
mindsdb/integrations/handlers/jira_handler/jira_handler.py,sha256=UXlwCX728lR_YZg4ipb7hkCyUcH710nIpPirR7s_xdA,2266
|
|
842
841
|
mindsdb/integrations/handlers/kinetica_handler/__about__.py,sha256=t4T3AR68hK91GASSzoP8aWSbbtmszFC0-i7Nb8UVIgs,344
|
|
843
842
|
mindsdb/integrations/handlers/kinetica_handler/__init__.py,sha256=xGpX3Z4sE32AqOPHJ09Vhh-9tvjusZACBCAUwTv8hDI,683
|
|
844
843
|
mindsdb/integrations/handlers/kinetica_handler/connection_args.py,sha256=3AaekEw24nX7mmRsqrYfs0M4jCVQ4VvdRHQDFRBosxs,1682
|
|
@@ -1170,7 +1169,7 @@ mindsdb/integrations/handlers/pgvector_handler/__about__.py,sha256=f7NEmnT5v8Bhc
|
|
|
1170
1169
|
mindsdb/integrations/handlers/pgvector_handler/__init__.py,sha256=291L7daFcaNnMUEcIjs7-U-jgOTJzEvIm2FoO43S_6Q,659
|
|
1171
1170
|
mindsdb/integrations/handlers/pgvector_handler/connection_args.py,sha256=etSu8X9uvYcdG0UZP7N8NdKCywmpcMf19ZPtthZArMg,1688
|
|
1172
1171
|
mindsdb/integrations/handlers/pgvector_handler/icon.svg,sha256=BPrdgXF1gRp2IBmklyYNRpdGtbi1F6Ca78V_L4ji_LE,13760
|
|
1173
|
-
mindsdb/integrations/handlers/pgvector_handler/pgvector_handler.py,sha256=
|
|
1172
|
+
mindsdb/integrations/handlers/pgvector_handler/pgvector_handler.py,sha256=PSxJdnnTpSGAdxrGwq_X17w01gSvjarjFZj84XZC7UU,19384
|
|
1174
1173
|
mindsdb/integrations/handlers/pgvector_handler/requirements.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1175
1174
|
mindsdb/integrations/handlers/phoenix_handler/__about__.py,sha256=PGGn5y0Y7tn2FnY2Ru1N7yjr6KZb8IhfUoKFc7GZO9I,359
|
|
1176
1175
|
mindsdb/integrations/handlers/phoenix_handler/__init__.py,sha256=dguuDcpGTUdL7KHbLPv3OLY9fmvJrQj5I_CsfmuQdKk,606
|
|
@@ -1285,7 +1284,7 @@ mindsdb/integrations/handlers/redshift_handler/__about__.py,sha256=l9Ri3bz7eW3C5
|
|
|
1285
1284
|
mindsdb/integrations/handlers/redshift_handler/__init__.py,sha256=CwcbbRYbQLXROfpRN3KOjqle2oEfOVkB1y-4h2HUOTs,631
|
|
1286
1285
|
mindsdb/integrations/handlers/redshift_handler/connection_args.py,sha256=je_PzZnNCR5goeNyZY1Tt_0mPQmGUiU_5lCw-lEBxwc,1676
|
|
1287
1286
|
mindsdb/integrations/handlers/redshift_handler/icon.svg,sha256=iIsJ28OGHPtST21OT4_bNoGt48ORHDPdnNGRYmrDPtQ,765
|
|
1288
|
-
mindsdb/integrations/handlers/redshift_handler/redshift_handler.py,sha256=
|
|
1287
|
+
mindsdb/integrations/handlers/redshift_handler/redshift_handler.py,sha256=AgwJbVaUjPgzHIqt0ZzsMW5vmH7mKrbRxLqIYoi_tHo,2190
|
|
1289
1288
|
mindsdb/integrations/handlers/redshift_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1290
1289
|
mindsdb/integrations/handlers/redshift_handler/tests/test_redshift_handler.py,sha256=dNQfm--1S8v-SPfAbS9VGuY7T8M97ELhwL9lxJ3zUNU,5523
|
|
1291
1290
|
mindsdb/integrations/handlers/replicate_handler/__about__.py,sha256=2_18jFKOFO_515IYxchEJYQG77sR5MJTvOPUfZ_pjnU,349
|
|
@@ -1323,9 +1322,9 @@ mindsdb/integrations/handlers/salesforce_handler/__about__.py,sha256=WLr4oUXEPsa
|
|
|
1323
1322
|
mindsdb/integrations/handlers/salesforce_handler/__init__.py,sha256=nH_HnnS5cnDadXEy6ZiGuUPByT_JGu2Nrgx3Nzw0JCg,650
|
|
1324
1323
|
mindsdb/integrations/handlers/salesforce_handler/connection_args.py,sha256=XF20-m222AxVvK751lWKV2tb3I1WkRrmR5AJ7qV9PtI,1498
|
|
1325
1324
|
mindsdb/integrations/handlers/salesforce_handler/icon.svg,sha256=sL7XX_vF5Y7gLLklV1h17MXILGYz0f79VH915DQXyV0,8594
|
|
1326
|
-
mindsdb/integrations/handlers/salesforce_handler/requirements.txt,sha256=
|
|
1327
|
-
mindsdb/integrations/handlers/salesforce_handler/salesforce_handler.py,sha256=
|
|
1328
|
-
mindsdb/integrations/handlers/salesforce_handler/salesforce_tables.py,sha256=
|
|
1325
|
+
mindsdb/integrations/handlers/salesforce_handler/requirements.txt,sha256=JbByk_8_aqTrg45rT_tUbyDgUoDSTK7VVpgUaMen3wU,22
|
|
1326
|
+
mindsdb/integrations/handlers/salesforce_handler/salesforce_handler.py,sha256=vJRjGTLBE3IYWcU_TG5JV7nreSqIDxV0gNxokAMWO_g,6448
|
|
1327
|
+
mindsdb/integrations/handlers/salesforce_handler/salesforce_tables.py,sha256=6h7BhO8U6J0Zqil3ja3Snv98t2jeylSTrD-xWm2pkTw,5065
|
|
1329
1328
|
mindsdb/integrations/handlers/sap_erp_handler/__about__.py,sha256=yXC_YavBeY0vTZvwkU4EN7DUijGMZ8m3jtQsftKwlhs,340
|
|
1330
1329
|
mindsdb/integrations/handlers/sap_erp_handler/__init__.py,sha256=2rnUX-yeCkCgh4viBttHdG4o4HKJrVI3m82S8GJFCBU,531
|
|
1331
1330
|
mindsdb/integrations/handlers/sap_erp_handler/api.py,sha256=tAIqeww34R0N0QyVKYhSE3NRzIDoBn8xepCZIG4tYbg,2168
|
|
@@ -1392,7 +1391,7 @@ mindsdb/integrations/handlers/slack_handler/__init__.py,sha256=1C8z9FrWQHIk2Dg5f
|
|
|
1392
1391
|
mindsdb/integrations/handlers/slack_handler/connection_args.py,sha256=mzsx968FZZ3gVFXcTimbegcSucYcKzdRnj9FWj1SZ3s,637
|
|
1393
1392
|
mindsdb/integrations/handlers/slack_handler/icon.svg,sha256=bPzub2wQkTiV8nFCoy8TCSAXxYjjg65S7jQT1_yGduM,2005
|
|
1394
1393
|
mindsdb/integrations/handlers/slack_handler/requirements.txt,sha256=92G8Qt34iNKtS1FzKMKUHZp6r8CPz-3TZLn_dD9nY7M,18
|
|
1395
|
-
mindsdb/integrations/handlers/slack_handler/slack_handler.py,sha256=
|
|
1394
|
+
mindsdb/integrations/handlers/slack_handler/slack_handler.py,sha256=aywMa3bryaCoTog7geFw2TvLTtzZALf0Djn6sMGORjI,13349
|
|
1396
1395
|
mindsdb/integrations/handlers/slack_handler/slack_tables.py,sha256=4pkgnyICGoZhJQBWE-gDAZDR2bLm69JoFOHYSAQpbBw,28864
|
|
1397
1396
|
mindsdb/integrations/handlers/slack_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1398
1397
|
mindsdb/integrations/handlers/slack_handler/tests/test_slack.py,sha256=DRRHF-i5J711drntA15ZQY1KvI8GYRDXeKDFiH_alJk,883
|
|
@@ -1534,9 +1533,7 @@ mindsdb/integrations/handlers/timegpt_handler/timegpt_handler.py,sha256=rdAQhmGP
|
|
|
1534
1533
|
mindsdb/integrations/handlers/timescaledb_handler/__about__.py,sha256=joUHMPBAiylB7Uc7sipeFVWlWDZ_wqVqyyy_MivkNFI,355
|
|
1535
1534
|
mindsdb/integrations/handlers/timescaledb_handler/__init__.py,sha256=ynMpLqCRlYomZEFEinXmtYYGr0DPIMQZ9HtsytOpe6c,497
|
|
1536
1535
|
mindsdb/integrations/handlers/timescaledb_handler/icon.svg,sha256=sZHwvwAJ5SiTLSHhjdm_2YazVz0KEDQj-5KYR7cBTxo,6197
|
|
1537
|
-
mindsdb/integrations/handlers/timescaledb_handler/timescaledb_handler.py,sha256=
|
|
1538
|
-
mindsdb/integrations/handlers/timescaledb_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1539
|
-
mindsdb/integrations/handlers/timescaledb_handler/tests/test_timescaledb_handler.py,sha256=6X6w-jusR76pKk0XvBwV5xZxjq8SP0tWPAw0pa10rB0,1552
|
|
1536
|
+
mindsdb/integrations/handlers/timescaledb_handler/timescaledb_handler.py,sha256=24xdH6WK-EDXmRK_51J-uvsizQcveeRopEtohfgUfqU,1439
|
|
1540
1537
|
mindsdb/integrations/handlers/tpot_handler/__about__.py,sha256=UnKylDgzptBz8GP0Az_AnwEtYN7tGTzSkrk8OByt9hg,335
|
|
1541
1538
|
mindsdb/integrations/handlers/tpot_handler/__init__.py,sha256=In_YSefcrQXPbgqBoTR77fx9sIRpBTBpWaIlhaaHHhA,526
|
|
1542
1539
|
mindsdb/integrations/handlers/tpot_handler/icon.png,sha256=j1DfF2jF1kWD3dhCET51X26QnSW9rNuLXXG7Tav3M2M,114250
|
|
@@ -1679,6 +1676,7 @@ mindsdb/integrations/handlers/zotero_handler/zotero_tables.py,sha256=5uTXP3fYAQ6
|
|
|
1679
1676
|
mindsdb/integrations/libs/__init__.py,sha256=uEz-XQLAwY2nMXc5ilEPP6cWWfo5HpO8o8UfV8JELS0,99
|
|
1680
1677
|
mindsdb/integrations/libs/api_handler.py,sha256=PutrH8LuiEj7SNKb6Nl3ahaC6LieaB8VlG6RQL23w0w,13504
|
|
1681
1678
|
mindsdb/integrations/libs/api_handler_exceptions.py,sha256=mw83eTmo9knpVHP1ISnudonZcBMI_Xzr77b1wXN-eu8,236
|
|
1679
|
+
mindsdb/integrations/libs/api_handler_generator.py,sha256=qQs12fr31g0XvMjTInopNfKiPj7pKfyuNhqqX0tCgGo,19304
|
|
1682
1680
|
mindsdb/integrations/libs/base.py,sha256=fVs3nf98jfA9aH5O18ZlrGjhZuasYHwD9TrgF9fJ8Eo,12851
|
|
1683
1681
|
mindsdb/integrations/libs/const.py,sha256=Pbdv7K_SvOWSwANwu4FK2S0jkJYaRnVZpfx4SexxR8c,407
|
|
1684
1682
|
mindsdb/integrations/libs/ml_exec_base.py,sha256=lp4LGXZUfTaPfY4V44osJQfz0pq0-l3V4gc1vl4rWoc,17540
|
|
@@ -1696,7 +1694,7 @@ mindsdb/integrations/libs/ml_handler_process/create_validation_process.py,sha256
|
|
|
1696
1694
|
mindsdb/integrations/libs/ml_handler_process/describe_process.py,sha256=D1FEY2C5Ht1KjiycMuplLgHhfRaw-OJylVgst6pOzpQ,4205
|
|
1697
1695
|
mindsdb/integrations/libs/ml_handler_process/func_call_process.py,sha256=W29lPhV6K8g2prNR57CmyJ_t5DNG_EVnf4fhnHpGFPI,728
|
|
1698
1696
|
mindsdb/integrations/libs/ml_handler_process/handlers_cacher.py,sha256=Lult730J8sPGabO4cVqXWtc9gqt_iFvTFlY7GAym1RM,771
|
|
1699
|
-
mindsdb/integrations/libs/ml_handler_process/learn_process.py,sha256=
|
|
1697
|
+
mindsdb/integrations/libs/ml_handler_process/learn_process.py,sha256=67Pn-0Y1H-q8sDnpCtCCpaw4dynCtskalO3MbLeVyhI,7521
|
|
1700
1698
|
mindsdb/integrations/libs/ml_handler_process/predict_process.py,sha256=QmThCaCy-LBVCcpzHWEecl6eWW48QJsf2HxxnwNWN0o,1346
|
|
1701
1699
|
mindsdb/integrations/libs/ml_handler_process/update_engine_process.py,sha256=cczOfdAPbriukLa5lamDT4VRONjFZ9QGdlXxzOad4K8,788
|
|
1702
1700
|
mindsdb/integrations/libs/ml_handler_process/update_process.py,sha256=QA3S0GK2wsbCLmTQxPvdHt2V5-hr5t_25JBRFDfvTEo,784
|
|
@@ -1900,7 +1898,7 @@ mindsdb/migrations/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
|
|
|
1900
1898
|
mindsdb/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1901
1899
|
mindsdb/utilities/auth.py,sha256=6ycLJgXySghgFdzK6emxdStElzt5aOPafjDCRR_g_q0,2336
|
|
1902
1900
|
mindsdb/utilities/cache.py,sha256=6VV5BJ0EWPYK2h80KEM1ETMhw_OCgDKyU6Pejvj1s3E,7431
|
|
1903
|
-
mindsdb/utilities/config.py,sha256=
|
|
1901
|
+
mindsdb/utilities/config.py,sha256=jRyBcGUmFiHbuUzwOwbB5ufySrpUvAjg9qHkDqEMmO4,20946
|
|
1904
1902
|
mindsdb/utilities/context.py,sha256=LyKNgtavQnAfZpaPHINhrA_9L_SjfURUBD9fZNtuQMQ,1813
|
|
1905
1903
|
mindsdb/utilities/context_executor.py,sha256=6ByyeulMePEfRrGxR9vlKYF87R8z1wHFwc1GdfhlGCk,1946
|
|
1906
1904
|
mindsdb/utilities/exception.py,sha256=q-9cwMLmQvuPpwdjRG0xNZ23z9cxHSfyT2295Rk6waA,1034
|
|
@@ -1933,9 +1931,9 @@ mindsdb/utilities/otel/metric_handlers/__init__.py,sha256=3jGsLt5KkdhqaAUUw8ALxE
|
|
|
1933
1931
|
mindsdb/utilities/profiler/__init__.py,sha256=d4VXl80uSm1IotR-WwbBInPmLmACiK0AzxXGBA40I-0,251
|
|
1934
1932
|
mindsdb/utilities/profiler/profiler.py,sha256=KCUtOupkbM_nCoof9MtiuhUzDGezx4a4NsBX6vGWbPA,3936
|
|
1935
1933
|
mindsdb/utilities/render/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1936
|
-
mindsdb/utilities/render/sqlalchemy_render.py,sha256=
|
|
1937
|
-
mindsdb-25.3.
|
|
1938
|
-
mindsdb-25.3.
|
|
1939
|
-
mindsdb-25.3.
|
|
1940
|
-
mindsdb-25.3.
|
|
1941
|
-
mindsdb-25.3.
|
|
1934
|
+
mindsdb/utilities/render/sqlalchemy_render.py,sha256=E6_sJv9kfwOwUMurDklFOKpwplASwUBFhfknUqwbUCw,30627
|
|
1935
|
+
mindsdb-25.3.3.0.dist-info/LICENSE,sha256=ziqdjujs6WDn-9g3t0SISjHCBc2pLRht3gnRbQoXmIs,5804
|
|
1936
|
+
mindsdb-25.3.3.0.dist-info/METADATA,sha256=Ow16X8K3pHk0j_i7nAT0p56ckZKLms4S13A-2Rxuzaw,41689
|
|
1937
|
+
mindsdb-25.3.3.0.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
|
|
1938
|
+
mindsdb-25.3.3.0.dist-info/top_level.txt,sha256=10wPR96JDf3hM8aMP7Fz0lDlmClEP480zgXISJKr5jE,8
|
|
1939
|
+
mindsdb-25.3.3.0.dist-info/RECORD,,
|
|
@@ -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
|
|
File without changes
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import unittest
|
|
2
|
-
from mindsdb.integrations.handlers.timescaledb_handler.timescaledb_handler import TimeScaleDBHandler
|
|
3
|
-
from mindsdb.api.executor.data_types.response_type import RESPONSE_TYPE
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class TimeScaleDBHandlerTest(unittest.TestCase):
|
|
7
|
-
@classmethod
|
|
8
|
-
def setUpClass(cls):
|
|
9
|
-
cls.kwargs = {
|
|
10
|
-
"host": "localhost",
|
|
11
|
-
"port": 36806,
|
|
12
|
-
"user": "USERNAME",
|
|
13
|
-
"password": "P455W0rd",
|
|
14
|
-
"database": "tsdb"
|
|
15
|
-
}
|
|
16
|
-
cls.handler = TimeScaleDBHandler('test_timescaledb_handler', connection_data=cls.kwargs)
|
|
17
|
-
|
|
18
|
-
def test_0_connect(self):
|
|
19
|
-
self.handler.connect()
|
|
20
|
-
|
|
21
|
-
def test_1_drop_table(self):
|
|
22
|
-
res = self.handler.query("DROP TABLE IF EXISTS LOVE;")
|
|
23
|
-
assert res.type is not RESPONSE_TYPE.ERROR
|
|
24
|
-
|
|
25
|
-
def test_2_create_table(self):
|
|
26
|
-
res = self.handler.query("CREATE TABLE IF NOT EXISTS LOVE (LOVER varchar(20));")
|
|
27
|
-
assert res.type is not RESPONSE_TYPE.ERROR
|
|
28
|
-
|
|
29
|
-
def test_3_insert(self):
|
|
30
|
-
res = self.handler.query("INSERT INTO LOVE VALUES('Hari');")
|
|
31
|
-
assert res.type is not RESPONSE_TYPE.ERROR
|
|
32
|
-
|
|
33
|
-
def test_4_get_tables(self):
|
|
34
|
-
tables = self.handler.get_tables()
|
|
35
|
-
assert tables.type is RESPONSE_TYPE.TABLE
|
|
36
|
-
|
|
37
|
-
def test_5_select_query(self):
|
|
38
|
-
query = "SELECT * FROM LOVE;"
|
|
39
|
-
result = self.handler.native_query(query)
|
|
40
|
-
assert result.type is RESPONSE_TYPE.TABLE
|
|
41
|
-
|
|
42
|
-
def test_5_check_connection(self):
|
|
43
|
-
self.handler.check_connection()
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if __name__ == '__main__':
|
|
47
|
-
unittest.main()
|
|
File without changes
|
|
File without changes
|