singlestoredb 1.0.0__cp38-abi3-macosx_10_9_universal2.whl → 1.0.2__cp38-abi3-macosx_10_9_universal2.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 singlestoredb might be problematic. Click here for more details.
- _singlestoredb_accel.abi3.so +0 -0
- singlestoredb/__init__.py +1 -1
- singlestoredb/functions/ext/asgi.py +43 -2
- singlestoredb/functions/ext/json.py +3 -2
- singlestoredb/fusion/handlers/stage.py +2 -2
- singlestoredb/fusion/registry.py +0 -2
- singlestoredb/management/__init__.py +1 -0
- singlestoredb/management/manager.py +7 -3
- singlestoredb/management/workspace.py +18 -2
- {singlestoredb-1.0.0.dist-info → singlestoredb-1.0.2.dist-info}/METADATA +3 -22
- {singlestoredb-1.0.0.dist-info → singlestoredb-1.0.2.dist-info}/RECORD +15 -15
- {singlestoredb-1.0.0.dist-info → singlestoredb-1.0.2.dist-info}/LICENSE +0 -0
- {singlestoredb-1.0.0.dist-info → singlestoredb-1.0.2.dist-info}/WHEEL +0 -0
- {singlestoredb-1.0.0.dist-info → singlestoredb-1.0.2.dist-info}/entry_points.txt +0 -0
- {singlestoredb-1.0.0.dist-info → singlestoredb-1.0.2.dist-info}/top_level.txt +0 -0
_singlestoredb_accel.abi3.so
CHANGED
|
Binary file
|
singlestoredb/__init__.py
CHANGED
|
@@ -18,11 +18,12 @@ An example of starting a server is shown below.
|
|
|
18
18
|
|
|
19
19
|
Example
|
|
20
20
|
-------
|
|
21
|
-
$ SINGLESTOREDB_EXT_FUNCTIONS='myfuncs.[
|
|
21
|
+
$ SINGLESTOREDB_EXT_FUNCTIONS='myfuncs.[percentile_90,percentile_95]' \
|
|
22
22
|
uvicorn --factory singlestoredb.functions.ext:create_app
|
|
23
23
|
|
|
24
24
|
'''
|
|
25
25
|
import importlib.util
|
|
26
|
+
import io
|
|
26
27
|
import itertools
|
|
27
28
|
import os
|
|
28
29
|
import urllib
|
|
@@ -184,7 +185,7 @@ def make_func(name: str, func: Callable[..., Any]) -> Callable[..., Any]:
|
|
|
184
185
|
return do_func
|
|
185
186
|
|
|
186
187
|
|
|
187
|
-
def create_app(
|
|
188
|
+
def create_app( # noqa: C901
|
|
188
189
|
functions: Optional[
|
|
189
190
|
Union[
|
|
190
191
|
str,
|
|
@@ -539,4 +540,44 @@ def create_app(
|
|
|
539
540
|
|
|
540
541
|
app.drop_functions = drop_functions # type: ignore
|
|
541
542
|
|
|
543
|
+
async def call(
|
|
544
|
+
name: str,
|
|
545
|
+
data_in: io.BytesIO,
|
|
546
|
+
data_out: io.BytesIO,
|
|
547
|
+
data_format: str = 'rowdat_1',
|
|
548
|
+
data_version: str = '1.0',
|
|
549
|
+
) -> None:
|
|
550
|
+
|
|
551
|
+
async def receive() -> Dict[str, Any]:
|
|
552
|
+
return dict(body=data_in.read())
|
|
553
|
+
|
|
554
|
+
async def send(content: Dict[str, Any]) -> None:
|
|
555
|
+
status = content.get('status', 200)
|
|
556
|
+
if status != 200:
|
|
557
|
+
raise KeyError(f'error occurred when calling `{name}`: {status}')
|
|
558
|
+
data_out.write(content.get('body', b''))
|
|
559
|
+
|
|
560
|
+
accepts = dict(
|
|
561
|
+
json=b'application/json',
|
|
562
|
+
rowdat_1=b'application/octet-stream',
|
|
563
|
+
arrow=b'application/vnd.apache.arrow.file',
|
|
564
|
+
)
|
|
565
|
+
|
|
566
|
+
# Mock an ASGI scope
|
|
567
|
+
scope = dict(
|
|
568
|
+
type='http',
|
|
569
|
+
path='invoke',
|
|
570
|
+
method='POST',
|
|
571
|
+
headers={
|
|
572
|
+
b'content-type': accepts[data_format.lower()],
|
|
573
|
+
b'accepts': accepts[data_format.lower()],
|
|
574
|
+
b's2-ef-name': name.encode('utf-8'),
|
|
575
|
+
b's2-ef-version': data_version.encode('utf-8'),
|
|
576
|
+
},
|
|
577
|
+
)
|
|
578
|
+
|
|
579
|
+
await app(scope, receive, send)
|
|
580
|
+
|
|
581
|
+
app.call = call # type: ignore
|
|
582
|
+
|
|
542
583
|
return app
|
|
@@ -315,8 +315,8 @@ def _dump_vectors(
|
|
|
315
315
|
|
|
316
316
|
def dump_pandas(
|
|
317
317
|
returns: List[int],
|
|
318
|
-
row_ids:
|
|
319
|
-
cols: List[Tuple[
|
|
318
|
+
row_ids: 'pd.Series[int]',
|
|
319
|
+
cols: List[Tuple['pd.Series[int]', 'pd.Series[bool]']],
|
|
320
320
|
) -> bytes:
|
|
321
321
|
'''
|
|
322
322
|
Convert a list of pd.Series of data into JSON format.
|
|
@@ -336,6 +336,7 @@ def dump_pandas(
|
|
|
336
336
|
|
|
337
337
|
'''
|
|
338
338
|
import pandas as pd
|
|
339
|
+
row_ids.index = row_ids
|
|
339
340
|
df = pd.concat([row_ids] + [x[0] for x in cols], axis=1)
|
|
340
341
|
return ('{"data": %s}' % df.to_json(orient='values')).encode('utf-8')
|
|
341
342
|
|
|
@@ -218,9 +218,9 @@ class DropStageFolderHandler(SQLHandler):
|
|
|
218
218
|
def run(self, params: Dict[str, Any]) -> Optional[FusionSQLResult]:
|
|
219
219
|
wg = get_workspace_group(params)
|
|
220
220
|
if params['recursive']:
|
|
221
|
-
wg.stage.rmdir(params['stage_path'])
|
|
222
|
-
else:
|
|
223
221
|
wg.stage.removedirs(params['stage_path'])
|
|
222
|
+
else:
|
|
223
|
+
wg.stage.rmdir(params['stage_path'])
|
|
224
224
|
return None
|
|
225
225
|
|
|
226
226
|
|
singlestoredb/fusion/registry.py
CHANGED
|
@@ -57,14 +57,15 @@ class Manager(object):
|
|
|
57
57
|
base_url: Optional[str] = None, *, organization_id: Optional[str] = None,
|
|
58
58
|
):
|
|
59
59
|
from .. import __version__ as client_version
|
|
60
|
-
|
|
60
|
+
new_access_token = (
|
|
61
61
|
access_token or get_token()
|
|
62
62
|
)
|
|
63
|
-
if not
|
|
63
|
+
if not new_access_token:
|
|
64
64
|
raise ManagementError(msg='No management token was configured.')
|
|
65
|
+
self._is_jwt = not access_token and new_access_token and is_jwt(new_access_token)
|
|
65
66
|
self._sess = requests.Session()
|
|
66
67
|
self._sess.headers.update({
|
|
67
|
-
'Authorization': f'Bearer {
|
|
68
|
+
'Authorization': f'Bearer {new_access_token}',
|
|
68
69
|
'Content-Type': 'application/json',
|
|
69
70
|
'Accept': 'application/json',
|
|
70
71
|
'User-Agent': f'SingleStoreDB-Python/{client_version}',
|
|
@@ -116,6 +117,9 @@ class Manager(object):
|
|
|
116
117
|
**kwargs: Any,
|
|
117
118
|
) -> requests.Response:
|
|
118
119
|
"""Perform HTTP request."""
|
|
120
|
+
# Refresh the JWT as needed
|
|
121
|
+
if self._is_jwt:
|
|
122
|
+
self._sess.headers.update({'Authorization': f'Bearer {get_token()}'})
|
|
119
123
|
return getattr(self._sess, method.lower())(
|
|
120
124
|
urljoin(self._base_url, path), *args, **kwargs,
|
|
121
125
|
)
|
|
@@ -7,6 +7,7 @@ import glob
|
|
|
7
7
|
import io
|
|
8
8
|
import os
|
|
9
9
|
import re
|
|
10
|
+
import socket
|
|
10
11
|
import time
|
|
11
12
|
from typing import Any
|
|
12
13
|
from typing import BinaryIO
|
|
@@ -31,6 +32,11 @@ from .utils import ttl_property
|
|
|
31
32
|
from .utils import vars_to_str
|
|
32
33
|
|
|
33
34
|
|
|
35
|
+
def get_secret(name: str) -> str:
|
|
36
|
+
"""Get a secret from the organization."""
|
|
37
|
+
return manage_workspaces().organization.get_secret(name).value
|
|
38
|
+
|
|
39
|
+
|
|
34
40
|
class StageObject(object):
|
|
35
41
|
"""
|
|
36
42
|
Stage file / folder object.
|
|
@@ -1334,7 +1340,7 @@ class WorkspaceGroup(object):
|
|
|
1334
1340
|
def create_workspace(
|
|
1335
1341
|
self, name: str, size: Optional[str] = None,
|
|
1336
1342
|
wait_on_active: bool = False, wait_interval: int = 10,
|
|
1337
|
-
wait_timeout: int = 600,
|
|
1343
|
+
wait_timeout: int = 600, add_endpoint_to_firewall_ranges: bool = True,
|
|
1338
1344
|
) -> Workspace:
|
|
1339
1345
|
"""
|
|
1340
1346
|
Create a new workspace.
|
|
@@ -1352,6 +1358,9 @@ class WorkspaceGroup(object):
|
|
|
1352
1358
|
if wait=True
|
|
1353
1359
|
wait_interval : int, optional
|
|
1354
1360
|
Number of seconds between each polling interval
|
|
1361
|
+
add_endpoint_to_firewall_ranges : bool, optional
|
|
1362
|
+
Should the workspace endpoint be added to the workspace group
|
|
1363
|
+
firewall ranges?
|
|
1355
1364
|
|
|
1356
1365
|
Returns
|
|
1357
1366
|
-------
|
|
@@ -1362,11 +1371,18 @@ class WorkspaceGroup(object):
|
|
|
1362
1371
|
raise ManagementError(
|
|
1363
1372
|
msg='No workspace manager is associated with this object.',
|
|
1364
1373
|
)
|
|
1365
|
-
|
|
1374
|
+
|
|
1375
|
+
out = self._manager.create_workspace(
|
|
1366
1376
|
name=name, workspace_group=self, size=size, wait_on_active=wait_on_active,
|
|
1367
1377
|
wait_interval=wait_interval, wait_timeout=wait_timeout,
|
|
1368
1378
|
)
|
|
1369
1379
|
|
|
1380
|
+
if add_endpoint_to_firewall_ranges and out.endpoint is not None:
|
|
1381
|
+
ip_address = '{}/32'.format(socket.gethostbyname(out.endpoint))
|
|
1382
|
+
self.update(firewall_ranges=self.firewall_ranges+[ip_address])
|
|
1383
|
+
|
|
1384
|
+
return out
|
|
1385
|
+
|
|
1370
1386
|
@property
|
|
1371
1387
|
def workspaces(self) -> NamedList[Workspace]:
|
|
1372
1388
|
"""Return a list of available workspaces."""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: singlestoredb
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.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
|
|
@@ -38,18 +38,13 @@ Requires-Dist: pytest ; extra == 'pytest'
|
|
|
38
38
|
Provides-Extra: rsa
|
|
39
39
|
Requires-Dist: cryptography ; extra == 'rsa'
|
|
40
40
|
Provides-Extra: sqlalchemy
|
|
41
|
-
Requires-Dist: sqlalchemy-singlestoredb ; extra == 'sqlalchemy'
|
|
41
|
+
Requires-Dist: sqlalchemy-singlestoredb >=1.0.0 ; extra == 'sqlalchemy'
|
|
42
42
|
|
|
43
|
-
# <img src="https://github.com/singlestore-labs/singlestoredb-python/blob/main/resources/singlestore-logo.png" height="60" valign="middle"/> SingleStoreDB Python
|
|
43
|
+
# <img src="https://github.com/singlestore-labs/singlestoredb-python/blob/main/resources/singlestore-logo.png" height="60" valign="middle"/> SingleStoreDB Python SDK
|
|
44
44
|
|
|
45
45
|
This project contains a [DB-API 2.0](https://www.python.org/dev/peps/pep-0249/)
|
|
46
46
|
compatible Python interface to the SingleStore database and workspace management API.
|
|
47
47
|
|
|
48
|
-
> **Warning**
|
|
49
|
-
> As of version v0.5.0, the parameter substitution syntax has changed from `:1`, `:2`, etc.
|
|
50
|
-
> for list parameters and `:foo`, `:bar`, etc. for dictionary parameters to `%s` and `%(foo)s`,
|
|
51
|
-
> `%(bar)s` etc., respectively.
|
|
52
|
-
|
|
53
48
|
## Install
|
|
54
49
|
|
|
55
50
|
This package can be install from PyPI using `pip`:
|
|
@@ -142,17 +137,3 @@ This library is licensed under the [Apache 2.0 License](https://raw.githubuserco
|
|
|
142
137
|
|
|
143
138
|
* [SingleStore](https://singlestore.com)
|
|
144
139
|
* [Python](https://python.org)
|
|
145
|
-
|
|
146
|
-
## User agreement
|
|
147
|
-
|
|
148
|
-
SINGLESTORE, INC. ("SINGLESTORE") AGREES TO GRANT YOU AND YOUR COMPANY ACCESS TO THIS OPEN SOURCE SOFTWARE CONNECTOR ONLY IF (A) YOU AND YOUR COMPANY REPRESENT AND WARRANT THAT YOU, ON BEHALF OF YOUR COMPANY, HAVE THE AUTHORITY TO LEGALLY BIND YOUR COMPANY AND (B) YOU, ON BEHALF OF YOUR COMPANY ACCEPT AND AGREE TO BE BOUND BY ALL OF THE OPEN SOURCE TERMS AND CONDITIONS APPLICABLE TO THIS OPEN SOURCE CONNECTOR AS SET FORTH BELOW (THIS “AGREEMENT”), WHICH SHALL BE DEFINITIVELY EVIDENCED BY ANY ONE OF THE FOLLOWING MEANS: YOU, ON BEHALF OF YOUR COMPANY, CLICKING THE “DOWNLOAD, “ACCEPTANCE” OR “CONTINUE” BUTTON, AS APPLICABLE OR COMPANY’S INSTALLATION, ACCESS OR USE OF THE OPEN SOURCE CONNECTOR AND SHALL BE EFFECTIVE ON THE EARLIER OF THE DATE ON WHICH THE DOWNLOAD, ACCESS, COPY OR INSTALL OF THE CONNECTOR OR USE ANY SERVICES (INCLUDING ANY UPDATES OR UPGRADES) PROVIDED BY SINGLESTORE.
|
|
149
|
-
BETA SOFTWARE CONNECTOR
|
|
150
|
-
|
|
151
|
-
Customer Understands and agrees that it is being granted access to pre-release or “beta” versions of SingleStore’s open source software connector (“Beta Software Connector”) for the limited purposes of non-production testing and evaluation of such Beta Software Connector. Customer acknowledges that SingleStore shall have no obligation to release a generally available version of such Beta Software Connector or to provide support or warranty for such versions of the Beta Software Connector for any production or non-evaluation use.
|
|
152
|
-
|
|
153
|
-
NOTWITHSTANDING ANYTHING TO THE CONTRARY IN ANY DOCUMENTATION, AGREEMENT OR IN ANY ORDER DOCUMENT, SINGLESTORE WILL HAVE NO WARRANTY, INDEMNITY, SUPPORT, OR SERVICE LEVEL, OBLIGATIONS WITH
|
|
154
|
-
RESPECT TO THIS BETA SOFTWARE CONNECTOR (INCLUDING TOOLS AND UTILITIES).
|
|
155
|
-
|
|
156
|
-
APPLICABLE OPEN SOURCE LICENSE: Apache 2.0
|
|
157
|
-
|
|
158
|
-
IF YOU OR YOUR COMPANY DO NOT AGREE TO THESE TERMS AND CONDITIONS, DO NOT CHECK THE ACCEPTANCE BOX, AND DO NOT DOWNLOAD, ACCESS, COPY, INSTALL OR USE THE SOFTWARE OR THE SERVICES.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
_singlestoredb_accel.abi3.so,sha256=
|
|
2
|
-
singlestoredb-1.0.
|
|
3
|
-
singlestoredb-1.0.
|
|
4
|
-
singlestoredb-1.0.
|
|
5
|
-
singlestoredb-1.0.
|
|
6
|
-
singlestoredb-1.0.
|
|
7
|
-
singlestoredb-1.0.
|
|
1
|
+
_singlestoredb_accel.abi3.so,sha256=h_78j0iV0aEoVaA4uPmTME8DTqBKRDt_BAjUCgj1cfc,206109
|
|
2
|
+
singlestoredb-1.0.2.dist-info/RECORD,,
|
|
3
|
+
singlestoredb-1.0.2.dist-info/LICENSE,sha256=Mlq78idURT-9G026aMYswwwnnrLcgzTLuXeAs5hjDLM,11341
|
|
4
|
+
singlestoredb-1.0.2.dist-info/WHEEL,sha256=_VEguvlLpUd-c8RbFMA4yMIVNMBv2LhpxYLCEQ-Bogk,113
|
|
5
|
+
singlestoredb-1.0.2.dist-info/entry_points.txt,sha256=bSLaTWB5zGjpVYPAaI46MkkDup0su-eb3uAhCNYuRV0,48
|
|
6
|
+
singlestoredb-1.0.2.dist-info/top_level.txt,sha256=SDtemIXf-Kp-_F2f_S6x0db33cHGOILdAEsIQZe2LZc,35
|
|
7
|
+
singlestoredb-1.0.2.dist-info/METADATA,sha256=ZDy0IGkaKydgjvPH_QGR5D-hFy4cfIh4NiwKbkTCH20,5515
|
|
8
8
|
singlestoredb/auth.py,sha256=u8D9tpKzrqa4ssaHjyZnGDX1q8XBpGtuoOkTkSv7B28,7599
|
|
9
9
|
singlestoredb/config.py,sha256=ZfLiOeqADAUMekvA9OZoDWDLdvXTGebPOcmMnN33Drw,7476
|
|
10
|
-
singlestoredb/__init__.py,sha256=
|
|
10
|
+
singlestoredb/__init__.py,sha256=A8RLgMfoXrQq6Px3VKkXKI08uBzCtZz5BA2WufmiL4M,1634
|
|
11
11
|
singlestoredb/types.py,sha256=FIqO1A7e0Gkk7ITmIysBy-P5S--ItbMSlYvblzqGS30,9969
|
|
12
12
|
singlestoredb/connection.py,sha256=gDBIs3XgLOROVHtzMx9zmSYILc0aRVY7k8we3b4TxCw,44227
|
|
13
13
|
singlestoredb/pytest.py,sha256=OyF3BO9mgxenifYhOihnzGk8WzCJ_zN5_mxe8XyFPOc,9074
|
|
@@ -15,12 +15,12 @@ singlestoredb/exceptions.py,sha256=HuoA6sMRL5qiCiee-_5ddTGmFbYC9Euk8TYUsh5GvTw,3
|
|
|
15
15
|
singlestoredb/converters.py,sha256=aH_QhLr94i9_AjvcplTar0HfX2yi53KGxHHzJc7lSU0,12515
|
|
16
16
|
singlestoredb/fusion/graphql.py,sha256=ZA3HcDq5rER-dCEavwTqnF7KM0D2LCYIY7nLQk7lSso,5207
|
|
17
17
|
singlestoredb/fusion/handler.py,sha256=7Oau7A5mclO5t3egH2FINxo8By6zpwzAQLCMFIo9CCo,18338
|
|
18
|
-
singlestoredb/fusion/registry.py,sha256=
|
|
18
|
+
singlestoredb/fusion/registry.py,sha256=xpaWO9Bne5QYSE0ump1NcyHimFQSYW49gu3NSPBhLCI,4084
|
|
19
19
|
singlestoredb/fusion/__init__.py,sha256=Qo7SuqGw-l-vE8-EI2jhm6hXJkYfOLUKIws9c7LFNX0,356
|
|
20
20
|
singlestoredb/fusion/result.py,sha256=Bd3KbRpqWqQcWp_Chd4bzBy8Kfc8nXLS_Pn_GGbPO6o,11772
|
|
21
21
|
singlestoredb/fusion/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
22
|
singlestoredb/fusion/handlers/utils.py,sha256=oYbf13Y3orEkJfHMNnO7B_W1anEdK-0S9vVVkF2pPFk,5109
|
|
23
|
-
singlestoredb/fusion/handlers/stage.py,sha256=
|
|
23
|
+
singlestoredb/fusion/handlers/stage.py,sha256=Abj59HZyy7kUWwujG-7FZ9-8d14W3XWRc3XfOMgBeng,6386
|
|
24
24
|
singlestoredb/fusion/handlers/workspace.py,sha256=hHE6ZTrt3wWnQsTMkEiiWWFiQend4VNTebX382Ot5FI,11342
|
|
25
25
|
singlestoredb/tests/test.sql,sha256=zuckJJgKI8cjIkM03WC67hCTk75TSJYVNA3x9VLQWH4,9954
|
|
26
26
|
singlestoredb/tests/test_xdict.py,sha256=fqHspoi39nbX3fIDVkkRXcd5H50xdOsSvK0bxAMQnaE,10408
|
|
@@ -46,11 +46,11 @@ singlestoredb/tests/test2.sql,sha256=D4U2GSlOVeo39U8-RMM4YziJzYFfi4Ztm2YXJVJVAS8
|
|
|
46
46
|
singlestoredb/tests/ext_funcs/__init__.py,sha256=qZLnDI_Ck0tguVi-K-BKXDHAcC0jui3dsm93Djj4x08,9290
|
|
47
47
|
singlestoredb/management/organization.py,sha256=Oj4-VQoEc90hLQ9vxXu4fSrGWK_Qq5lftmkM1Q5l6lk,4916
|
|
48
48
|
singlestoredb/management/region.py,sha256=HnLcWUh7r_aLECliplCDHak4a_F3B7LOSXEYMW66qD0,1611
|
|
49
|
-
singlestoredb/management/__init__.py,sha256=
|
|
49
|
+
singlestoredb/management/__init__.py,sha256=jXtKvpvl5diiotXPiEi2EpJwhPLEMb4_MTpndjCz3Kg,202
|
|
50
50
|
singlestoredb/management/utils.py,sha256=ZFt1jaUwNij16UplNxK_kvvd-w54OunsBaGHojqqUn8,8329
|
|
51
51
|
singlestoredb/management/cluster.py,sha256=_TT4tV43VPDrtcdS_VN-TTYij7yFQzjAMeuYRF9zKj8,14362
|
|
52
|
-
singlestoredb/management/workspace.py,sha256=
|
|
53
|
-
singlestoredb/management/manager.py,sha256=
|
|
52
|
+
singlestoredb/management/workspace.py,sha256=xIdSA_X8aiLnCZjNJg8-xYZeVyVeL1i4sVJUx-zMG_g,51907
|
|
53
|
+
singlestoredb/management/manager.py,sha256=mxwW1OQFvUIaPzTo_-9Oolv4Xwvf3mL5VS3qnvR1Ydg,8764
|
|
54
54
|
singlestoredb/management/billing_usage.py,sha256=9ighjIpcopgIyJOktBYQ6pahBZmWGHOPyyCW4gu9FGs,3735
|
|
55
55
|
singlestoredb/utils/config.py,sha256=m3Xn6hsbdKyLufSnbokhFJ9Vfaz9Qpkj1IEnIiH9oJQ,24503
|
|
56
56
|
singlestoredb/utils/results.py,sha256=cqFK4-0CBSDcT-R1ixKIWN5_sCn9s9SoEO6Gllj8mCI,5204
|
|
@@ -104,9 +104,9 @@ singlestoredb/functions/decorator.py,sha256=feFPevL6-3wE9KJCb3vrgqtSoY8Gc_lD0mgW
|
|
|
104
104
|
singlestoredb/functions/__init__.py,sha256=WL1LqgMTdnGOse3tQqmD-HH8TdfCPS89GNO7hO0v_aw,41
|
|
105
105
|
singlestoredb/functions/dtypes.py,sha256=iP3_AvE2jBxlkziOHzoUvTtYCdBZlaxJHNgvGwp07Ao,36712
|
|
106
106
|
singlestoredb/functions/signature.py,sha256=iqSsx8N8lU0ycNBO05HLAixy2OGIjrq33ntLME4YPmA,19343
|
|
107
|
-
singlestoredb/functions/ext/asgi.py,sha256=
|
|
107
|
+
singlestoredb/functions/ext/asgi.py,sha256=DOf775i708hpUL52FQ1P_R5ORXHQjH9dbErUJ_L98jE,18911
|
|
108
108
|
singlestoredb/functions/ext/arrow.py,sha256=WB7n1ACslyd8nlbFzUvlbxn1BVuEjA9-BGBEqCWlSOo,9061
|
|
109
109
|
singlestoredb/functions/ext/__init__.py,sha256=kGCV3QC5pL95TytpI8pwvSVCqqoTrV8duQQEUp65sy4,66
|
|
110
|
-
singlestoredb/functions/ext/json.py,sha256=
|
|
110
|
+
singlestoredb/functions/ext/json.py,sha256=UuUxTzlr5ztAbXqOGaVGUhO7xFN_oBY75nFh9B8cRog,10372
|
|
111
111
|
singlestoredb/functions/ext/rowdat_1.py,sha256=yZElsItSbVTFlXU3N-ee6QIybxuksqwv1UE3Y6h45c0,22274
|
|
112
112
|
singlestoredb/alchemy/__init__.py,sha256=dXRThusYrs_9GjrhPOw0-vw94in_T8yY9jE7SGCqiQk,2523
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|