singlestoredb 1.14.1__py3-none-any.whl → 1.14.2__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 singlestoredb might be problematic. Click here for more details.
- singlestoredb/__init__.py +13 -9
- singlestoredb/fusion/handler.py +17 -4
- singlestoredb/management/export.py +1 -1
- singlestoredb/tests/test_fusion.py +4 -1
- singlestoredb/tests/test_management.py +30 -20
- {singlestoredb-1.14.1.dist-info → singlestoredb-1.14.2.dist-info}/METADATA +3 -2
- {singlestoredb-1.14.1.dist-info → singlestoredb-1.14.2.dist-info}/RECORD +11 -11
- {singlestoredb-1.14.1.dist-info → singlestoredb-1.14.2.dist-info}/LICENSE +0 -0
- {singlestoredb-1.14.1.dist-info → singlestoredb-1.14.2.dist-info}/WHEEL +0 -0
- {singlestoredb-1.14.1.dist-info → singlestoredb-1.14.2.dist-info}/entry_points.txt +0 -0
- {singlestoredb-1.14.1.dist-info → singlestoredb-1.14.2.dist-info}/top_level.txt +0 -0
singlestoredb/__init__.py
CHANGED
|
@@ -13,7 +13,7 @@ Examples
|
|
|
13
13
|
|
|
14
14
|
"""
|
|
15
15
|
|
|
16
|
-
__version__ = '1.14.
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
#
|
singlestoredb/fusion/handler.py
CHANGED
|
@@ -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
|
-
|
|
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
|
|
750
|
-
out = ' '.join(flatten(visited_children))
|
|
751
|
-
return {'
|
|
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.
|
|
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
|
-
|
|
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',
|
|
406
|
-
assert str(f.path) ==
|
|
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',
|
|
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
|
-
|
|
423
|
+
upload_test_sql,
|
|
421
424
|
overwrite=True,
|
|
422
425
|
)
|
|
423
|
-
assert str(f.path) ==
|
|
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,
|
|
448
|
+
os.path.join(lib.path, upload_test2_sql),
|
|
446
449
|
)
|
|
447
|
-
assert str(f.path) == 'lib/
|
|
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
|
-
|
|
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
|
-
|
|
1080
|
+
upload_test_ipynb,
|
|
1073
1081
|
)
|
|
1074
|
-
assert str(f.path) ==
|
|
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
|
-
|
|
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
|
-
|
|
1099
|
+
upload_test_ipynb, overwrite=True,
|
|
1092
1100
|
)
|
|
1093
|
-
assert str(f.path) ==
|
|
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(
|
|
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
|
-
|
|
1126
|
+
upload_test_ipynb,
|
|
1117
1127
|
)
|
|
1118
|
-
assert str(f.path) ==
|
|
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
|
-
|
|
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
|
-
|
|
1145
|
+
upload_test_ipynb, overwrite=True,
|
|
1136
1146
|
)
|
|
1137
|
-
assert str(f.path) ==
|
|
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(
|
|
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.
|
|
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
|
|
@@ -19,7 +19,6 @@ Requires-Dist: build
|
|
|
19
19
|
Requires-Dist: parsimonious
|
|
20
20
|
Requires-Dist: requests
|
|
21
21
|
Requires-Dist: setuptools
|
|
22
|
-
Requires-Dist: singlestore-vectorstore>=0.1.2
|
|
23
22
|
Requires-Dist: sqlparams
|
|
24
23
|
Requires-Dist: wheel
|
|
25
24
|
Requires-Dist: tomli>=1.1.0; python_version < "3.11"
|
|
@@ -44,6 +43,8 @@ Provides-Extra: rsa
|
|
|
44
43
|
Requires-Dist: cryptography; extra == "rsa"
|
|
45
44
|
Provides-Extra: sqlalchemy
|
|
46
45
|
Requires-Dist: sqlalchemy-singlestoredb>=1.0.0; extra == "sqlalchemy"
|
|
46
|
+
Provides-Extra: vectorstore
|
|
47
|
+
Requires-Dist: singlestore-vectorstore>=0.1.2; extra == "vectorstore"
|
|
47
48
|
|
|
48
49
|
# <img src="https://github.com/singlestore-labs/singlestoredb-python/blob/main/resources/singlestore-logo.png" height="60" valign="middle"/> SingleStoreDB Python SDK
|
|
49
50
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
singlestoredb/__init__.py,sha256=
|
|
1
|
+
singlestoredb/__init__.py,sha256=LXawJyI2-AilQxUSQ8IJnDUiwZk5nrB-FGGpHWcToGI,2256
|
|
2
2
|
singlestoredb/auth.py,sha256=u8D9tpKzrqa4ssaHjyZnGDX1q8XBpGtuoOkTkSv7B28,7599
|
|
3
3
|
singlestoredb/config.py,sha256=dayUWwSy2YdgmhF8tzH-7FwFpwon5bgX_VeX-Yu5ia4,12969
|
|
4
4
|
singlestoredb/connection.py,sha256=ELk3-UpM6RaB993aIt08MydKiiDnejHQ1s8EFiacrAI,46055
|
|
@@ -36,7 +36,7 @@ singlestoredb/functions/ext/rowdat_1.py,sha256=SlXbJ2042jEoaXw81y5llw1625w0aU2nZ
|
|
|
36
36
|
singlestoredb/functions/ext/utils.py,sha256=2-B8YU_Iekv8JcpI-ochs9TIeuyatLaLAH-AyYyUUIg,5311
|
|
37
37
|
singlestoredb/fusion/__init__.py,sha256=Qo7SuqGw-l-vE8-EI2jhm6hXJkYfOLUKIws9c7LFNX0,356
|
|
38
38
|
singlestoredb/fusion/graphql.py,sha256=ZA3HcDq5rER-dCEavwTqnF7KM0D2LCYIY7nLQk7lSso,5207
|
|
39
|
-
singlestoredb/fusion/handler.py,sha256=
|
|
39
|
+
singlestoredb/fusion/handler.py,sha256=M5iyNP4zOaGqUqnZg_b5xhRE-8tHgfZSHDH0zKTiJmE,27692
|
|
40
40
|
singlestoredb/fusion/registry.py,sha256=jjdRTYZ3ylhy6gAoW5xBj0tkxGFBT-2yLQ0tztTgDIY,6112
|
|
41
41
|
singlestoredb/fusion/result.py,sha256=p5I65C-Dhhl1yeZwetXXZabwritr8Ph2mFvJJ3ovcBM,11790
|
|
42
42
|
singlestoredb/fusion/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -55,7 +55,7 @@ singlestoredb/magics/run_shared.py,sha256=SI8dCBRMaGn-xZU7dto4jsAqKBi-Ll14htUsMU
|
|
|
55
55
|
singlestoredb/management/__init__.py,sha256=ofNTPCdkZ1dS_aX2aUujd8aMHQi8Lle5Ced0aaO3RH4,269
|
|
56
56
|
singlestoredb/management/billing_usage.py,sha256=9ighjIpcopgIyJOktBYQ6pahBZmWGHOPyyCW4gu9FGs,3735
|
|
57
57
|
singlestoredb/management/cluster.py,sha256=h75grXSxq4Anr4RxwKxcZW4TkWJ4bFg_ql5iRWCNLdQ,14405
|
|
58
|
-
singlestoredb/management/export.py,sha256=
|
|
58
|
+
singlestoredb/management/export.py,sha256=yR-yZUE9USFrP5OR_5iLFqEc8GLiKDQypSEp08CmT5k,9083
|
|
59
59
|
singlestoredb/management/files.py,sha256=89IhpGw9WdwxVeksavHEDMVn9wb_jxb-utZuIDqkLHw,30477
|
|
60
60
|
singlestoredb/management/inference_api.py,sha256=L6eFqaUaPugF_cmrZ4xlArj8CIv25vWqQs1vwgKPEF4,2583
|
|
61
61
|
singlestoredb/management/job.py,sha256=4-xLWzbE8odQogVVaFer80UEoTAZY1T28VZ9Ug4rbmM,24611
|
|
@@ -125,9 +125,9 @@ singlestoredb/tests/test_dbapi.py,sha256=IKq5Hcwx8WikASP8_AB5fo3TXv7ryWPCVGonoly
|
|
|
125
125
|
singlestoredb/tests/test_exceptions.py,sha256=tfr_8X2w1UmG4nkSBzWGB0C7ehrf1GAVgj6_ODaG-TM,1131
|
|
126
126
|
singlestoredb/tests/test_ext_func.py,sha256=s1k1cBxQ7vIS1zSrKGkKTgLZE1DT_Rqj-3VNSCSv68I,43261
|
|
127
127
|
singlestoredb/tests/test_ext_func_data.py,sha256=yTADD93nPxX6_rZXXLZaOWEI_yPvYyir9psn5PK9ctU,47695
|
|
128
|
-
singlestoredb/tests/test_fusion.py,sha256=
|
|
128
|
+
singlestoredb/tests/test_fusion.py,sha256=7YQ_nOQoV_7yD4OEpJz2Ov-zok-cBFK9IOJ3FgZ0xo0,50593
|
|
129
129
|
singlestoredb/tests/test_http.py,sha256=RXasTqBWRn__omj0eLFTJYIbZjd0PPdIV2d4Cqz0MC8,8580
|
|
130
|
-
singlestoredb/tests/test_management.py,sha256=
|
|
130
|
+
singlestoredb/tests/test_management.py,sha256=rzM5xZllXys6OzyFBxOieYSn4kDGCwWuyIkJWsPXvAY,45847
|
|
131
131
|
singlestoredb/tests/test_plugin.py,sha256=qpO9wmWc62VaijN1sJ97YSYIX7I7Y5C6sY-WzwrutDQ,812
|
|
132
132
|
singlestoredb/tests/test_results.py,sha256=wg93sujwt-R9_eJCgSCElgAZhLDkIiAo3qPkPydOv78,6582
|
|
133
133
|
singlestoredb/tests/test_types.py,sha256=jqoAaSjhbgwB3vt0KsTcl7XBWoMMIa0mPFKhEi5bBjo,4500
|
|
@@ -148,9 +148,9 @@ singlestoredb/utils/results.py,sha256=bJtaUaDiFq26IsPAKZ2FHGB7csMn94EAxLKrP4HaEE
|
|
|
148
148
|
singlestoredb/utils/xdict.py,sha256=S9HKgrPrnu_6b7iOwa2KrW8CmU1Uqx0BWdEyogFzWbE,12896
|
|
149
149
|
sqlx/__init__.py,sha256=aBYiU8DZXCogvWu3yWafOz7bZS5WWwLZXj7oL0dXGyU,85
|
|
150
150
|
sqlx/magic.py,sha256=JsS9_9aBFaOt91Torm1JPN0c8qB2QmYJmNSKtbSQIY0,3509
|
|
151
|
-
singlestoredb-1.14.
|
|
152
|
-
singlestoredb-1.14.
|
|
153
|
-
singlestoredb-1.14.
|
|
154
|
-
singlestoredb-1.14.
|
|
155
|
-
singlestoredb-1.14.
|
|
156
|
-
singlestoredb-1.14.
|
|
151
|
+
singlestoredb-1.14.2.dist-info/LICENSE,sha256=Mlq78idURT-9G026aMYswwwnnrLcgzTLuXeAs5hjDLM,11341
|
|
152
|
+
singlestoredb-1.14.2.dist-info/METADATA,sha256=WgSCJwj4A5uNxFytXq-Xg7zoyt0zXy_s5q7FdcPrJQE,5786
|
|
153
|
+
singlestoredb-1.14.2.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
154
|
+
singlestoredb-1.14.2.dist-info/entry_points.txt,sha256=bSLaTWB5zGjpVYPAaI46MkkDup0su-eb3uAhCNYuRV0,48
|
|
155
|
+
singlestoredb-1.14.2.dist-info/top_level.txt,sha256=DfFGz7bM4XrshloiCeTABgylT3BUnS8T5pJam3ewT6Q,19
|
|
156
|
+
singlestoredb-1.14.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|