MindsDB 25.1.3.0__py3-none-any.whl → 25.1.4.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.

Files changed (55) hide show
  1. {MindsDB-25.1.3.0.dist-info → MindsDB-25.1.4.0.dist-info}/METADATA +254 -253
  2. {MindsDB-25.1.3.0.dist-info → MindsDB-25.1.4.0.dist-info}/RECORD +55 -52
  3. mindsdb/__about__.py +1 -1
  4. mindsdb/api/executor/__init__.py +0 -1
  5. mindsdb/api/executor/command_executor.py +2 -1
  6. mindsdb/api/executor/data_types/answer.py +1 -1
  7. mindsdb/api/executor/datahub/datanodes/integration_datanode.py +7 -2
  8. mindsdb/api/executor/datahub/datanodes/project_datanode.py +8 -1
  9. mindsdb/api/executor/sql_query/__init__.py +1 -0
  10. mindsdb/api/executor/sql_query/steps/map_reduce_step.py +6 -39
  11. mindsdb/api/http/namespaces/knowledge_bases.py +3 -3
  12. mindsdb/api/http/namespaces/sql.py +3 -1
  13. mindsdb/api/mysql/mysql_proxy/executor/mysql_executor.py +2 -1
  14. mindsdb/api/postgres/postgres_proxy/executor/executor.py +2 -1
  15. mindsdb/integrations/handlers/chromadb_handler/chromadb_handler.py +2 -2
  16. mindsdb/integrations/handlers/chromadb_handler/requirements.txt +1 -1
  17. mindsdb/integrations/handlers/file_handler/tests/test_file_handler.py +17 -1
  18. mindsdb/integrations/handlers/jira_handler/jira_handler.py +15 -1
  19. mindsdb/integrations/handlers/jira_handler/jira_table.py +52 -31
  20. mindsdb/integrations/handlers/langchain_handler/requirements.txt +1 -1
  21. mindsdb/integrations/handlers/pinecone_handler/pinecone_handler.py +123 -72
  22. mindsdb/integrations/handlers/pinecone_handler/requirements.txt +1 -1
  23. mindsdb/integrations/handlers/postgres_handler/postgres_handler.py +9 -3
  24. mindsdb/integrations/handlers/slack_handler/slack_handler.py +13 -2
  25. mindsdb/integrations/handlers/slack_handler/slack_tables.py +21 -1
  26. mindsdb/integrations/libs/ml_handler_process/learn_process.py +1 -1
  27. mindsdb/integrations/utilities/rag/loaders/vector_store_loader/pgvector.py +1 -1
  28. mindsdb/integrations/utilities/rag/pipelines/rag.py +73 -18
  29. mindsdb/integrations/utilities/rag/rerankers/reranker_compressor.py +166 -108
  30. mindsdb/integrations/utilities/rag/retrievers/sql_retriever.py +30 -12
  31. mindsdb/integrations/utilities/rag/settings.py +6 -2
  32. mindsdb/interfaces/agents/agents_controller.py +3 -5
  33. mindsdb/interfaces/agents/langchain_agent.py +112 -150
  34. mindsdb/interfaces/agents/langfuse_callback_handler.py +0 -37
  35. mindsdb/interfaces/agents/mindsdb_database_agent.py +15 -13
  36. mindsdb/interfaces/chatbot/chatbot_controller.py +7 -11
  37. mindsdb/interfaces/chatbot/chatbot_task.py +16 -5
  38. mindsdb/interfaces/chatbot/memory.py +58 -13
  39. mindsdb/interfaces/database/projects.py +17 -15
  40. mindsdb/interfaces/database/views.py +12 -25
  41. mindsdb/interfaces/knowledge_base/controller.py +6 -1
  42. mindsdb/interfaces/model/functions.py +15 -4
  43. mindsdb/interfaces/model/model_controller.py +4 -7
  44. mindsdb/interfaces/skills/custom/text2sql/mindsdb_sql_toolkit.py +47 -38
  45. mindsdb/interfaces/skills/skill_tool.py +97 -53
  46. mindsdb/interfaces/skills/sql_agent.py +77 -36
  47. mindsdb/interfaces/storage/db.py +1 -1
  48. mindsdb/migrations/versions/2025-01-15_c06c35f7e8e1_project_company.py +88 -0
  49. mindsdb/utilities/context.py +2 -1
  50. mindsdb/utilities/langfuse.py +264 -0
  51. mindsdb/utilities/partitioning.py +52 -0
  52. mindsdb/utilities/render/sqlalchemy_render.py +7 -1
  53. {MindsDB-25.1.3.0.dist-info → MindsDB-25.1.4.0.dist-info}/LICENSE +0 -0
  54. {MindsDB-25.1.3.0.dist-info → MindsDB-25.1.4.0.dist-info}/WHEEL +0 -0
  55. {MindsDB-25.1.3.0.dist-info → MindsDB-25.1.4.0.dist-info}/top_level.txt +0 -0
@@ -1,16 +1,16 @@
1
- mindsdb/__about__.py,sha256=LNDd_zVIOeNxjsjc42uW7ErlnlNW4gUsg3uFkfEluNc,444
1
+ mindsdb/__about__.py,sha256=_Urw9l-AFaLVc5Iq1Ue-3QlRChjZdQ2-gAT_0VgzOdc,444
2
2
  mindsdb/__init__.py,sha256=fZopLiAYa9MzMZ0d48JgHc_LddfFKDzh7n_8icsjrVs,54
3
3
  mindsdb/__main__.py,sha256=VQ3RetGs34NhFRT9d76o5S3UpKxdr-G3c0138kz3f8Y,21435
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
7
- mindsdb/api/executor/__init__.py,sha256=a90gM1dHPu7KYIcxehIq_fl8ntJ7I5AxhQEvhJDMSiE,62
8
- mindsdb/api/executor/command_executor.py,sha256=R0g8ACIqLg7DX5kHhDSDa2PdVu_YOIBuwXpop4KKhZY,80629
7
+ mindsdb/api/executor/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
8
+ mindsdb/api/executor/command_executor.py,sha256=nvYmawT1JwwzmK02CoYPmqXeJaQLskGwKnKyhyR0aVU,80692
9
9
  mindsdb/api/executor/exceptions.py,sha256=SoxhetIKIVOAwbVP_NatfoKnwt-Xj2yFCiAIqSDxpIE,566
10
10
  mindsdb/api/executor/controllers/__init__.py,sha256=px47lPVKqfpqgcoEBHyWoax-ad01rNOTJQCgQmG0Flo,50
11
11
  mindsdb/api/executor/controllers/session_controller.py,sha256=2Jf-V0nj7k0aB4scujNVyx91h54odkDrdK1ydsCo46g,3072
12
12
  mindsdb/api/executor/data_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- mindsdb/api/executor/data_types/answer.py,sha256=ZglwIpy9qB5ltfsflpVZR0A9Zrpuu3qTKB75kI3jthQ,412
13
+ mindsdb/api/executor/data_types/answer.py,sha256=YyF6ZG0vUSCM2NqJGAl1Xkyxx2AgX2vGVEM8pMYCPKA,433
14
14
  mindsdb/api/executor/data_types/response_type.py,sha256=eAmjV_UoOKTLh6H7Qi9_1VFhvGm7k1u30D8anJJASGo,128
15
15
  mindsdb/api/executor/datahub/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
16
16
  mindsdb/api/executor/datahub/classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -18,9 +18,9 @@ mindsdb/api/executor/datahub/classes/tables_row.py,sha256=wT3TzoK3dFNiRc92rh_Hgo
18
18
  mindsdb/api/executor/datahub/datanodes/__init__.py,sha256=aGoFHBCcl4y-a5rjUYNGpVbZjsh6i__t4u8AY5shPsg,185
19
19
  mindsdb/api/executor/datahub/datanodes/datanode.py,sha256=-WsN9svEd1FlcToR56wmfJYGSiGcryfx5StnBHdj4JA,355
20
20
  mindsdb/api/executor/datahub/datanodes/information_schema_datanode.py,sha256=D0wM8_uPfTcmnswcnyXGH86UZOiPg2ASmDuOVs3zhMY,6323
21
- mindsdb/api/executor/datahub/datanodes/integration_datanode.py,sha256=EmEaH8foFIDBo9f8rb51yKugqJbKO0jZbLZkSJzXq1Q,9515
21
+ mindsdb/api/executor/datahub/datanodes/integration_datanode.py,sha256=-3OkgZvD8b6H9mBw0NB2tNcw0yRuyI8XKWk9pwB4o2U,9799
22
22
  mindsdb/api/executor/datahub/datanodes/mindsdb_tables.py,sha256=OQJbmzGLYzbA0v-_rwmzB5gvwpJVO0c9h6oNjeGjGPU,12554
23
- mindsdb/api/executor/datahub/datanodes/project_datanode.py,sha256=4Apa575dvcuSG-e6x-Aae_YzPUnW4RGJ7KUDoYswxHI,6826
23
+ mindsdb/api/executor/datahub/datanodes/project_datanode.py,sha256=esPZgPoS2E-fPWFf1UUIm5x4_ptbbsVUELrEhurtHPs,7276
24
24
  mindsdb/api/executor/datahub/datanodes/system_tables.py,sha256=puAzEVGfZCckan8febfdREtnO-lJYnP0a7T2GwRexGo,14388
25
25
  mindsdb/api/executor/planner/__init__.py,sha256=Ysh8feXwejpVhJ9yDbrE_lBA3EsGqyWnrbIPdmtE1Oc,143
26
26
  mindsdb/api/executor/planner/exceptions.py,sha256=rvLQoFZgCpVsGWomSBdPeuOyr_6FM-QKmseVvUIw5E8,46
@@ -33,7 +33,7 @@ mindsdb/api/executor/planner/step_result.py,sha256=t2xBRVSfqTRk4GY2JIi21cXSUiFlC
33
33
  mindsdb/api/executor/planner/steps.py,sha256=kB7FtJiUjiuDYk8a3qw_-EK4VKqcRZSr-udSTyctq6M,8830
34
34
  mindsdb/api/executor/planner/ts_utils.py,sha256=_vujPqWH-Y3gVffv6ND1H2b_j99CBvIgQBxZUvZ7Sic,3871
35
35
  mindsdb/api/executor/planner/utils.py,sha256=pCec75lLc5V84LYMheprYxT7RGeJPKiNZrqA_bYmco0,3838
36
- mindsdb/api/executor/sql_query/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
+ mindsdb/api/executor/sql_query/__init__.py,sha256=LJ2BV8snOaXGA8RJ5W5AmQuViLlxJ5V25G_SdsNIYZI,32
37
37
  mindsdb/api/executor/sql_query/result_set.py,sha256=tYU0q47RGCxwCIloPn_gxz0O3cBe6ShPQWreWT2rKUE,9629
38
38
  mindsdb/api/executor/sql_query/sql_query.py,sha256=6S_PTYYsi9T4I6EvL8X5VvD8sbogSKsuxCQt9gYgGgc,11064
39
39
  mindsdb/api/executor/sql_query/steps/__init__.py,sha256=73K_wevliekB1qX5g6RW_TN6wKqXneBVkk52m3Ualvk,728
@@ -43,7 +43,7 @@ mindsdb/api/executor/sql_query/steps/delete_step.py,sha256=YsHVlszYDV2-kxCcMnaGU
43
43
  mindsdb/api/executor/sql_query/steps/fetch_dataframe.py,sha256=3ciEmtczfTHDFhRwi1sgAwqt5Scl_QQxYeIrVlbfvv0,3643
44
44
  mindsdb/api/executor/sql_query/steps/insert_step.py,sha256=xjVSFzopHVW85sq5p5WVp4hcwkS3qdN8Ygc50jMjFJ0,3738
45
45
  mindsdb/api/executor/sql_query/steps/join_step.py,sha256=8wW7AmIMhMinpMovSgl-2CGujV3mDX5kTFLxuI1KZfQ,4261
46
- mindsdb/api/executor/sql_query/steps/map_reduce_step.py,sha256=44X1vwnPbXYQ4cQa-PS8mCQH7VgnW0v_NpG5B_wcNb4,5447
46
+ mindsdb/api/executor/sql_query/steps/map_reduce_step.py,sha256=v1TZy0FBjw_Bqxx-X2KP-jeqrun-FH4yilghiYhsQEM,4452
47
47
  mindsdb/api/executor/sql_query/steps/multiple_step.py,sha256=jAwY8rGUOdecQNP5JSjjHmPpNLMVPX4adAU-PoHJBuY,656
48
48
  mindsdb/api/executor/sql_query/steps/prepare_steps.py,sha256=QATZ17UHZe5h41jqJP0yicXMsr1B7ak4p7CLHogFbAA,1538
49
49
  mindsdb/api/executor/sql_query/steps/project_step.py,sha256=WQ23VkfWrVHKRnyy91Kh9uRI7Twb-IBvSQl2TZy_21w,2854
@@ -71,11 +71,11 @@ mindsdb/api/http/namespaces/default.py,sha256=r8PXn00Um2eyKB5e_Kj7fzk4e4LYH-JCzX
71
71
  mindsdb/api/http/namespaces/file.py,sha256=u6xYa_moAMb0UXWGkNtErGw9nk-FbloRuLHrLCANjoU,6644
72
72
  mindsdb/api/http/namespaces/handlers.py,sha256=zRWZvPOplwSAbKDKeQz93J38TsCQT89-GSlSug6Mtug,7911
73
73
  mindsdb/api/http/namespaces/jobs.py,sha256=Oif6biw5Bii1fboSbYbpkFJ7cZW9Ad1jpednWX14Xws,3186
74
- mindsdb/api/http/namespaces/knowledge_bases.py,sha256=ghAra4exIvFA8Figel9cZLcXPVqE1TtSDtkiF23j2Ng,16534
74
+ mindsdb/api/http/namespaces/knowledge_bases.py,sha256=bkuEaekMVpFiUTTcpqOJnxYphoEqkCDmNgth020Qszw,16564
75
75
  mindsdb/api/http/namespaces/models.py,sha256=rCUFF02CQcF_QKeCQJcyAWIZzyyNXw-Jl-aX5lGnvBc,11240
76
76
  mindsdb/api/http/namespaces/projects.py,sha256=g2dv_f4MGy7xZRARRqpjghLGSxq_FjHx-fHqPBfRP-E,1407
77
77
  mindsdb/api/http/namespaces/skills.py,sha256=2eG5NtaqJSXQ_ex9Tus0sHA7oF4_SKOxPTdlpnz2tkk,5923
78
- mindsdb/api/http/namespaces/sql.py,sha256=l3QZ8n6xfEEXVLcOGniOnyaHRMqLtMBrLuJ8bBRkRaU,5796
78
+ mindsdb/api/http/namespaces/sql.py,sha256=-uLWZPsd8q2vUjJeZE3c4qjBbatnrWgPhlHROSaFVnc,5964
79
79
  mindsdb/api/http/namespaces/tab.py,sha256=3qgdc6q2WmQQIonSTFvrSvbEgBdGAe98czWWx4OMRNQ,4054
80
80
  mindsdb/api/http/namespaces/tree.py,sha256=8I_X7Uhn6OAEsgWOfneF1UBif0T0YFmj-SG_iT20C3E,3807
81
81
  mindsdb/api/http/namespaces/util.py,sha256=cArp3u3UBZ1pzNagjB_JjqeRTtIvE5WTNG5iuygn9_4,4587
@@ -175,7 +175,7 @@ mindsdb/api/mysql/mysql_proxy/data_types/mysql_packets/stmt_prepare_header.py,sh
175
175
  mindsdb/api/mysql/mysql_proxy/data_types/mysql_packets/switch_auth_packet.py,sha256=ykZJyhvw8iDq8CwVHW0RW5SWbTbfqyX1aD9dOo5Y9MA,1494
176
176
  mindsdb/api/mysql/mysql_proxy/data_types/mysql_packets/switch_auth_response_packet.py,sha256=cm2f1fjPy0nfKWCPARMvq92smMij_X4WTjOdxRlMXOM,521
177
177
  mindsdb/api/mysql/mysql_proxy/executor/__init__.py,sha256=U4cWmxMMtOYdK4a3OvSyy-VzICWiURroIAKMKMoRcnM,38
178
- mindsdb/api/mysql/mysql_proxy/executor/mysql_executor.py,sha256=NjpldrNX1MzPU18NpDXUPt1J6GUpwHMaxWUPIuuDzgU,4156
178
+ mindsdb/api/mysql/mysql_proxy/executor/mysql_executor.py,sha256=ZDsOpD2ytu6oveD_yngG-hrM6qvoWEHIVnv5HetQ7K0,4219
179
179
  mindsdb/api/mysql/mysql_proxy/external_libs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
180
  mindsdb/api/mysql/mysql_proxy/external_libs/mysql_scramble.py,sha256=k5ZmduhQW2E3Mf_jns-dyVLsRxXUAJE1b3Qbr1FkHKo,4116
181
181
  mindsdb/api/mysql/mysql_proxy/libs/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
@@ -189,7 +189,7 @@ mindsdb/api/postgres/start.py,sha256=NVUZBkRBpL0j7eaNBrfQHorCOsNRAKdhtpgsdlv61YA
189
189
  mindsdb/api/postgres/postgres_proxy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
190
  mindsdb/api/postgres/postgres_proxy/postgres_proxy.py,sha256=fudxwxAwMN9mb82CUiUqSkaHW9YJ6g3s0nF-Px5QZXc,19392
191
191
  mindsdb/api/postgres/postgres_proxy/executor/__init__.py,sha256=ah4U7Z-XWrTGXwPovYZZLr1JTBbd7VB66CSBFgyNAxg,67
192
- mindsdb/api/postgres/postgres_proxy/executor/executor.py,sha256=UhiZ21LikbFIks3fy9QLOjK9B-sqeRarte6X-rsBL7U,6378
192
+ mindsdb/api/postgres/postgres_proxy/executor/executor.py,sha256=aV9tuhflppO919B7HQGFyxeMuyv3XaGz2t-fwHLqVJI,6441
193
193
  mindsdb/api/postgres/postgres_proxy/postgres_packets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
194
  mindsdb/api/postgres/postgres_proxy/postgres_packets/errors.py,sha256=lqCz-LNPsonzrDsZ1vDd3gfWV0CQZVH9ynrOWr11NPc,12729
195
195
  mindsdb/api/postgres/postgres_proxy/postgres_packets/postgres_fields.py,sha256=Nv2_oDCFPRwoRpnqSXm546lAUDDJat7VMoJEHR9J16I,1121
@@ -348,10 +348,10 @@ mindsdb/integrations/handlers/cassandra_handler/tests/__init__.py,sha256=47DEQpj
348
348
  mindsdb/integrations/handlers/cassandra_handler/tests/test_cassandra_handler.py,sha256=9MibR3PQlvZzt7Q0rCU6R8dICvqhPA_kxoUp4JiVEVE,1353
349
349
  mindsdb/integrations/handlers/chromadb_handler/__about__.py,sha256=28MPMq-Rjb1tR4SawSItNeGvVRupERgeHUDW7KRiyr4,345
350
350
  mindsdb/integrations/handlers/chromadb_handler/__init__.py,sha256=FzOq_6Kq-DWh2JpJT_nUryqEZrRR3TtpAmynMFOfHr4,659
351
- mindsdb/integrations/handlers/chromadb_handler/chromadb_handler.py,sha256=-fP9xV0N2l9rGkqFhUpJL_op4y7XWNqGGvzUUvJevcU,17409
351
+ mindsdb/integrations/handlers/chromadb_handler/chromadb_handler.py,sha256=P6kfyDvow-DAe_G_QXBhHVRCwA6ZOKr_ttlF4S1PTAA,17381
352
352
  mindsdb/integrations/handlers/chromadb_handler/connection_args.py,sha256=68xiE2YIA1nVVgX2TujmKW2eJ1m7gkvkogtizepPR3o,664
353
353
  mindsdb/integrations/handlers/chromadb_handler/icon.png,sha256=kNvGVxfI_vQgHvpuBwHXKZOpgERaHHx3i1XmyA8GDRg,4199
354
- mindsdb/integrations/handlers/chromadb_handler/requirements.txt,sha256=2QnNLVCgbaL3gdmiBda5kNKdRli30TdPkWJnV7rjTdA,16
354
+ mindsdb/integrations/handlers/chromadb_handler/requirements.txt,sha256=xDi58Geqkth3WtJFFFD20zyutNzmtrKu9cQOSNNzx9A,16
355
355
  mindsdb/integrations/handlers/chromadb_handler/settings.py,sha256=2WL-LMu4ESft90BriiYOmo_WQoXPfh59u_8YeJ3Ml5c,1965
356
356
  mindsdb/integrations/handlers/chromadb_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
357
357
  mindsdb/integrations/handlers/ckan_handler/__about__.py,sha256=asp1VEDXJCLipP3uoPK7Q_qXIODhH89pJqQyjv6P3WE,337
@@ -611,7 +611,7 @@ mindsdb/integrations/handlers/file_handler/file_handler.py,sha256=eL4wugROFNBK7q
611
611
  mindsdb/integrations/handlers/file_handler/icon.svg,sha256=hsXEvUzrO7WQMOPC83LYQt-FW0wey9TCj5EwiIJwKwk,565
612
612
  mindsdb/integrations/handlers/file_handler/requirements.txt,sha256=0a-9n_mDJfSsmbTIL94YxHTIFm2oybXwTap6-oSNg_U,119
613
613
  mindsdb/integrations/handlers/file_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
614
- mindsdb/integrations/handlers/file_handler/tests/test_file_handler.py,sha256=LIt7TYz7frHICCOHJtPnab-7RNoofHyYZll8oMpWw34,14991
614
+ mindsdb/integrations/handlers/file_handler/tests/test_file_handler.py,sha256=1F_6d9rjcwitp9J0SNMyR1BxTb8WLzLz_h20yw2FYaQ,15558
615
615
  mindsdb/integrations/handlers/file_handler/tests/data/test.txt,sha256=SUG2Uw_Hmth51gyaCJyeyfAbFssHfsB3qWFcxBX_W1g,570
616
616
  mindsdb/integrations/handlers/financial_modeling_prep_handler/__about__.py,sha256=Dz6gPZVoxWJqMgte07pkMKtQq42u7qYtCiaxdHVgANw,392
617
617
  mindsdb/integrations/handlers/financial_modeling_prep_handler/__init__.py,sha256=AncBNXt6EECSYDNTlnkxkQ3_dfgEITMKaUUWjV-KSMY,537
@@ -837,8 +837,8 @@ mindsdb/integrations/handlers/intercom_handler/intercom_tables.py,sha256=GKEJEhu
837
837
  mindsdb/integrations/handlers/jira_handler/__about__.py,sha256=qP5rGBzzyFBTJnGNCeyOjiBlzfYjt26PU6bw_8MJQOQ,337
838
838
  mindsdb/integrations/handlers/jira_handler/__init__.py,sha256=Hsc-LAL8aLWwwjZ1D6k_vI_2L21-XET2sSuf0Pg-ga4,508
839
839
  mindsdb/integrations/handlers/jira_handler/icon.svg,sha256=mv8Ee-sh3YbNrGHgdQdgazMICVjU1StIu1Y41H9SjRc,1246
840
- mindsdb/integrations/handlers/jira_handler/jira_handler.py,sha256=6EB4Dk7rM2tQ-GkP0ZdN7P5NHkGnSCEgqe51OtjiCPo,3213
841
- mindsdb/integrations/handlers/jira_handler/jira_table.py,sha256=K4mhPAhW5ui_LQCU9feXgqZeyPlhNcGrb6R8vDHBYwM,5472
840
+ mindsdb/integrations/handlers/jira_handler/jira_handler.py,sha256=kftB6xNJ-w5cXR2EPv2GzOEYMue6qFCyD9QqLrZ1jiQ,3659
841
+ mindsdb/integrations/handlers/jira_handler/jira_table.py,sha256=ttTbNLGNdo_-Pxx-kZ7f31ok990tk16ClGOaqcdRgV4,5886
842
842
  mindsdb/integrations/handlers/jira_handler/requirements.txt,sha256=uGqoPIycab1Q50-NoN8vHp7TdzfHVamy9_t1RvONbog,21
843
843
  mindsdb/integrations/handlers/kinetica_handler/__about__.py,sha256=t4T3AR68hK91GASSzoP8aWSbbtmszFC0-i7Nb8UVIgs,344
844
844
  mindsdb/integrations/handlers/kinetica_handler/__init__.py,sha256=xGpX3Z4sE32AqOPHJ09Vhh-9tvjusZACBCAUwTv8hDI,683
@@ -864,7 +864,7 @@ mindsdb/integrations/handlers/langchain_handler/__about__.py,sha256=rBZQP0fyIkOb
864
864
  mindsdb/integrations/handlers/langchain_handler/__init__.py,sha256=4POM9M6p9cUDAIeQ4gy4Cj-F1p6RPokk3MC2cR77mSw,504
865
865
  mindsdb/integrations/handlers/langchain_handler/icon.svg,sha256=dMV03a2BDQvZTwxDAxRmd-GzmCCVXyYvJqTwdZb5Hbw,73222
866
866
  mindsdb/integrations/handlers/langchain_handler/langchain_handler.py,sha256=2MoMZYz4e4f4NCE-hHheJulxFJAkJudrvOn6-EAGv4Y,12816
867
- mindsdb/integrations/handlers/langchain_handler/requirements.txt,sha256=EcU_mjgRnDFYJfsQ1w2-frY6b_PXW8GCOu9znxbJpEk,245
867
+ mindsdb/integrations/handlers/langchain_handler/requirements.txt,sha256=4aj8aQLjDOkfE6Fj85Gac143kFwDTW6dVaW8YR3TtZQ,252
868
868
  mindsdb/integrations/handlers/langchain_handler/tools.py,sha256=lb0zKsVpTafWi5QSVTbQ0hgvVx1Yr1rLg_i6rTHcVsQ,11385
869
869
  mindsdb/integrations/handlers/leonardoai_handler/__about__.py,sha256=tohCA4vFctgcIkYTPoEhcNRW9C1YX07Sxe6n57vTl7A,353
870
870
  mindsdb/integrations/handlers/leonardoai_handler/__init__.py,sha256=qoDI2PYu2Kw5TapUlHC1QUIfufxvzuJ1RpLBEpd_woE,512
@@ -1185,8 +1185,8 @@ mindsdb/integrations/handlers/pinecone_handler/__about__.py,sha256=Y216IDI1UcOoZ
1185
1185
  mindsdb/integrations/handlers/pinecone_handler/__init__.py,sha256=-Zr1wUH_ggClPqhBrYyB0imqtJRNR4F6DXHsAgmpu3U,659
1186
1186
  mindsdb/integrations/handlers/pinecone_handler/connection_args.py,sha256=psQUmJK0erheDPFvzFmQE1IE4_W5AAf8U0UPntgrHNI,1612
1187
1187
  mindsdb/integrations/handlers/pinecone_handler/icon.svg,sha256=CYI0E8dqYgUElKNLdDGCrGq2oqne3PpURFB94YZYwPA,2683
1188
- mindsdb/integrations/handlers/pinecone_handler/pinecone_handler.py,sha256=-LxCaS2cs8Fq6CPi0gqOUE-FQJyaFKMOVw5ZO_OUKPk,11343
1189
- mindsdb/integrations/handlers/pinecone_handler/requirements.txt,sha256=HZwWHc-GcqQvKEbggsU08J0JAgN91HtiTUhHLpGSbz8,15
1188
+ mindsdb/integrations/handlers/pinecone_handler/pinecone_handler.py,sha256=mRjWgH3YyYe5n90nkAhmnTag5y0w5or0417TspZuJBI,13186
1189
+ mindsdb/integrations/handlers/pinecone_handler/requirements.txt,sha256=9VvkJSZPyG8l8V0QYvhOXRd7cj1EHVKji8zpdKvR-Vk,22
1190
1190
  mindsdb/integrations/handlers/pinecone_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1191
1191
  mindsdb/integrations/handlers/pinot_handler/__about__.py,sha256=CxF5ZlieeDDW0W8POUfJVq1XlMavk9q2zEn9PXbgjs4,353
1192
1192
  mindsdb/integrations/handlers/pinot_handler/__init__.py,sha256=_iKmsOaetC2HbqCLgOdqRNPDK67U7RmgWuQ0nFwFiMs,598
@@ -1228,7 +1228,7 @@ mindsdb/integrations/handlers/postgres_handler/__about__.py,sha256=5W3AHCv0BuvCa
1228
1228
  mindsdb/integrations/handlers/postgres_handler/__init__.py,sha256=tszm8ZCcNkHKoPDIB99A4A40dvj-Yk8PY8p35irS0tQ,606
1229
1229
  mindsdb/integrations/handlers/postgres_handler/connection_args.py,sha256=Td7_Pj2HJYVi3-yzBe-BpFfl1zAZvtDZaYh77PfdhE8,1911
1230
1230
  mindsdb/integrations/handlers/postgres_handler/icon.svg,sha256=pDl9ZZL9cGcrcGVglWMX1L1IncVv5di1b1tly1dfia4,13757
1231
- mindsdb/integrations/handlers/postgres_handler/postgres_handler.py,sha256=F75dO09OZgIpv3G5owb5e--ceissM3VjMJIQdp7pRYU,13586
1231
+ mindsdb/integrations/handlers/postgres_handler/postgres_handler.py,sha256=05Bm6w-kg0fAbWuwgE2fglOJMbV8h789aLR2vC8PQro,13876
1232
1232
  mindsdb/integrations/handlers/postgres_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1233
1233
  mindsdb/integrations/handlers/postgres_handler/tests/test_postgres_handler.py,sha256=IwUYXO3aVCsIunHl5cPsf1nndZj3W-wkp5naH_vPb9Q,5825
1234
1234
  mindsdb/integrations/handlers/pycaret_handler/__about__.py,sha256=Cbt3qxt8SiIhU2_cgCwQxNjrB-alortHg4VqGFY0VlQ,340
@@ -1393,8 +1393,8 @@ mindsdb/integrations/handlers/slack_handler/__init__.py,sha256=1C8z9FrWQHIk2Dg5f
1393
1393
  mindsdb/integrations/handlers/slack_handler/connection_args.py,sha256=mzsx968FZZ3gVFXcTimbegcSucYcKzdRnj9FWj1SZ3s,637
1394
1394
  mindsdb/integrations/handlers/slack_handler/icon.svg,sha256=bPzub2wQkTiV8nFCoy8TCSAXxYjjg65S7jQT1_yGduM,2005
1395
1395
  mindsdb/integrations/handlers/slack_handler/requirements.txt,sha256=92G8Qt34iNKtS1FzKMKUHZp6r8CPz-3TZLn_dD9nY7M,18
1396
- mindsdb/integrations/handlers/slack_handler/slack_handler.py,sha256=vX7nrVIkNFSvsviAySc8_sDEh-8GMf46SHnF7KFxcBY,12784
1397
- mindsdb/integrations/handlers/slack_handler/slack_tables.py,sha256=K5ScKVmsFZgen4QSAr9hMqkcGaYXTPfCNXzpFGjpr54,28116
1396
+ mindsdb/integrations/handlers/slack_handler/slack_handler.py,sha256=2C4uvcnU83-zgodCvzJYE9mxX05kpKrj4jLV_hG7a4Y,13318
1397
+ mindsdb/integrations/handlers/slack_handler/slack_tables.py,sha256=4pkgnyICGoZhJQBWE-gDAZDR2bLm69JoFOHYSAQpbBw,28864
1398
1398
  mindsdb/integrations/handlers/slack_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1399
1399
  mindsdb/integrations/handlers/slack_handler/tests/test_slack.py,sha256=DRRHF-i5J711drntA15ZQY1KvI8GYRDXeKDFiH_alJk,883
1400
1400
  mindsdb/integrations/handlers/snowflake_handler/__about__.py,sha256=O2reZn6Jc5N14J2xVNjUI-DhRlBp3jDTYPBbzfIG88w,345
@@ -1696,7 +1696,7 @@ mindsdb/integrations/libs/ml_handler_process/create_validation_process.py,sha256
1696
1696
  mindsdb/integrations/libs/ml_handler_process/describe_process.py,sha256=D1FEY2C5Ht1KjiycMuplLgHhfRaw-OJylVgst6pOzpQ,4205
1697
1697
  mindsdb/integrations/libs/ml_handler_process/func_call_process.py,sha256=W29lPhV6K8g2prNR57CmyJ_t5DNG_EVnf4fhnHpGFPI,728
1698
1698
  mindsdb/integrations/libs/ml_handler_process/handlers_cacher.py,sha256=Lult730J8sPGabO4cVqXWtc9gqt_iFvTFlY7GAym1RM,771
1699
- mindsdb/integrations/libs/ml_handler_process/learn_process.py,sha256=Hm2DBUGMUB0TXjcYGRb2SPsHaMv9bykBDV7RMuYORCw,7090
1699
+ mindsdb/integrations/libs/ml_handler_process/learn_process.py,sha256=k3UAcRx2wZukaHOaFGxGzqNhEcW3MdhfCt_C4WYJPNs,7100
1700
1700
  mindsdb/integrations/libs/ml_handler_process/predict_process.py,sha256=QmThCaCy-LBVCcpzHWEecl6eWW48QJsf2HxxnwNWN0o,1346
1701
1701
  mindsdb/integrations/libs/ml_handler_process/update_engine_process.py,sha256=cczOfdAPbriukLa5lamDT4VRONjFZ9QGdlXxzOad4K8,788
1702
1702
  mindsdb/integrations/libs/ml_handler_process/update_process.py,sha256=QA3S0GK2wsbCLmTQxPvdHt2V5-hr5t_25JBRFDfvTEo,784
@@ -1736,7 +1736,7 @@ mindsdb/integrations/utilities/handlers/validation_utilities/parameter_validatio
1736
1736
  mindsdb/integrations/utilities/rag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1737
1737
  mindsdb/integrations/utilities/rag/config_loader.py,sha256=3m_hdTugNxbTevU79AMNzK-tjObpj5JBvpGMBZB0Iuw,3573
1738
1738
  mindsdb/integrations/utilities/rag/rag_pipeline_builder.py,sha256=0RhyafFoQPl1aniRYcOu57aljfqKqj_p0cNb_bfOrc8,3742
1739
- mindsdb/integrations/utilities/rag/settings.py,sha256=kz6oJpvEnl51ikQULj7PGB_tKZJR2n4fk8krAHEpC58,23397
1739
+ mindsdb/integrations/utilities/rag/settings.py,sha256=Is7abNO0KjB4__ru90HxEcnQEoFgIcGUmdKpg5vuvtA,23629
1740
1740
  mindsdb/integrations/utilities/rag/utils.py,sha256=AAMW1gybfAntUkAPb9AYUeWZUMtZAwWaYiLJcTHNB4A,1620
1741
1741
  mindsdb/integrations/utilities/rag/vector_store.py,sha256=EwCdCf0dXwJXKOYfqTUPWEDOPLumWl2EKQiiXzgy8XA,3782
1742
1742
  mindsdb/integrations/utilities/rag/chains/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1745,36 +1745,36 @@ mindsdb/integrations/utilities/rag/loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW
1745
1745
  mindsdb/integrations/utilities/rag/loaders/file_loader.py,sha256=CZWcr1F2LHmiKxrQwqPModAlHCgJ4F9OLuVpaf14DR8,1868
1746
1746
  mindsdb/integrations/utilities/rag/loaders/vector_store_loader/MDBVectorStore.py,sha256=TgLU4hFPc-eKJPuN8Gn9UnwqXWF_EhCUGTZNMEP-_vQ,1476
1747
1747
  mindsdb/integrations/utilities/rag/loaders/vector_store_loader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1748
- mindsdb/integrations/utilities/rag/loaders/vector_store_loader/pgvector.py,sha256=1ZG2zu6wmn1xdsQT9lyCeFZjJmLTOyr7iAB8M9ZgtYM,5014
1748
+ mindsdb/integrations/utilities/rag/loaders/vector_store_loader/pgvector.py,sha256=1afkvEbBSzaeofZAbK80m3UxfZd7PO-SukbnNb1aW3w,5013
1749
1749
  mindsdb/integrations/utilities/rag/loaders/vector_store_loader/vector_store_loader.py,sha256=TaJkfrsajapchnP5ED0WMCP85ptbvN2d8y3UMdjMjDc,3188
1750
1750
  mindsdb/integrations/utilities/rag/pipelines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1751
- mindsdb/integrations/utilities/rag/pipelines/rag.py,sha256=BFCj361hjfYd7UsxeLsZo0jADdYmNIoviHyeCaR50po,12343
1751
+ mindsdb/integrations/utilities/rag/pipelines/rag.py,sha256=hkIqbBkERkOrsOUruLweKnj4Euo5GoJbXB5GspD1TGk,15218
1752
1752
  mindsdb/integrations/utilities/rag/rerankers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1753
- mindsdb/integrations/utilities/rag/rerankers/reranker_compressor.py,sha256=WS5rEpochjp5esGCnScm0lI2Oawu-ZKDEiDFJvM1D8M,6430
1753
+ mindsdb/integrations/utilities/rag/rerankers/reranker_compressor.py,sha256=ivSLr6ZA51pFNIrP5vr1STs54fHvnnj_CGqxK-HLFAc,9083
1754
1754
  mindsdb/integrations/utilities/rag/retrievers/__init__.py,sha256=Kuo3AJxzHVXMxPFxGqz2AXNPzjBzyMuk2yQj9pFpOsI,128
1755
1755
  mindsdb/integrations/utilities/rag/retrievers/auto_retriever.py,sha256=ODNXqeBuDfatGQLvKvogO0aA-A5v3Z4xbCbvO5ICvt4,3923
1756
1756
  mindsdb/integrations/utilities/rag/retrievers/base.py,sha256=fomZCUibDLKg-g4_uoTWz6OlhRG-GzqdPPoAR6XyPtk,264
1757
1757
  mindsdb/integrations/utilities/rag/retrievers/multi_hop_retriever.py,sha256=wC2M3Vsgzs5Nu6uEuD4YQZZU9W8eW_bc7RrrqvN38mk,3319
1758
1758
  mindsdb/integrations/utilities/rag/retrievers/multi_vector_retriever.py,sha256=D9QzIRZWQ6LrT892twdgJj287_BlVEmXRQLYQegQuVA,4383
1759
1759
  mindsdb/integrations/utilities/rag/retrievers/retriever_factory.py,sha256=knmGLJNEG8x4KFhUYQiCIpghR5yEEeu_tonSUMUqXAQ,2205
1760
- mindsdb/integrations/utilities/rag/retrievers/sql_retriever.py,sha256=QVMeyLaTk4Vx9FSiBtoHwp2V0Mothciw5_NeXXSecJ8,8805
1760
+ mindsdb/integrations/utilities/rag/retrievers/sql_retriever.py,sha256=Xjf8aMNGUBqXF_2poPtoTrZeVhr30pXcpCSarvExrHA,9586
1761
1761
  mindsdb/integrations/utilities/rag/splitters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1762
1762
  mindsdb/integrations/utilities/rag/splitters/file_splitter.py,sha256=O14E_27omTti4jsxhgTiwHtlR2LdCa9D2DiEgc7yKmc,5260
1763
1763
  mindsdb/interfaces/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
1764
1764
  mindsdb/interfaces/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1765
- mindsdb/interfaces/agents/agents_controller.py,sha256=nzpJJgn31updzPFI0G-w4wquSdL1Ae9j7ZM9uJqz44Y,17594
1765
+ mindsdb/interfaces/agents/agents_controller.py,sha256=TMzmzQsgxZjmtARcoyOspATUEi4rRTfBExeuAZDrprc,17456
1766
1766
  mindsdb/interfaces/agents/callback_handlers.py,sha256=90mGvx6ZIXRA_PAoV6vf8OHjJN65GHgoM3ip_ULOVN8,4711
1767
1767
  mindsdb/interfaces/agents/constants.py,sha256=iPxsSPrf9cEiYmOJSJSHvF3VG-UTIJoYt6j5gmR4Byc,4433
1768
- mindsdb/interfaces/agents/langchain_agent.py,sha256=g67SIm1FZVmTfDeqERgheXj9mx3MZtaWFXebPbVMZVc,27622
1769
- mindsdb/interfaces/agents/langfuse_callback_handler.py,sha256=sC2LpNcHS7Cn2p1WwPz7KNC90R9Wsfr85n8IbeWcctA,6222
1768
+ mindsdb/interfaces/agents/langchain_agent.py,sha256=rAavppJfAc1ZmRMhOLCu_FyUijkqL8lo0VeX5XdG0xE,25454
1769
+ mindsdb/interfaces/agents/langfuse_callback_handler.py,sha256=hNgvYZkD1LWXbcZVJF-SntAKHvCRlurMEUhBkTRtIgs,4839
1770
1770
  mindsdb/interfaces/agents/mindsdb_chat_model.py,sha256=9e_LxCKrCSOZWqURHWavw-FQUK9PLJ5O18IGYSHD9us,6051
1771
- mindsdb/interfaces/agents/mindsdb_database_agent.py,sha256=QtfuII9dgwaqfhKOh07RolmSe8QajTUbvyFhtjPUX4E,1877
1771
+ mindsdb/interfaces/agents/mindsdb_database_agent.py,sha256=swLalN9fN91FmxmUALXyNKI4amVg3ABukeFi2cf_Ja4,1858
1772
1772
  mindsdb/interfaces/agents/safe_output_parser.py,sha256=x2G27UPT42iVjjj44vGUVNPEUDSHH3nlKJwe3GZDh9A,1605
1773
1773
  mindsdb/interfaces/chatbot/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
1774
- mindsdb/interfaces/chatbot/chatbot_controller.py,sha256=CXePHuazZgEoKDcYGfxVM3lnGVrlZ-t64_WivMnhGmM,14202
1774
+ mindsdb/interfaces/chatbot/chatbot_controller.py,sha256=Ex-_CoZayYW3GAde0XozTL5s5M3rwWJqxt_c1uU09vg,14181
1775
1775
  mindsdb/interfaces/chatbot/chatbot_executor.py,sha256=3qU98MHBmUcsIWYqaNNJhoudUQWLPWlCB_di6iFaP1g,7742
1776
- mindsdb/interfaces/chatbot/chatbot_task.py,sha256=zIGP9ZmJWIJ5mp1Jnkhsr0eOb2Eb-WNpjk8yPGGHIYM,6329
1777
- mindsdb/interfaces/chatbot/memory.py,sha256=dRom_Dw5jbPhqQiJn4SzUQmXA3xisyY5A5V4NvyWYow,6703
1776
+ mindsdb/interfaces/chatbot/chatbot_task.py,sha256=eKU-7FSygAzFq9lkHKLl5zlkiiQDGjzOX7oUb-rJNQo,7001
1777
+ mindsdb/interfaces/chatbot/memory.py,sha256=tkqBiA5mMvkuGITCjUC_r0JuyUS2DbeARxJ_GryOZJQ,8346
1778
1778
  mindsdb/interfaces/chatbot/model_executor.py,sha256=qv8DRysWLbJwbv4TkQ-bsLmJOnDaDlMBw7jZ3s6-dzk,3598
1779
1779
  mindsdb/interfaces/chatbot/polling.py,sha256=Pi7oPGoz8_LB_4k4YGSPf2XtEdb5ca2augjRHxscn48,8109
1780
1780
  mindsdb/interfaces/chatbot/types.py,sha256=nHFxK0FbxGrhv5gqPJc6PbP1LlIbWN-kTAHpS11iLZo,929
@@ -1782,8 +1782,8 @@ mindsdb/interfaces/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
1782
1782
  mindsdb/interfaces/database/database.py,sha256=Uq02qqkkAhGTZTf_BiyyvAg8X5QhakjpDWMRn-kZOgU,4284
1783
1783
  mindsdb/interfaces/database/integrations.py,sha256=-OzOnU1PIOgSD0Tgq-tdSpMb6V1qtXPgbdvAaYm__9s,36445
1784
1784
  mindsdb/interfaces/database/log.py,sha256=tewoKWc-xvfbFC9RVaUUAjQGuRY__Lex8fbR_pwNMwc,11074
1785
- mindsdb/interfaces/database/projects.py,sha256=SL0dx-bkA7Qiyljl8DJj-Me4ybGZRky7hUwz7gr4bek,13506
1786
- mindsdb/interfaces/database/views.py,sha256=thV9OGVE-MLbg-VPZYe140CWRWGpOCFlTKZTOway01I,4771
1785
+ mindsdb/interfaces/database/projects.py,sha256=aNI9vTppVogA8pZvG6jjdykKSEYzAwSALjjEUtOYp6o,13652
1786
+ mindsdb/interfaces/database/views.py,sha256=CthbUly3OgOyFV8a-VRQwhjLh6I1LXbBUzMAcfu8USI,4404
1787
1787
  mindsdb/interfaces/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1788
1788
  mindsdb/interfaces/file/file_controller.py,sha256=-CS3ocAJV_K2Bwb2p_RezEj2Bjnk8WKtCVmkqFYmxX4,4612
1789
1789
  mindsdb/interfaces/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1792,29 +1792,29 @@ mindsdb/interfaces/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
1792
1792
  mindsdb/interfaces/jobs/jobs_controller.py,sha256=xBleXIpGLZ_Sg3j5e7BeTRV-Hp6ELMuFuQwtVZyQ72s,18247
1793
1793
  mindsdb/interfaces/jobs/scheduler.py,sha256=m_C-QiTExljq0ilpe4vQiQv56AIWsrtfcdo0krMYQes,3664
1794
1794
  mindsdb/interfaces/knowledge_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1795
- mindsdb/interfaces/knowledge_base/controller.py,sha256=D2A__yrbocaEhOxhYjTTGzmyEo7eOrk-CYGPWVyg66w,35421
1795
+ mindsdb/interfaces/knowledge_base/controller.py,sha256=SdChVGii_RKCvIrbxLsF8MvMY50OQgatDfynsOkS6Qw,35689
1796
1796
  mindsdb/interfaces/knowledge_base/preprocessing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1797
1797
  mindsdb/interfaces/knowledge_base/preprocessing/constants.py,sha256=0sLB2GOQhh3d46WNcVPF0iTmJc01CIXJoPT99XktuMo,295
1798
1798
  mindsdb/interfaces/knowledge_base/preprocessing/document_loader.py,sha256=Ry0KG8F6kNPAnaoKRqsGX1Oq_ukt6ZmI8fYgj_0RnvU,6342
1799
1799
  mindsdb/interfaces/knowledge_base/preprocessing/document_preprocessor.py,sha256=RdASLNgDdvfjwLawIqsSQeQKX2qf411e5N7bjQuCNmQ,14604
1800
1800
  mindsdb/interfaces/knowledge_base/preprocessing/models.py,sha256=s0O29xo7V1fjUgee6fN7kkKdMOBrnFLyx3nwkBaxLfY,3790
1801
1801
  mindsdb/interfaces/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1802
- mindsdb/interfaces/model/functions.py,sha256=r3JXJjOFblOmb1iqwQNA656Tia64xsevFe2Xf_eLsuA,4590
1803
- mindsdb/interfaces/model/model_controller.py,sha256=DMOLTd-Eja3J8sY7jvw47lyrnoAqQ7ghq4NMEyMTaKw,20355
1802
+ mindsdb/interfaces/model/functions.py,sha256=TlZfCASNDtwEXXTb38ma5fgWmn2f0XuWPQ5m8wufqks,4904
1803
+ mindsdb/interfaces/model/model_controller.py,sha256=7MmAL_hFxswlPRIZ6RME5SGl0ArTzExuVr1Vy3oQc5k,20201
1804
1804
  mindsdb/interfaces/query_context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1805
1805
  mindsdb/interfaces/query_context/context_controller.py,sha256=YAmdcSFEzd3aOr4nRF7TX6UfAXH9kMK1qk7bpVtvhpY,9486
1806
1806
  mindsdb/interfaces/query_context/last_query.py,sha256=LbZwvPtDYJFVBRonJr6RgGZyCbCNGcJJdhS22pW_YE0,9331
1807
1807
  mindsdb/interfaces/skills/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
1808
1808
  mindsdb/interfaces/skills/retrieval_tool.py,sha256=zuEEPky--GdKHa1rqd4VhM2wgtlGas5G72eFbooj-Hg,4480
1809
- mindsdb/interfaces/skills/skill_tool.py,sha256=8nnemMDUuq93UxJFR9gT3RPHcp2gsx98NvxQ23fx0k0,10092
1809
+ mindsdb/interfaces/skills/skill_tool.py,sha256=knU34NKWlF0-Wc_no0mdUOlXDJkP_kTQjcuhxiRUH2E,12568
1810
1810
  mindsdb/interfaces/skills/skills_controller.py,sha256=6UagDyYf-xDjnanIJzoOcPAIuBi7g9O6DKE0YaKW61g,5783
1811
- mindsdb/interfaces/skills/sql_agent.py,sha256=lP433_P6YrlwDdKeX8ACeRzA20KfcdT47oIGxHDg-rQ,9901
1811
+ mindsdb/interfaces/skills/sql_agent.py,sha256=fDKSrumx5ml4aCjPbo-Edmv0vSml-LiiXhftjJTDMY8,12117
1812
1812
  mindsdb/interfaces/skills/custom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1813
1813
  mindsdb/interfaces/skills/custom/text2sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1814
1814
  mindsdb/interfaces/skills/custom/text2sql/mindsdb_sql_tool.py,sha256=CDi2v2Ym3u-0nr8jq7wyf8CymWRFy_wziCov4Y9b3Iw,1253
1815
- mindsdb/interfaces/skills/custom/text2sql/mindsdb_sql_toolkit.py,sha256=H04cXtTmJsgvk5xrHhtAKXn0y2JR1dwNC8y84UuQAik,5687
1815
+ mindsdb/interfaces/skills/custom/text2sql/mindsdb_sql_toolkit.py,sha256=Ad74RUYhwR4zFQPmES1aJKsVHj9YpMUJqzRgyPotXt4,6010
1816
1816
  mindsdb/interfaces/storage/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
1817
- mindsdb/interfaces/storage/db.py,sha256=NOVpYVEbSJtjEWKoaKS7Zu-Ji-Z8dh5rnMjK5Kf1__E,19340
1817
+ mindsdb/interfaces/storage/db.py,sha256=L-nXGVVkt4izM2VgORfCitLUg3xVup8nwLi7B9PyKCg,19351
1818
1818
  mindsdb/interfaces/storage/fs.py,sha256=4Nyo-h23UtZc2nz_LWyVzboC_e1jlU58aph1_en8MdE,21155
1819
1819
  mindsdb/interfaces/storage/json.py,sha256=KdrmXfqVCNZ_anNpfyygcFQeywbdJMCMbaI3HFJic-U,2925
1820
1820
  mindsdb/interfaces/storage/model_fs.py,sha256=LQHyIs3wlOEpFHceAjziA7zuQKY3N-8gt9EuSYHO8zI,8267
@@ -1886,19 +1886,22 @@ mindsdb/migrations/versions/2024-11-15_9d559f68d535_add_llm_log_columns.py,sha25
1886
1886
  mindsdb/migrations/versions/2024-11-19_0f89b523f346_agent_skills_parameters.py,sha256=SdZwpPKODEaC9fc6mFc-kw65Y9GzLiV9WsPYquICUI0,701
1887
1887
  mindsdb/migrations/versions/2024-11-28_a8a3fac369e7_llm_log_json_in_out.py,sha256=1qQl720lynCbtcGqKIbFM0HCo81xIXqz0Hj3dWkH6UI,3174
1888
1888
  mindsdb/migrations/versions/2024-11-29_f6dc924079fa_predictor_training_metadata.py,sha256=nCnp-M3ljIEAO9XTc5mSURp2SX5Q8gE6kyJHp5J5vmo,1322
1889
+ mindsdb/migrations/versions/2025-01-15_c06c35f7e8e1_project_company.py,sha256=zJcBGdgBMlt9oI-SbB8C74w-jDf3ZMYlEuO2guwrfZw,1896
1889
1890
  mindsdb/migrations/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1890
1891
  mindsdb/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1891
1892
  mindsdb/utilities/auth.py,sha256=6ycLJgXySghgFdzK6emxdStElzt5aOPafjDCRR_g_q0,2336
1892
1893
  mindsdb/utilities/cache.py,sha256=6VV5BJ0EWPYK2h80KEM1ETMhw_OCgDKyU6Pejvj1s3E,7431
1893
1894
  mindsdb/utilities/config.py,sha256=ezGcUAy2D9NiRd1mpLbZ2JyN5JSwAp7HR9Gm9MyZJ6I,20688
1894
- mindsdb/utilities/context.py,sha256=2M6ErZR722EIZIij96f4XlEO0P5n1omA6uBe2soM7Ak,1778
1895
+ mindsdb/utilities/context.py,sha256=LyKNgtavQnAfZpaPHINhrA_9L_SjfURUBD9fZNtuQMQ,1813
1895
1896
  mindsdb/utilities/context_executor.py,sha256=6ByyeulMePEfRrGxR9vlKYF87R8z1wHFwc1GdfhlGCk,1946
1896
1897
  mindsdb/utilities/exception.py,sha256=q-9cwMLmQvuPpwdjRG0xNZ23z9cxHSfyT2295Rk6waA,1034
1897
1898
  mindsdb/utilities/fs.py,sha256=1ezB-EkY-qhIBBC_qRUAn79D0CbxCyVDfEdrY2pp1JA,4657
1898
1899
  mindsdb/utilities/functions.py,sha256=CQ87uYz7elOeklHbl7vQdK6QPKpTLGWHAOEKW-lKq5Q,6398
1899
1900
  mindsdb/utilities/json_encoder.py,sha256=-nWynBlL7AwRyrM8gkiXPvPzk97EBJawryCA-ZO_7-A,1094
1901
+ mindsdb/utilities/langfuse.py,sha256=mPw_eKhSA5LS4EV21lSE9jhXR-Ih7PpaEVnqcOVwh1c,8886
1900
1902
  mindsdb/utilities/log.py,sha256=cqWnFDM3qBbsMKTpIXKjA7q1jTZDMkrk4YhjVmzko58,3908
1901
1903
  mindsdb/utilities/log_controller.py,sha256=B70FF1P1-kkpujpSAkxhu9FCZARKXfvov-SBl3oiobA,1039
1904
+ mindsdb/utilities/partitioning.py,sha256=W84Nj8t2pveOo1ZfWuuYrSTOlOaZhLTPEaDxbE6BlyY,1466
1902
1905
  mindsdb/utilities/ps.py,sha256=vsY7119OJGYd_n1FXT_FuMTfUL3dVr3WiTRyASaGD00,2339
1903
1906
  mindsdb/utilities/security.py,sha256=Mdj3c9Y2BFiEmwKY7J-yrbYdQ6oMgWENPE1XIu4tidk,1506
1904
1907
  mindsdb/utilities/sentry.py,sha256=PMI55LbYvCi8NLmI3QgCNL1M8bymVr8J4JBTywAl1WE,2420
@@ -1923,9 +1926,9 @@ mindsdb/utilities/otel/metric_handlers/__init__.py,sha256=3jGsLt5KkdhqaAUUw8ALxE
1923
1926
  mindsdb/utilities/profiler/__init__.py,sha256=d4VXl80uSm1IotR-WwbBInPmLmACiK0AzxXGBA40I-0,251
1924
1927
  mindsdb/utilities/profiler/profiler.py,sha256=KCUtOupkbM_nCoof9MtiuhUzDGezx4a4NsBX6vGWbPA,3936
1925
1928
  mindsdb/utilities/render/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1926
- mindsdb/utilities/render/sqlalchemy_render.py,sha256=ot4I-2OV81f7P5XohbFjIb7PluQ5uHPREY7ci8TjBoI,28072
1927
- MindsDB-25.1.3.0.dist-info/LICENSE,sha256=ziqdjujs6WDn-9g3t0SISjHCBc2pLRht3gnRbQoXmIs,5804
1928
- MindsDB-25.1.3.0.dist-info/METADATA,sha256=BW3YuhlOGTFimRoPTAGEyYw1jSifP1Ng5ELgLP4Qfd4,43110
1929
- MindsDB-25.1.3.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
1930
- MindsDB-25.1.3.0.dist-info/top_level.txt,sha256=10wPR96JDf3hM8aMP7Fz0lDlmClEP480zgXISJKr5jE,8
1931
- MindsDB-25.1.3.0.dist-info/RECORD,,
1929
+ mindsdb/utilities/render/sqlalchemy_render.py,sha256=XnG2IvB5tTF65EK-xV14HXrfGxyz2cQw7K6zEr9dclI,28287
1930
+ MindsDB-25.1.4.0.dist-info/LICENSE,sha256=ziqdjujs6WDn-9g3t0SISjHCBc2pLRht3gnRbQoXmIs,5804
1931
+ MindsDB-25.1.4.0.dist-info/METADATA,sha256=PkOdPMY6p1hf2-pmQUeYoPW6o6dNdcqnoqWt5fzS2vo,43201
1932
+ MindsDB-25.1.4.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
1933
+ MindsDB-25.1.4.0.dist-info/top_level.txt,sha256=10wPR96JDf3hM8aMP7Fz0lDlmClEP480zgXISJKr5jE,8
1934
+ MindsDB-25.1.4.0.dist-info/RECORD,,
mindsdb/__about__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  __title__ = 'MindsDB'
2
2
  __package_name__ = 'mindsdb'
3
- __version__ = '25.1.3.0'
3
+ __version__ = '25.1.4.0'
4
4
  __description__ = "MindsDB's AI SQL Server enables developers to build AI tools that need access to real-time data to perform their tasks"
5
5
  __email__ = "jorge@mindsdb.com"
6
6
  __author__ = 'MindsDB Inc'
@@ -1,2 +1 @@
1
1
 
2
- from .sql_query.sql_query import SQLQuery, Column, ResultSet
@@ -71,7 +71,8 @@ from mindsdb_sql_parser.ast.mindsdb import (
71
71
  import mindsdb.utilities.profiler as profiler
72
72
 
73
73
  from mindsdb.integrations.utilities.query_traversal import query_traversal
74
- from mindsdb.api.executor import Column, SQLQuery, ResultSet
74
+ from mindsdb.api.executor.sql_query.result_set import Column, ResultSet
75
+ from mindsdb.api.executor.sql_query import SQLQuery
75
76
  from mindsdb.api.executor.data_types.answer import ExecuteAnswer
76
77
  from mindsdb.api.mysql.mysql_proxy.libs.constants.mysql import (
77
78
  CHARSET_NUMBERS,
@@ -1,5 +1,5 @@
1
1
  from typing import List
2
- from mindsdb.api.executor import ResultSet
2
+ from mindsdb.api.executor.sql_query.result_set import ResultSet
3
3
 
4
4
 
5
5
  class ExecuteAnswer:
@@ -1,4 +1,6 @@
1
1
  import time
2
+ import inspect
3
+ from typing import Optional
2
4
 
3
5
  import numpy as np
4
6
  from numpy import dtype as np_dtype
@@ -53,8 +55,11 @@ class IntegrationDataNode(DataNode):
53
55
  def has_table(self, tableName):
54
56
  return True
55
57
 
56
- def get_table_columns(self, tableName):
57
- response = self.integration_handler.get_columns(tableName)
58
+ def get_table_columns(self, table_name: str, schema_name: Optional[str] = None):
59
+ if 'schema_name' in inspect.signature(self.integration_handler.get_columns).parameters:
60
+ response = self.integration_handler.get_columns(table_name, schema_name)
61
+ else:
62
+ response = self.integration_handler.get_columns(table_name)
58
63
  if response.type == RESPONSE_TYPE.TABLE:
59
64
  df = response.data_frame
60
65
  # case independent
@@ -14,9 +14,10 @@ from mindsdb_sql_parser.ast import (
14
14
  from mindsdb.utilities.exception import EntityNotExistsError
15
15
  from mindsdb.api.executor.datahub.datanodes.datanode import DataNode
16
16
  from mindsdb.api.executor.datahub.classes.tables_row import TablesRow
17
- from mindsdb.api.executor import SQLQuery
17
+ from mindsdb.api.executor.sql_query import SQLQuery
18
18
  from mindsdb.api.executor.utilities.sql import query_df
19
19
  from mindsdb.interfaces.query_context.context_controller import query_context_controller
20
+ from mindsdb.utilities.partitioning import process_dataframe_in_partitions
20
21
 
21
22
 
22
23
  class ProjectDataNode(DataNode):
@@ -65,6 +66,12 @@ class ProjectDataNode(DataNode):
65
66
  if model_metadata['update_status'] == 'available':
66
67
  raise Exception(f"model '{model_name}' is obsolete and needs to be updated. Run 'RETRAIN {model_name};'")
67
68
  ml_handler = self.integration_controller.get_ml_handler(model_metadata['engine_name'])
69
+ if params is not None and 'partition_size' in params:
70
+ def callback(chunk):
71
+ return ml_handler.predict(model_name, chunk, project_name=self.project.name,
72
+ version=version, params=params)
73
+ return pd.concat(process_dataframe_in_partitions(df, callback, params['partition_size']))
74
+
68
75
  return ml_handler.predict(model_name, df, project_name=self.project.name, version=version, params=params)
69
76
 
70
77
  def query(self, query=None, native_query=None, session=None):
@@ -0,0 +1 @@
1
+ from .sql_query import SQLQuery
@@ -1,4 +1,3 @@
1
- import os
2
1
  import copy
3
2
 
4
3
  from mindsdb_sql_parser.ast import (
@@ -15,8 +14,7 @@ from mindsdb.api.executor.planner.steps import (
15
14
 
16
15
  from mindsdb.api.executor.sql_query.result_set import ResultSet
17
16
  from mindsdb.api.executor.exceptions import LogicError
18
- from mindsdb.utilities.config import Config
19
- from mindsdb.utilities.context_executor import execute_in_threads
17
+ from mindsdb.utilities.partitioning import process_dataframe_in_partitions
20
18
 
21
19
  from .base import BaseStepCall
22
20
 
@@ -88,43 +86,12 @@ class MapReduceStepCall(BaseStepCall):
88
86
 
89
87
  df = input_data.get_raw_df()
90
88
 
91
- # tasks
92
- def split_data_f(df):
93
- chunk = 0
94
- while chunk * partition < len(df):
95
- # create results with partition
96
- df1 = df.iloc[chunk * partition: (chunk + 1) * partition]
97
- chunk += 1
98
- yield df1, substeps, input_idx, input_columns
99
-
100
- tasks = split_data_f(df)
101
-
102
- # workers count
103
- is_cloud = Config().get('cloud', False)
104
- if is_cloud:
105
- max_threads = int(os.getenv('MAX_QUERY_PARTITIONS', 10))
106
- else:
107
- max_threads = os.cpu_count() - 2
108
-
109
- # don't exceed chunk_count
110
- chunk_count = int(len(df) / partition)
111
- max_threads = min(max_threads, chunk_count)
112
-
113
- if max_threads < 1:
114
- max_threads = 1
89
+ def callback(chunk):
90
+ return self._exec_partition(chunk, substeps, input_idx, input_columns)
115
91
 
116
- if max_threads == 1:
117
- # don't spawn threads
118
-
119
- for task in tasks:
120
- sub_data = self._exec_partition(*task)
121
- if sub_data:
122
- data = join_query_data(data, sub_data)
123
-
124
- else:
125
- for sub_data in execute_in_threads(self._exec_partition, tasks, thread_count=max_threads):
126
- if sub_data:
127
- data = join_query_data(data, sub_data)
92
+ for result in process_dataframe_in_partitions(df, callback, partition):
93
+ if result:
94
+ data = join_query_data(data, result)
128
95
 
129
96
  return data
130
97
 
@@ -185,8 +185,10 @@ class KnowledgeBaseResource(Resource):
185
185
  )
186
186
 
187
187
  try:
188
+ kb_data = request.json['knowledge_base']
189
+
188
190
  # Retrieve the knowledge base table for updates
189
- table = session.kb_controller.get_table(knowledge_base_name, project.id)
191
+ table = session.kb_controller.get_table(knowledge_base_name, project.id, params=kb_data.get('params'))
190
192
  if table is None:
191
193
  return http_error(
192
194
  HTTPStatus.NOT_FOUND,
@@ -194,8 +196,6 @@ class KnowledgeBaseResource(Resource):
194
196
  f'Knowledge Base with name {knowledge_base_name} does not exist'
195
197
  )
196
198
 
197
- kb_data = request.json['knowledge_base']
198
-
199
199
  # Set up dependencies for DocumentLoader
200
200
  file_controller = FileController()
201
201
  file_splitter_config = FileSplitterConfig()
@@ -78,6 +78,7 @@ class Query(Resource):
78
78
  "error_code": 0,
79
79
  "error_message": str(e),
80
80
  }
81
+ logger.error(f"Error query processing: \n{traceback.format_exc()}")
81
82
 
82
83
  except UnknownError as e:
83
84
  # unclassified
@@ -87,6 +88,7 @@ class Query(Resource):
87
88
  "error_code": 0,
88
89
  "error_message": str(e),
89
90
  }
91
+ logger.error(f"Error query processing: \n{traceback.format_exc()}")
90
92
 
91
93
  except Exception as e:
92
94
  error_type = "unexpected"
@@ -95,7 +97,7 @@ class Query(Resource):
95
97
  "error_code": 0,
96
98
  "error_message": str(e),
97
99
  }
98
- logger.debug(f"Error query processing: \n{traceback.format_exc()}")
100
+ logger.error(f"Error query processing: \n{traceback.format_exc()}")
99
101
 
100
102
  if query_response.get("type") == SQL_RESPONSE_TYPE.ERROR:
101
103
  error_type = "expected"
@@ -2,7 +2,8 @@ from mindsdb_sql_parser import parse_sql
2
2
  from mindsdb.api.executor.planner import utils as planner_utils
3
3
 
4
4
  import mindsdb.utilities.profiler as profiler
5
- from mindsdb.api.executor import Column, SQLQuery
5
+ from mindsdb.api.executor.sql_query.result_set import Column
6
+ from mindsdb.api.executor.sql_query import SQLQuery
6
7
  from mindsdb.api.executor.command_executor import ExecuteCommands
7
8
  from mindsdb.api.mysql.mysql_proxy.utilities import ErSqlSyntaxError
8
9
  from mindsdb.utilities import log
@@ -6,7 +6,8 @@ from mindsdb.api.executor.planner import utils as planner_utils
6
6
  from numpy import dtype as np_dtype
7
7
  from pandas.api import types as pd_types
8
8
 
9
- from mindsdb.api.executor import SQLQuery, Column
9
+ from mindsdb.api.executor.sql_query import SQLQuery
10
+ from mindsdb.api.executor.sql_query.result_set import Column
10
11
  from mindsdb.api.mysql.mysql_proxy.utilities.lightwood_dtype import dtype
11
12
  from mindsdb.api.executor.command_executor import ExecuteCommands
12
13
  from mindsdb.api.mysql.mysql_proxy.utilities import SqlApiException
@@ -286,7 +286,7 @@ class ChromaDBHandler(VectorStoreHandler):
286
286
  else:
287
287
  # general get query
288
288
  result = collection.get(
289
- ids=id_filters,
289
+ ids=id_filters or None,
290
290
  where=filters,
291
291
  limit=limit,
292
292
  offset=offset,
@@ -475,7 +475,7 @@ class ChromaDBHandler(VectorStoreHandler):
475
475
  collections = self._client.list_collections()
476
476
  collections_name = pd.DataFrame(
477
477
  columns=["table_name"],
478
- data=[collection.name for collection in collections],
478
+ data=collections,
479
479
  )
480
480
  return Response(resp_type=RESPONSE_TYPE.TABLE, data_frame=collections_name)
481
481
 
@@ -1 +1 @@
1
- chromadb~=0.4.8
1
+ chromadb~=0.6.3
@@ -25,6 +25,11 @@ test_file_content = [
25
25
  [3, -3, 0.3, "C"],
26
26
  ]
27
27
 
28
+ test_excel_sheet_content = [
29
+ ["Sheet_Name"],
30
+ ["Sheet1"],
31
+ ]
32
+
28
33
  file_records = [("one", 1, test_file_content[0]), ("two", 2, test_file_content[0])]
29
34
 
30
35
 
@@ -349,7 +354,18 @@ def test_get_file_path_with_url(mock_fetch_url):
349
354
  ],
350
355
  )
351
356
  def test_handle_source(file_path, expected_columns):
352
- df, col_map = FileHandler._handle_source(file_path)
357
+ sheet_name = None
358
+ # Excel files return a list of sheets when queried without a sheet name
359
+ if file_path.endswith(".xlsx"):
360
+ df, _ = FileHandler._handle_source(file_path)
361
+ assert isinstance(df, pandas.DataFrame)
362
+
363
+ assert df.columns.tolist() == test_excel_sheet_content[0]
364
+ assert len(df) == len(test_excel_sheet_content) - 1
365
+ assert df.values.tolist() == test_excel_sheet_content[1:]
366
+ sheet_name = test_excel_sheet_content[1][0]
367
+
368
+ df, _ = FileHandler._handle_source(file_path, sheet_name=sheet_name)
353
369
  assert isinstance(df, pandas.DataFrame)
354
370
  assert df.columns.tolist() == expected_columns
355
371