singlestoredb 1.14.1__tar.gz → 1.14.2__tar.gz

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 singlestoredb might be problematic. Click here for more details.

Files changed (162) hide show
  1. {singlestoredb-1.14.1/singlestoredb.egg-info → singlestoredb-1.14.2}/PKG-INFO +2 -1
  2. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/setup.cfg +3 -2
  3. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/__init__.py +13 -9
  4. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/fusion/handler.py +17 -4
  5. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/management/export.py +1 -1
  6. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_fusion.py +4 -1
  7. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_management.py +30 -20
  8. {singlestoredb-1.14.1 → singlestoredb-1.14.2/singlestoredb.egg-info}/PKG-INFO +2 -1
  9. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb.egg-info/requires.txt +3 -1
  10. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/LICENSE +0 -0
  11. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/README.md +0 -0
  12. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/accel.c +0 -0
  13. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/setup.py +0 -0
  14. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/ai/__init__.py +0 -0
  15. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/ai/chat.py +0 -0
  16. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/ai/embeddings.py +0 -0
  17. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/alchemy/__init__.py +0 -0
  18. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/apps/__init__.py +0 -0
  19. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/apps/_cloud_functions.py +0 -0
  20. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/apps/_config.py +0 -0
  21. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/apps/_connection_info.py +0 -0
  22. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/apps/_dashboards.py +0 -0
  23. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/apps/_process.py +0 -0
  24. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/apps/_python_udfs.py +0 -0
  25. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/apps/_stdout_supress.py +0 -0
  26. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/apps/_uvicorn_util.py +0 -0
  27. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/auth.py +0 -0
  28. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/config.py +0 -0
  29. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/connection.py +0 -0
  30. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/converters.py +0 -0
  31. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/exceptions.py +0 -0
  32. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/functions/__init__.py +0 -0
  33. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/functions/decorator.py +0 -0
  34. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/functions/dtypes.py +0 -0
  35. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/functions/ext/__init__.py +0 -0
  36. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/functions/ext/arrow.py +0 -0
  37. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/functions/ext/asgi.py +0 -0
  38. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/functions/ext/json.py +0 -0
  39. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/functions/ext/mmap.py +0 -0
  40. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/functions/ext/rowdat_1.py +0 -0
  41. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/functions/ext/utils.py +0 -0
  42. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/functions/signature.py +0 -0
  43. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/functions/typing.py +0 -0
  44. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/functions/utils.py +0 -0
  45. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/fusion/__init__.py +0 -0
  46. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/fusion/graphql.py +0 -0
  47. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/fusion/handlers/__init__.py +0 -0
  48. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/fusion/handlers/export.py +0 -0
  49. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/fusion/handlers/files.py +0 -0
  50. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/fusion/handlers/job.py +0 -0
  51. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/fusion/handlers/models.py +0 -0
  52. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/fusion/handlers/stage.py +0 -0
  53. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/fusion/handlers/utils.py +0 -0
  54. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/fusion/handlers/workspace.py +0 -0
  55. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/fusion/registry.py +0 -0
  56. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/fusion/result.py +0 -0
  57. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/http/__init__.py +0 -0
  58. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/http/connection.py +0 -0
  59. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/magics/__init__.py +0 -0
  60. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/magics/run_personal.py +0 -0
  61. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/magics/run_shared.py +0 -0
  62. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/management/__init__.py +0 -0
  63. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/management/billing_usage.py +0 -0
  64. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/management/cluster.py +0 -0
  65. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/management/files.py +0 -0
  66. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/management/inference_api.py +0 -0
  67. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/management/job.py +0 -0
  68. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/management/manager.py +0 -0
  69. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/management/organization.py +0 -0
  70. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/management/region.py +0 -0
  71. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/management/utils.py +0 -0
  72. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/management/workspace.py +0 -0
  73. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/__init__.py +0 -0
  74. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/_auth.py +0 -0
  75. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/charset.py +0 -0
  76. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/connection.py +0 -0
  77. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/constants/CLIENT.py +0 -0
  78. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/constants/COMMAND.py +0 -0
  79. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/constants/CR.py +0 -0
  80. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/constants/ER.py +0 -0
  81. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/constants/EXTENDED_TYPE.py +0 -0
  82. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/constants/FIELD_TYPE.py +0 -0
  83. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/constants/FLAG.py +0 -0
  84. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/constants/SERVER_STATUS.py +0 -0
  85. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/constants/VECTOR_TYPE.py +0 -0
  86. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/constants/__init__.py +0 -0
  87. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/converters.py +0 -0
  88. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/cursors.py +0 -0
  89. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/err.py +0 -0
  90. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/optionfile.py +0 -0
  91. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/protocol.py +0 -0
  92. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/__init__.py +0 -0
  93. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/base.py +0 -0
  94. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/conftest.py +0 -0
  95. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/test_DictCursor.py +0 -0
  96. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/test_SSCursor.py +0 -0
  97. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/test_basic.py +0 -0
  98. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/test_connection.py +0 -0
  99. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/test_converters.py +0 -0
  100. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/test_cursor.py +0 -0
  101. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/test_err.py +0 -0
  102. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/test_issues.py +0 -0
  103. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/test_load_local.py +0 -0
  104. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/test_nextset.py +0 -0
  105. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/test_optionfile.py +0 -0
  106. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/thirdparty/__init__.py +0 -0
  107. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/__init__.py +0 -0
  108. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/capabilities.py +0 -0
  109. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/dbapi20.py +0 -0
  110. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_capabilities.py +0 -0
  111. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_dbapi20.py +0 -0
  112. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_nonstandard.py +0 -0
  113. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/mysql/times.py +0 -0
  114. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/notebook/__init__.py +0 -0
  115. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/notebook/_objects.py +0 -0
  116. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/notebook/_portal.py +0 -0
  117. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/py.typed +0 -0
  118. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/pytest.py +0 -0
  119. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/server/__init__.py +0 -0
  120. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/server/docker.py +0 -0
  121. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/server/free_tier.py +0 -0
  122. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/__init__.py +0 -0
  123. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/empty.sql +0 -0
  124. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/ext_funcs/__init__.py +0 -0
  125. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/local_infile.csv +0 -0
  126. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test.ipynb +0 -0
  127. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test.sql +0 -0
  128. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test2.ipynb +0 -0
  129. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test2.sql +0 -0
  130. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_basics.py +0 -0
  131. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_config.py +0 -0
  132. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_connection.py +0 -0
  133. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_dbapi.py +0 -0
  134. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_exceptions.py +0 -0
  135. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_ext_func.py +0 -0
  136. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_ext_func_data.py +0 -0
  137. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_http.py +0 -0
  138. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_plugin.py +0 -0
  139. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_results.py +0 -0
  140. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_types.py +0 -0
  141. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_udf.py +0 -0
  142. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_udf_returns.py +0 -0
  143. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_vectorstore.py +0 -0
  144. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/test_xdict.py +0 -0
  145. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/tests/utils.py +0 -0
  146. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/types.py +0 -0
  147. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/utils/__init__.py +0 -0
  148. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/utils/config.py +0 -0
  149. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/utils/convert_rows.py +0 -0
  150. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/utils/debug.py +0 -0
  151. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/utils/dtypes.py +0 -0
  152. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/utils/events.py +0 -0
  153. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/utils/mogrify.py +0 -0
  154. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/utils/results.py +0 -0
  155. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/utils/xdict.py +0 -0
  156. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb/vectorstore.py +0 -0
  157. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb.egg-info/SOURCES.txt +0 -0
  158. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb.egg-info/dependency_links.txt +0 -0
  159. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb.egg-info/entry_points.txt +0 -0
  160. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/singlestoredb.egg-info/top_level.txt +0 -0
  161. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/sqlx/__init__.py +0 -0
  162. {singlestoredb-1.14.1 → singlestoredb-1.14.2}/sqlx/magic.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: singlestoredb
3
- Version: 1.14.1
3
+ Version: 1.14.2
4
4
  Summary: Interface to the SingleStoreDB database and workspace management APIs
5
5
  Home-page: https://github.com/singlestore-labs/singlestoredb-python
6
6
  Author: SingleStore
@@ -23,6 +23,7 @@ Provides-Extra: kerberos
23
23
  Provides-Extra: pytest
24
24
  Provides-Extra: rsa
25
25
  Provides-Extra: sqlalchemy
26
+ Provides-Extra: vectorstore
26
27
  License-File: LICENSE
27
28
 
28
29
  # <img src="https://github.com/singlestore-labs/singlestoredb-python/blob/main/resources/singlestore-logo.png" height="60" valign="middle"/> SingleStoreDB Python SDK
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = singlestoredb
3
- version = 1.14.1
3
+ version = 1.14.2
4
4
  description = Interface to the SingleStoreDB database and workspace management APIs
5
5
  long_description = file: README.md
6
6
  long_description_content_type = text/markdown
@@ -24,7 +24,6 @@ install_requires =
24
24
  parsimonious
25
25
  requests
26
26
  setuptools
27
- singlestore-vectorstore>=0.1.2
28
27
  sqlparams
29
28
  wheel
30
29
  tomli>=1.1.0;python_version < '3.11'
@@ -68,6 +67,8 @@ rsa =
68
67
  cryptography
69
68
  sqlalchemy =
70
69
  sqlalchemy-singlestoredb>=1.0.0
70
+ vectorstore =
71
+ singlestore-vectorstore>=0.1.2
71
72
 
72
73
  [options.package_data]
73
74
  * =
@@ -13,7 +13,7 @@ Examples
13
13
 
14
14
  """
15
15
 
16
- __version__ = '1.14.1'
16
+ __version__ = '1.14.2'
17
17
 
18
18
  from typing import Any
19
19
 
@@ -31,14 +31,18 @@ from .types import (
31
31
  Date, Time, Timestamp, DateFromTicks, TimeFromTicks, TimestampFromTicks,
32
32
  Binary, STRING, BINARY, NUMBER, DATETIME, ROWID,
33
33
  )
34
- from .vectorstore import (
35
- vector_db, IndexInterface, IndexList, IndexModel, MatchTypedDict,
36
- Metric, IndexStatsTypedDict, NamespaceStatsTypedDict, Vector,
37
- VectorDictMetadataValue, VectorMetadataTypedDict, VectorTuple,
38
- VectorTupleWithMetadata, DeletionProtection, AndFilter, EqFilter,
39
- ExactMatchFilter, FilterTypedDict, GteFilter, GtFilter, InFilter,
40
- LteFilter, LtFilter, NeFilter, NinFilter, OrFilter, SimpleFilter,
41
- )
34
+ # These are only loaded if the singlestore-vectorstore package is available
35
+ try:
36
+ from .vectorstore import (
37
+ vector_db, IndexInterface, IndexList, IndexModel, MatchTypedDict,
38
+ Metric, IndexStatsTypedDict, NamespaceStatsTypedDict, Vector,
39
+ VectorDictMetadataValue, VectorMetadataTypedDict, VectorTuple,
40
+ VectorTupleWithMetadata, DeletionProtection, AndFilter, EqFilter,
41
+ ExactMatchFilter, FilterTypedDict, GteFilter, GtFilter, InFilter,
42
+ LteFilter, LtFilter, NeFilter, NinFilter, OrFilter, SimpleFilter,
43
+ )
44
+ except (ImportError, ModuleNotFoundError):
45
+ pass
42
46
 
43
47
 
44
48
  #
@@ -33,7 +33,7 @@ CORE_GRAMMAR = r'''
33
33
  close_paren = ws* ")" ws*
34
34
  open_repeats = ws* ~r"[\(\[\{]" ws*
35
35
  close_repeats = ws* ~r"[\)\]\}]" ws*
36
- select = ~r"SELECT"i ws+ ~r".+" ws*
36
+ statement = ~r"[\s\S]*" ws*
37
37
  table = ~r"(?:([A-Za-z0-9_\-]+)|`([^\`]+)`)(?:\.(?:([A-Za-z0-9_\-]+)|`([^\`]+)`))?" ws*
38
38
  column = ~r"(?:([A-Za-z0-9_\-]+)|`([^\`]+)`)(?:\.(?:([A-Za-z0-9_\-]+)|`([^\`]+)`))?" ws*
39
39
  link_name = ~r"(?:([A-Za-z0-9_\-]+)|`([^\`]+)`)(?:\.(?:([A-Za-z0-9_\-]+)|`([^\`]+)`))?" ws*
@@ -77,6 +77,7 @@ BUILTINS = {
77
77
  '<file-type>': r'''
78
78
  file_type = { FILE | FOLDER }
79
79
  ''',
80
+ '<statement>': '',
80
81
  }
81
82
 
82
83
  BUILTIN_DEFAULTS = { # type: ignore
@@ -627,6 +628,18 @@ class SQLHandler(NodeVisitor):
627
628
  cls.compile()
628
629
  registry.register_handler(cls, overwrite=overwrite)
629
630
 
631
+ def create_result(self) -> result.FusionSQLResult:
632
+ """
633
+ Create a new result object.
634
+
635
+ Returns
636
+ -------
637
+ FusionSQLResult
638
+ A new result object for this handler
639
+
640
+ """
641
+ return result.FusionSQLResult()
642
+
630
643
  def execute(self, sql: str) -> result.FusionSQLResult:
631
644
  """
632
645
  Parse the SQL and invoke the handler method.
@@ -746,9 +759,9 @@ class SQLHandler(NodeVisitor):
746
759
  _, out, *_ = visited_children
747
760
  return out
748
761
 
749
- def visit_select(self, node: Node, visited_children: Iterable[Any]) -> Any:
750
- out = ' '.join(flatten(visited_children))
751
- return {'select': out}
762
+ def visit_statement(self, node: Node, visited_children: Iterable[Any]) -> Any:
763
+ out = ' '.join(flatten(visited_children)).strip()
764
+ return {'statement': out}
752
765
 
753
766
  def visit_order_by(self, node: Node, visited_children: Iterable[Any]) -> Any:
754
767
  """Handle ORDER BY."""
@@ -215,7 +215,7 @@ class ExportService(object):
215
215
  msg='Export ID is not set. You must start the export first.',
216
216
  )
217
217
 
218
- self._manager._post(
218
+ self._manager._delete(
219
219
  f'workspaceGroups/{self.workspace_group.id}/egress/dropTableEgress',
220
220
  json=dict(egressID=self.export_id),
221
221
  )
@@ -499,7 +499,10 @@ class TestJobsFusion(unittest.TestCase):
499
499
  @classmethod
500
500
  def tearDownClass(cls):
501
501
  for job_id in cls.job_ids:
502
- cls.manager.organizations.current.jobs.delete(job_id)
502
+ try:
503
+ cls.manager.organizations.current.jobs.delete(job_id)
504
+ except Exception:
505
+ pass
503
506
  if cls.workspace_group is not None:
504
507
  cls.workspace_group.terminate(force=True)
505
508
  cls.manager = None
@@ -397,13 +397,16 @@ class TestStage(unittest.TestCase):
397
397
  def test_upload_file(self):
398
398
  st = self.wg.stage
399
399
 
400
+ upload_test_sql = f'upload_test_{id(self)}.sql'
401
+ upload_test2_sql = f'upload_test2_{id(self)}.sql'
402
+
400
403
  root = st.info('/')
401
404
  assert str(root.path) == '/'
402
405
  assert root.type == 'directory'
403
406
 
404
407
  # Upload file
405
- f = st.upload_file(TEST_DIR / 'test.sql', 'upload_test.sql')
406
- assert str(f.path) == 'upload_test.sql'
408
+ f = st.upload_file(TEST_DIR / 'test.sql', upload_test_sql)
409
+ assert str(f.path) == upload_test_sql
407
410
  assert f.type == 'file'
408
411
 
409
412
  # Download and compare to original
@@ -412,15 +415,15 @@ class TestStage(unittest.TestCase):
412
415
 
413
416
  # Make sure we can't overwrite
414
417
  with self.assertRaises(OSError):
415
- st.upload_file(TEST_DIR / 'test.sql', 'upload_test.sql')
418
+ st.upload_file(TEST_DIR / 'test.sql', upload_test_sql)
416
419
 
417
420
  # Force overwrite with new content; use file object this time
418
421
  f = st.upload_file(
419
422
  open(TEST_DIR / 'test2.sql', 'r'),
420
- 'upload_test.sql',
423
+ upload_test_sql,
421
424
  overwrite=True,
422
425
  )
423
- assert str(f.path) == 'upload_test.sql'
426
+ assert str(f.path) == upload_test_sql
424
427
  assert f.type == 'file'
425
428
 
426
429
  # Verify new content
@@ -442,9 +445,9 @@ class TestStage(unittest.TestCase):
442
445
  # Write file into folder
443
446
  f = st.upload_file(
444
447
  TEST_DIR / 'test2.sql',
445
- os.path.join(lib.path, 'upload_test2.sql'),
448
+ os.path.join(lib.path, upload_test2_sql),
446
449
  )
447
- assert str(f.path) == 'lib/upload_test2.sql'
450
+ assert str(f.path) == 'lib/' + upload_test2_sql
448
451
  assert f.type == 'file'
449
452
 
450
453
  def test_open(self):
@@ -928,7 +931,10 @@ class TestJob(unittest.TestCase):
928
931
  @classmethod
929
932
  def tearDownClass(cls):
930
933
  for job_id in cls.job_ids:
931
- cls.manager.organizations.current.jobs.delete(job_id)
934
+ try:
935
+ cls.manager.organizations.current.jobs.delete(job_id)
936
+ except Exception:
937
+ pass
932
938
  if cls.workspace_group is not None:
933
939
  cls.workspace_group.terminate(force=True)
934
940
  cls.workspace_group = None
@@ -1061,6 +1067,8 @@ class TestFileSpaces(unittest.TestCase):
1061
1067
  cls.shared_space = None
1062
1068
 
1063
1069
  def test_upload_file(self):
1070
+ upload_test_ipynb = f'upload_test_{id(self)}.ipynb'
1071
+
1064
1072
  for space in [self.personal_space, self.shared_space]:
1065
1073
  root = space.info('/')
1066
1074
  assert str(root.path) == '/'
@@ -1069,9 +1077,9 @@ class TestFileSpaces(unittest.TestCase):
1069
1077
  # Upload files
1070
1078
  f = space.upload_file(
1071
1079
  TEST_DIR / 'test.ipynb',
1072
- 'upload_test.ipynb',
1080
+ upload_test_ipynb,
1073
1081
  )
1074
- assert str(f.path) == 'upload_test.ipynb'
1082
+ assert str(f.path) == upload_test_ipynb
1075
1083
  assert f.type == 'notebook'
1076
1084
 
1077
1085
  # Download and compare to original
@@ -1082,15 +1090,15 @@ class TestFileSpaces(unittest.TestCase):
1082
1090
  with self.assertRaises(OSError):
1083
1091
  space.upload_file(
1084
1092
  TEST_DIR / 'test.ipynb',
1085
- 'upload_test.ipynb',
1093
+ upload_test_ipynb,
1086
1094
  )
1087
1095
 
1088
1096
  # Force overwrite with new content
1089
1097
  f = space.upload_file(
1090
1098
  TEST_DIR / 'test2.ipynb',
1091
- 'upload_test.ipynb', overwrite=True,
1099
+ upload_test_ipynb, overwrite=True,
1092
1100
  )
1093
- assert str(f.path) == 'upload_test.ipynb'
1101
+ assert str(f.path) == upload_test_ipynb
1094
1102
  assert f.type == 'notebook'
1095
1103
 
1096
1104
  # Verify new content
@@ -1102,9 +1110,11 @@ class TestFileSpaces(unittest.TestCase):
1102
1110
  space.upload_folder(TEST_DIR, 'test')
1103
1111
 
1104
1112
  # Cleanup
1105
- space.remove('upload_test.ipynb')
1113
+ space.remove(upload_test_ipynb)
1106
1114
 
1107
1115
  def test_upload_file_io(self):
1116
+ upload_test_ipynb = f'upload_test_{id(self)}.ipynb'
1117
+
1108
1118
  for space in [self.personal_space, self.shared_space]:
1109
1119
  root = space.info('/')
1110
1120
  assert str(root.path) == '/'
@@ -1113,9 +1123,9 @@ class TestFileSpaces(unittest.TestCase):
1113
1123
  # Upload files
1114
1124
  f = space.upload_file(
1115
1125
  open(TEST_DIR / 'test.ipynb', 'r'),
1116
- 'upload_test.ipynb',
1126
+ upload_test_ipynb,
1117
1127
  )
1118
- assert str(f.path) == 'upload_test.ipynb'
1128
+ assert str(f.path) == upload_test_ipynb
1119
1129
  assert f.type == 'notebook'
1120
1130
 
1121
1131
  # Download and compare to original
@@ -1126,15 +1136,15 @@ class TestFileSpaces(unittest.TestCase):
1126
1136
  with self.assertRaises(OSError):
1127
1137
  space.upload_file(
1128
1138
  open(TEST_DIR / 'test.ipynb', 'r'),
1129
- 'upload_test.ipynb',
1139
+ upload_test_ipynb,
1130
1140
  )
1131
1141
 
1132
1142
  # Force overwrite with new content
1133
1143
  f = space.upload_file(
1134
1144
  open(TEST_DIR / 'test2.ipynb', 'r'),
1135
- 'upload_test.ipynb', overwrite=True,
1145
+ upload_test_ipynb, overwrite=True,
1136
1146
  )
1137
- assert str(f.path) == 'upload_test.ipynb'
1147
+ assert str(f.path) == upload_test_ipynb
1138
1148
  assert f.type == 'notebook'
1139
1149
 
1140
1150
  # Verify new content
@@ -1146,7 +1156,7 @@ class TestFileSpaces(unittest.TestCase):
1146
1156
  space.upload_folder(TEST_DIR, 'test')
1147
1157
 
1148
1158
  # Cleanup
1149
- space.remove('upload_test.ipynb')
1159
+ space.remove(upload_test_ipynb)
1150
1160
 
1151
1161
  def test_open(self):
1152
1162
  for space in [self.personal_space, self.shared_space]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: singlestoredb
3
- Version: 1.14.1
3
+ Version: 1.14.2
4
4
  Summary: Interface to the SingleStoreDB database and workspace management APIs
5
5
  Home-page: https://github.com/singlestore-labs/singlestoredb-python
6
6
  Author: SingleStore
@@ -23,6 +23,7 @@ Provides-Extra: kerberos
23
23
  Provides-Extra: pytest
24
24
  Provides-Extra: rsa
25
25
  Provides-Extra: sqlalchemy
26
+ Provides-Extra: vectorstore
26
27
  License-File: LICENSE
27
28
 
28
29
  # <img src="https://github.com/singlestore-labs/singlestoredb-python/blob/main/resources/singlestore-logo.png" height="60" valign="middle"/> SingleStoreDB Python SDK
@@ -3,7 +3,6 @@ build
3
3
  parsimonious
4
4
  requests
5
5
  setuptools
6
- singlestore-vectorstore>=0.1.2
7
6
  sqlparams
8
7
  wheel
9
8
 
@@ -40,3 +39,6 @@ cryptography
40
39
 
41
40
  [sqlalchemy]
42
41
  sqlalchemy-singlestoredb>=1.0.0
42
+
43
+ [vectorstore]
44
+ singlestore-vectorstore>=0.1.2
File without changes
File without changes
File without changes
File without changes