singlestoredb 1.16.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- singlestoredb/__init__.py +75 -0
- singlestoredb/ai/__init__.py +2 -0
- singlestoredb/ai/chat.py +139 -0
- singlestoredb/ai/embeddings.py +128 -0
- singlestoredb/alchemy/__init__.py +90 -0
- singlestoredb/apps/__init__.py +3 -0
- singlestoredb/apps/_cloud_functions.py +90 -0
- singlestoredb/apps/_config.py +72 -0
- singlestoredb/apps/_connection_info.py +18 -0
- singlestoredb/apps/_dashboards.py +47 -0
- singlestoredb/apps/_process.py +32 -0
- singlestoredb/apps/_python_udfs.py +100 -0
- singlestoredb/apps/_stdout_supress.py +30 -0
- singlestoredb/apps/_uvicorn_util.py +36 -0
- singlestoredb/auth.py +245 -0
- singlestoredb/config.py +484 -0
- singlestoredb/connection.py +1487 -0
- singlestoredb/converters.py +950 -0
- singlestoredb/docstring/__init__.py +33 -0
- singlestoredb/docstring/attrdoc.py +126 -0
- singlestoredb/docstring/common.py +230 -0
- singlestoredb/docstring/epydoc.py +267 -0
- singlestoredb/docstring/google.py +412 -0
- singlestoredb/docstring/numpydoc.py +562 -0
- singlestoredb/docstring/parser.py +100 -0
- singlestoredb/docstring/py.typed +1 -0
- singlestoredb/docstring/rest.py +256 -0
- singlestoredb/docstring/tests/__init__.py +1 -0
- singlestoredb/docstring/tests/_pydoctor.py +21 -0
- singlestoredb/docstring/tests/test_epydoc.py +729 -0
- singlestoredb/docstring/tests/test_google.py +1007 -0
- singlestoredb/docstring/tests/test_numpydoc.py +1100 -0
- singlestoredb/docstring/tests/test_parse_from_object.py +109 -0
- singlestoredb/docstring/tests/test_parser.py +248 -0
- singlestoredb/docstring/tests/test_rest.py +547 -0
- singlestoredb/docstring/tests/test_util.py +70 -0
- singlestoredb/docstring/util.py +141 -0
- singlestoredb/exceptions.py +120 -0
- singlestoredb/functions/__init__.py +16 -0
- singlestoredb/functions/decorator.py +201 -0
- singlestoredb/functions/dtypes.py +1793 -0
- singlestoredb/functions/ext/__init__.py +1 -0
- singlestoredb/functions/ext/arrow.py +375 -0
- singlestoredb/functions/ext/asgi.py +2133 -0
- singlestoredb/functions/ext/json.py +420 -0
- singlestoredb/functions/ext/mmap.py +413 -0
- singlestoredb/functions/ext/rowdat_1.py +724 -0
- singlestoredb/functions/ext/timer.py +89 -0
- singlestoredb/functions/ext/utils.py +218 -0
- singlestoredb/functions/signature.py +1578 -0
- singlestoredb/functions/typing/__init__.py +41 -0
- singlestoredb/functions/typing/numpy.py +20 -0
- singlestoredb/functions/typing/pandas.py +2 -0
- singlestoredb/functions/typing/polars.py +2 -0
- singlestoredb/functions/typing/pyarrow.py +2 -0
- singlestoredb/functions/utils.py +421 -0
- singlestoredb/fusion/__init__.py +11 -0
- singlestoredb/fusion/graphql.py +213 -0
- singlestoredb/fusion/handler.py +916 -0
- singlestoredb/fusion/handlers/__init__.py +0 -0
- singlestoredb/fusion/handlers/export.py +525 -0
- singlestoredb/fusion/handlers/files.py +690 -0
- singlestoredb/fusion/handlers/job.py +660 -0
- singlestoredb/fusion/handlers/models.py +250 -0
- singlestoredb/fusion/handlers/stage.py +502 -0
- singlestoredb/fusion/handlers/utils.py +324 -0
- singlestoredb/fusion/handlers/workspace.py +956 -0
- singlestoredb/fusion/registry.py +249 -0
- singlestoredb/fusion/result.py +399 -0
- singlestoredb/http/__init__.py +27 -0
- singlestoredb/http/connection.py +1267 -0
- singlestoredb/magics/__init__.py +34 -0
- singlestoredb/magics/run_personal.py +137 -0
- singlestoredb/magics/run_shared.py +134 -0
- singlestoredb/management/__init__.py +9 -0
- singlestoredb/management/billing_usage.py +148 -0
- singlestoredb/management/cluster.py +462 -0
- singlestoredb/management/export.py +295 -0
- singlestoredb/management/files.py +1102 -0
- singlestoredb/management/inference_api.py +105 -0
- singlestoredb/management/job.py +887 -0
- singlestoredb/management/manager.py +373 -0
- singlestoredb/management/organization.py +226 -0
- singlestoredb/management/region.py +169 -0
- singlestoredb/management/utils.py +423 -0
- singlestoredb/management/workspace.py +1927 -0
- singlestoredb/mysql/__init__.py +177 -0
- singlestoredb/mysql/_auth.py +298 -0
- singlestoredb/mysql/charset.py +214 -0
- singlestoredb/mysql/connection.py +2032 -0
- singlestoredb/mysql/constants/CLIENT.py +38 -0
- singlestoredb/mysql/constants/COMMAND.py +32 -0
- singlestoredb/mysql/constants/CR.py +78 -0
- singlestoredb/mysql/constants/ER.py +474 -0
- singlestoredb/mysql/constants/EXTENDED_TYPE.py +3 -0
- singlestoredb/mysql/constants/FIELD_TYPE.py +48 -0
- singlestoredb/mysql/constants/FLAG.py +15 -0
- singlestoredb/mysql/constants/SERVER_STATUS.py +10 -0
- singlestoredb/mysql/constants/VECTOR_TYPE.py +6 -0
- singlestoredb/mysql/constants/__init__.py +0 -0
- singlestoredb/mysql/converters.py +271 -0
- singlestoredb/mysql/cursors.py +896 -0
- singlestoredb/mysql/err.py +92 -0
- singlestoredb/mysql/optionfile.py +20 -0
- singlestoredb/mysql/protocol.py +450 -0
- singlestoredb/mysql/tests/__init__.py +19 -0
- singlestoredb/mysql/tests/base.py +126 -0
- singlestoredb/mysql/tests/conftest.py +37 -0
- singlestoredb/mysql/tests/test_DictCursor.py +132 -0
- singlestoredb/mysql/tests/test_SSCursor.py +141 -0
- singlestoredb/mysql/tests/test_basic.py +452 -0
- singlestoredb/mysql/tests/test_connection.py +851 -0
- singlestoredb/mysql/tests/test_converters.py +58 -0
- singlestoredb/mysql/tests/test_cursor.py +141 -0
- singlestoredb/mysql/tests/test_err.py +16 -0
- singlestoredb/mysql/tests/test_issues.py +514 -0
- singlestoredb/mysql/tests/test_load_local.py +75 -0
- singlestoredb/mysql/tests/test_nextset.py +88 -0
- singlestoredb/mysql/tests/test_optionfile.py +27 -0
- singlestoredb/mysql/tests/thirdparty/__init__.py +6 -0
- singlestoredb/mysql/tests/thirdparty/test_MySQLdb/__init__.py +9 -0
- singlestoredb/mysql/tests/thirdparty/test_MySQLdb/capabilities.py +323 -0
- singlestoredb/mysql/tests/thirdparty/test_MySQLdb/dbapi20.py +865 -0
- singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_capabilities.py +110 -0
- singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_dbapi20.py +224 -0
- singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_nonstandard.py +101 -0
- singlestoredb/mysql/times.py +23 -0
- singlestoredb/notebook/__init__.py +16 -0
- singlestoredb/notebook/_objects.py +213 -0
- singlestoredb/notebook/_portal.py +352 -0
- singlestoredb/py.typed +0 -0
- singlestoredb/pytest.py +352 -0
- singlestoredb/server/__init__.py +0 -0
- singlestoredb/server/docker.py +452 -0
- singlestoredb/server/free_tier.py +267 -0
- singlestoredb/tests/__init__.py +0 -0
- singlestoredb/tests/alltypes.sql +307 -0
- singlestoredb/tests/alltypes_no_nulls.sql +208 -0
- singlestoredb/tests/empty.sql +0 -0
- singlestoredb/tests/ext_funcs/__init__.py +702 -0
- singlestoredb/tests/local_infile.csv +3 -0
- singlestoredb/tests/test.ipynb +18 -0
- singlestoredb/tests/test.sql +680 -0
- singlestoredb/tests/test2.ipynb +18 -0
- singlestoredb/tests/test2.sql +1 -0
- singlestoredb/tests/test_basics.py +1332 -0
- singlestoredb/tests/test_config.py +318 -0
- singlestoredb/tests/test_connection.py +3103 -0
- singlestoredb/tests/test_dbapi.py +27 -0
- singlestoredb/tests/test_exceptions.py +45 -0
- singlestoredb/tests/test_ext_func.py +1472 -0
- singlestoredb/tests/test_ext_func_data.py +1101 -0
- singlestoredb/tests/test_fusion.py +1527 -0
- singlestoredb/tests/test_http.py +288 -0
- singlestoredb/tests/test_management.py +1599 -0
- singlestoredb/tests/test_plugin.py +33 -0
- singlestoredb/tests/test_results.py +171 -0
- singlestoredb/tests/test_types.py +132 -0
- singlestoredb/tests/test_udf.py +737 -0
- singlestoredb/tests/test_udf_returns.py +459 -0
- singlestoredb/tests/test_vectorstore.py +51 -0
- singlestoredb/tests/test_xdict.py +333 -0
- singlestoredb/tests/utils.py +141 -0
- singlestoredb/types.py +373 -0
- singlestoredb/utils/__init__.py +0 -0
- singlestoredb/utils/config.py +950 -0
- singlestoredb/utils/convert_rows.py +69 -0
- singlestoredb/utils/debug.py +13 -0
- singlestoredb/utils/dtypes.py +205 -0
- singlestoredb/utils/events.py +65 -0
- singlestoredb/utils/mogrify.py +151 -0
- singlestoredb/utils/results.py +585 -0
- singlestoredb/utils/xdict.py +425 -0
- singlestoredb/vectorstore.py +192 -0
- singlestoredb/warnings.py +5 -0
- singlestoredb-1.16.1.dist-info/METADATA +165 -0
- singlestoredb-1.16.1.dist-info/RECORD +183 -0
- singlestoredb-1.16.1.dist-info/WHEEL +5 -0
- singlestoredb-1.16.1.dist-info/entry_points.txt +2 -0
- singlestoredb-1.16.1.dist-info/licenses/LICENSE +201 -0
- singlestoredb-1.16.1.dist-info/top_level.txt +3 -0
- sqlx/__init__.py +4 -0
- sqlx/magic.py +113 -0
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
import os
|
|
3
|
+
from typing import Any
|
|
4
|
+
from typing import Dict
|
|
5
|
+
from typing import Optional
|
|
6
|
+
|
|
7
|
+
from ..handler import SQLHandler
|
|
8
|
+
from ..result import FusionSQLResult
|
|
9
|
+
from .files import ShowFilesHandler
|
|
10
|
+
from .utils import get_file_space
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ShowModelsHandler(ShowFilesHandler):
|
|
14
|
+
"""
|
|
15
|
+
SHOW MODELS
|
|
16
|
+
[ at_path ] [ <like> ]
|
|
17
|
+
[ <order-by> ]
|
|
18
|
+
[ <limit> ] [ recursive ] [ extended ];
|
|
19
|
+
|
|
20
|
+
# File path to list
|
|
21
|
+
at_path = AT '<path>'
|
|
22
|
+
|
|
23
|
+
# Should the listing be recursive?
|
|
24
|
+
recursive = RECURSIVE
|
|
25
|
+
|
|
26
|
+
# Should extended attributes be shown?
|
|
27
|
+
extended = EXTENDED
|
|
28
|
+
|
|
29
|
+
Description
|
|
30
|
+
-----------
|
|
31
|
+
Displays the list of models in models space.
|
|
32
|
+
|
|
33
|
+
Arguments
|
|
34
|
+
---------
|
|
35
|
+
* ``<path>``: A path in the models space.
|
|
36
|
+
* ``<pattern>``: A pattern similar to SQL LIKE clause.
|
|
37
|
+
Uses ``%`` as the wildcard character.
|
|
38
|
+
|
|
39
|
+
Remarks
|
|
40
|
+
-------
|
|
41
|
+
* Use the ``LIKE`` clause to specify a pattern and return only the
|
|
42
|
+
files that match the specified pattern.
|
|
43
|
+
* The ``LIMIT`` clause limits the number of results to the
|
|
44
|
+
specified number.
|
|
45
|
+
* Use the ``ORDER BY`` clause to sort the results by the specified
|
|
46
|
+
key. By default, the results are sorted in the ascending order.
|
|
47
|
+
* The ``AT`` clause specifies the path in the models
|
|
48
|
+
space to list the files from.
|
|
49
|
+
* To return more information about the files, use the ``EXTENDED``
|
|
50
|
+
clause.
|
|
51
|
+
|
|
52
|
+
Examples
|
|
53
|
+
--------
|
|
54
|
+
The following command lists the models::
|
|
55
|
+
|
|
56
|
+
SHOW MODELS;
|
|
57
|
+
|
|
58
|
+
The following command lists the models with additional information::
|
|
59
|
+
|
|
60
|
+
SHOW MODELS EXTENDED;
|
|
61
|
+
|
|
62
|
+
See Also
|
|
63
|
+
--------
|
|
64
|
+
* ``UPLOAD MODEL model_name FROM path``
|
|
65
|
+
* ``DOWNLOAD MODEL model_name``
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
""" # noqa: E501
|
|
69
|
+
|
|
70
|
+
def run(self, params: Dict[str, Any]) -> Optional[FusionSQLResult]:
|
|
71
|
+
params['file_location'] = 'MODELS'
|
|
72
|
+
|
|
73
|
+
return super().run(params)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
ShowModelsHandler.register(overwrite=True)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
class UploadModelHandler(SQLHandler):
|
|
80
|
+
"""
|
|
81
|
+
UPLOAD MODEL model_name
|
|
82
|
+
FROM local_path [ overwrite ];
|
|
83
|
+
|
|
84
|
+
# Model Name
|
|
85
|
+
model_name = '<model-name>'
|
|
86
|
+
|
|
87
|
+
# Path to local file or directory
|
|
88
|
+
local_path = '<local-path>'
|
|
89
|
+
|
|
90
|
+
# Should an existing file be overwritten?
|
|
91
|
+
overwrite = OVERWRITE
|
|
92
|
+
|
|
93
|
+
Description
|
|
94
|
+
-----------
|
|
95
|
+
Uploads a file or folder to models space.
|
|
96
|
+
|
|
97
|
+
Arguments
|
|
98
|
+
---------
|
|
99
|
+
* ``<model-name>``: Model name.
|
|
100
|
+
* ``<local-path>``: The path to the file or folder to upload in the local
|
|
101
|
+
directory.
|
|
102
|
+
|
|
103
|
+
Remarks
|
|
104
|
+
-------
|
|
105
|
+
* If the ``OVERWRITE`` clause is specified, any existing file at the
|
|
106
|
+
specified path in the models space is overwritten.
|
|
107
|
+
|
|
108
|
+
Examples
|
|
109
|
+
--------
|
|
110
|
+
The following command uploads a file to models space and overwrite any
|
|
111
|
+
existing files at the specified path::
|
|
112
|
+
|
|
113
|
+
UPLOAD MODEL model_name
|
|
114
|
+
FROM 'llama3/' OVERWRITE;
|
|
115
|
+
|
|
116
|
+
See Also
|
|
117
|
+
--------
|
|
118
|
+
* ``DOWNLOAD MODEL model_name``
|
|
119
|
+
|
|
120
|
+
""" # noqa: E501
|
|
121
|
+
|
|
122
|
+
def run(self, params: Dict[str, Any]) -> Optional[FusionSQLResult]:
|
|
123
|
+
params['file_location'] = 'MODELS'
|
|
124
|
+
|
|
125
|
+
model_name = params['model_name']
|
|
126
|
+
local_path = params['local_path']
|
|
127
|
+
|
|
128
|
+
file_space = get_file_space(params)
|
|
129
|
+
|
|
130
|
+
if os.path.isdir(local_path):
|
|
131
|
+
file_space.upload_folder(
|
|
132
|
+
local_path=local_path,
|
|
133
|
+
path=os.path.join(model_name, ''),
|
|
134
|
+
overwrite=params['overwrite'],
|
|
135
|
+
)
|
|
136
|
+
else:
|
|
137
|
+
file_space.upload_file(
|
|
138
|
+
local_path=local_path,
|
|
139
|
+
path=os.path.join(model_name, local_path),
|
|
140
|
+
overwrite=params['overwrite'],
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
return None
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
UploadModelHandler.register(overwrite=True)
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
class DownloadModelHandler(SQLHandler):
|
|
150
|
+
"""
|
|
151
|
+
DOWNLOAD MODEL model_name
|
|
152
|
+
[ local_path ]
|
|
153
|
+
[ overwrite ];
|
|
154
|
+
|
|
155
|
+
# Model Name
|
|
156
|
+
model_name = '<model-name>'
|
|
157
|
+
|
|
158
|
+
# Path to local directory
|
|
159
|
+
local_path = TO '<local-path>'
|
|
160
|
+
|
|
161
|
+
# Should an existing directory be overwritten?
|
|
162
|
+
overwrite = OVERWRITE
|
|
163
|
+
|
|
164
|
+
Description
|
|
165
|
+
-----------
|
|
166
|
+
Download a model from models space.
|
|
167
|
+
|
|
168
|
+
Arguments
|
|
169
|
+
---------
|
|
170
|
+
* ``<model-name>``: Model name to download in models space.
|
|
171
|
+
* ``<local-path>``: Specifies the path in the local directory
|
|
172
|
+
where the model is downloaded.
|
|
173
|
+
|
|
174
|
+
Remarks
|
|
175
|
+
-------
|
|
176
|
+
* If the ``OVERWRITE`` clause is specified, any existing file or folder at
|
|
177
|
+
the download location is overwritten.
|
|
178
|
+
* If ``<local-path>`` is not specified, the model is downloaded to the current location.
|
|
179
|
+
|
|
180
|
+
Examples
|
|
181
|
+
--------
|
|
182
|
+
The following command displays the contents of the file on the
|
|
183
|
+
standard output::
|
|
184
|
+
|
|
185
|
+
DOWNLOAD MODEL llama3;
|
|
186
|
+
|
|
187
|
+
The following command downloads a model to a specific location and
|
|
188
|
+
overwrites any existing models folder with the name ``local_llama3`` on the local storage::
|
|
189
|
+
|
|
190
|
+
DOWNLOAD MODEL llama3
|
|
191
|
+
TO 'local_llama3' OVERWRITE;
|
|
192
|
+
|
|
193
|
+
See Also
|
|
194
|
+
--------
|
|
195
|
+
* ``UPLOAD MODEL model_name FROM local_path``
|
|
196
|
+
|
|
197
|
+
""" # noqa: E501
|
|
198
|
+
|
|
199
|
+
def run(self, params: Dict[str, Any]) -> Optional[FusionSQLResult]:
|
|
200
|
+
params['file_location'] = 'MODELS'
|
|
201
|
+
|
|
202
|
+
file_space = get_file_space(params)
|
|
203
|
+
|
|
204
|
+
model_name = params['model_name']
|
|
205
|
+
file_space.download_folder(
|
|
206
|
+
path=os.path.join(model_name, ''),
|
|
207
|
+
local_path=params['local_path'] or model_name,
|
|
208
|
+
overwrite=params['overwrite'],
|
|
209
|
+
)
|
|
210
|
+
|
|
211
|
+
return None
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
DownloadModelHandler.register(overwrite=True)
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
class DropModelsHandler(SQLHandler):
|
|
218
|
+
"""
|
|
219
|
+
DROP MODEL model_name;
|
|
220
|
+
|
|
221
|
+
# Model Name
|
|
222
|
+
model_name = '<model-name>'
|
|
223
|
+
|
|
224
|
+
Description
|
|
225
|
+
-----------
|
|
226
|
+
Deletes a model from models space.
|
|
227
|
+
|
|
228
|
+
Arguments
|
|
229
|
+
---------
|
|
230
|
+
* ``<model-name>``: Model name to delete in models space.
|
|
231
|
+
|
|
232
|
+
Example
|
|
233
|
+
--------
|
|
234
|
+
The following commands deletes a model from a model space::
|
|
235
|
+
|
|
236
|
+
DROP MODEL llama3;
|
|
237
|
+
|
|
238
|
+
""" # noqa: E501
|
|
239
|
+
|
|
240
|
+
def run(self, params: Dict[str, Any]) -> Optional[FusionSQLResult]:
|
|
241
|
+
params['file_location'] = 'MODELS'
|
|
242
|
+
path = os.path.join(params['model_name'], '')
|
|
243
|
+
|
|
244
|
+
file_space = get_file_space(params)
|
|
245
|
+
file_space.removedirs(path=path)
|
|
246
|
+
|
|
247
|
+
return None
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
DropModelsHandler.register(overwrite=True)
|