singlestoredb 1.14.2__cp38-abi3-win32.whl → 1.15.0__cp38-abi3-win32.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.pyd +0 -0
- singlestoredb/__init__.py +2 -2
- singlestoredb/apps/_python_udfs.py +3 -3
- singlestoredb/config.py +5 -0
- singlestoredb/functions/decorator.py +32 -13
- singlestoredb/functions/ext/asgi.py +287 -27
- singlestoredb/functions/ext/timer.py +98 -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/magics/run_personal.py +82 -1
- singlestoredb/magics/run_shared.py +82 -1
- singlestoredb/management/__init__.py +1 -0
- singlestoredb/management/region.py +92 -0
- singlestoredb/management/workspace.py +180 -1
- singlestoredb/tests/ext_funcs/__init__.py +94 -55
- singlestoredb/tests/test.sql +22 -0
- singlestoredb/tests/test_ext_func.py +90 -0
- singlestoredb/tests/test_management.py +223 -0
- {singlestoredb-1.14.2.dist-info → singlestoredb-1.15.0.dist-info}/METADATA +1 -1
- {singlestoredb-1.14.2.dist-info → singlestoredb-1.15.0.dist-info}/RECORD +27 -22
- /singlestoredb/functions/{typing.py → typing/__init__.py} +0 -0
- {singlestoredb-1.14.2.dist-info → singlestoredb-1.15.0.dist-info}/LICENSE +0 -0
- {singlestoredb-1.14.2.dist-info → singlestoredb-1.15.0.dist-info}/WHEEL +0 -0
- {singlestoredb-1.14.2.dist-info → singlestoredb-1.15.0.dist-info}/entry_points.txt +0 -0
- {singlestoredb-1.14.2.dist-info → singlestoredb-1.15.0.dist-info}/top_level.txt +0 -0
|
@@ -13,6 +13,9 @@ import pytest
|
|
|
13
13
|
import singlestoredb as s2
|
|
14
14
|
from singlestoredb.management.job import Status
|
|
15
15
|
from singlestoredb.management.job import TargetType
|
|
16
|
+
from singlestoredb.management.region import Region
|
|
17
|
+
from singlestoredb.management.region import RegionManager
|
|
18
|
+
from singlestoredb.management.utils import NamedList
|
|
16
19
|
|
|
17
20
|
|
|
18
21
|
TEST_DIR = pathlib.Path(os.path.dirname(__file__))
|
|
@@ -363,6 +366,121 @@ class TestWorkspace(unittest.TestCase):
|
|
|
363
366
|
assert 'endpoint' in cm.exception.msg, cm.exception.msg
|
|
364
367
|
|
|
365
368
|
|
|
369
|
+
@pytest.mark.skip('Not implemented in server yet')
|
|
370
|
+
@pytest.mark.management
|
|
371
|
+
class TestStarterWorkspace(unittest.TestCase):
|
|
372
|
+
|
|
373
|
+
manager = None
|
|
374
|
+
starter_workspace = None
|
|
375
|
+
starter_workspace_user = {
|
|
376
|
+
'username': 'starter_user',
|
|
377
|
+
'password': None,
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
@property
|
|
381
|
+
def starter_username(self):
|
|
382
|
+
"""Return the username for the starter workspace user."""
|
|
383
|
+
return self.starter_workspace_user['username']
|
|
384
|
+
|
|
385
|
+
@property
|
|
386
|
+
def password(self):
|
|
387
|
+
"""Return the password for the starter workspace user."""
|
|
388
|
+
return self.starter_workspace_user['password']
|
|
389
|
+
|
|
390
|
+
@classmethod
|
|
391
|
+
def setUpClass(cls):
|
|
392
|
+
cls.manager = s2.manage_workspaces()
|
|
393
|
+
|
|
394
|
+
us_regions = [x for x in cls.manager.regions if 'US' in x.name]
|
|
395
|
+
cls.password = secrets.token_urlsafe(20) + '-x&$'
|
|
396
|
+
|
|
397
|
+
name = clean_name(secrets.token_urlsafe(20)[:20])
|
|
398
|
+
|
|
399
|
+
cls.starter_workspace = cls.manager.create_starter_workspace(
|
|
400
|
+
f'starter-ws-test-{name}',
|
|
401
|
+
database_name=f'starter_db_{name}',
|
|
402
|
+
workspace_group={
|
|
403
|
+
'cell_id': random.choice(us_regions).id,
|
|
404
|
+
},
|
|
405
|
+
)
|
|
406
|
+
|
|
407
|
+
cls.starter_workspace.create_user(
|
|
408
|
+
username=cls.starter_username,
|
|
409
|
+
password=cls.password,
|
|
410
|
+
)
|
|
411
|
+
|
|
412
|
+
@classmethod
|
|
413
|
+
def tearDownClass(cls):
|
|
414
|
+
if cls.starter_workspace is not None:
|
|
415
|
+
cls.starter_workspace.terminate()
|
|
416
|
+
cls.manager = None
|
|
417
|
+
cls.password = None
|
|
418
|
+
|
|
419
|
+
def test_str(self):
|
|
420
|
+
assert self.starter_workspace.name in str(self.starter_workspace.name)
|
|
421
|
+
|
|
422
|
+
def test_repr(self):
|
|
423
|
+
assert repr(self.starter_workspace) == str(self.starter_workspace)
|
|
424
|
+
|
|
425
|
+
def test_get_starter_workspace(self):
|
|
426
|
+
workspace = self.manager.get_starter_workspace(self.starter_workspace.id)
|
|
427
|
+
assert workspace.id == self.starter_workspace.id, workspace.id
|
|
428
|
+
|
|
429
|
+
with self.assertRaises(s2.ManagementError) as cm:
|
|
430
|
+
workspace = self.manager.get_starter_workspace('bad id')
|
|
431
|
+
|
|
432
|
+
assert 'UUID' in cm.exception.msg, cm.exception.msg
|
|
433
|
+
|
|
434
|
+
def test_starter_workspaces(self):
|
|
435
|
+
workspaces = self.manager.starter_workspaces
|
|
436
|
+
ids = [x.id for x in workspaces]
|
|
437
|
+
names = [x.name for x in workspaces]
|
|
438
|
+
assert self.starter_workspace.id in ids
|
|
439
|
+
assert self.starter_workspace.name in names
|
|
440
|
+
|
|
441
|
+
objs = {}
|
|
442
|
+
for item in workspaces:
|
|
443
|
+
objs[item.id] = item
|
|
444
|
+
objs[item.name] = item
|
|
445
|
+
|
|
446
|
+
name = random.choice(names)
|
|
447
|
+
assert workspaces[name] == objs[name]
|
|
448
|
+
id = random.choice(ids)
|
|
449
|
+
assert workspaces[id] == objs[id]
|
|
450
|
+
|
|
451
|
+
def test_no_manager(self):
|
|
452
|
+
workspace = self.manager.get_starter_workspace(self.starter_workspace.id)
|
|
453
|
+
workspace._manager = None
|
|
454
|
+
|
|
455
|
+
with self.assertRaises(s2.ManagementError) as cm:
|
|
456
|
+
workspace.refresh()
|
|
457
|
+
|
|
458
|
+
assert 'No workspace manager' in cm.exception.msg, cm.exception.msg
|
|
459
|
+
|
|
460
|
+
with self.assertRaises(s2.ManagementError) as cm:
|
|
461
|
+
workspace.terminate()
|
|
462
|
+
|
|
463
|
+
assert 'No workspace manager' in cm.exception.msg, cm.exception.msg
|
|
464
|
+
|
|
465
|
+
def test_connect(self):
|
|
466
|
+
with self.starter_workspace.connect(
|
|
467
|
+
user=self.starter_username,
|
|
468
|
+
password=self.password,
|
|
469
|
+
) as conn:
|
|
470
|
+
with conn.cursor() as cur:
|
|
471
|
+
cur.execute('show databases')
|
|
472
|
+
assert 'starter_db' in [x[0] for x in list(cur)]
|
|
473
|
+
|
|
474
|
+
# Test missing endpoint
|
|
475
|
+
workspace = self.manager.get_starter_workspace(self.starter_workspace.id)
|
|
476
|
+
workspace.endpoint = None
|
|
477
|
+
|
|
478
|
+
with self.assertRaises(s2.ManagementError) as cm:
|
|
479
|
+
workspace.connect(user='admin', password=self.password)
|
|
480
|
+
|
|
481
|
+
assert 'endpoint' in cm.exception.msg, cm.exception.msg
|
|
482
|
+
|
|
483
|
+
|
|
366
484
|
@pytest.mark.management
|
|
367
485
|
class TestStage(unittest.TestCase):
|
|
368
486
|
|
|
@@ -1372,3 +1490,108 @@ class TestFileSpaces(unittest.TestCase):
|
|
|
1372
1490
|
|
|
1373
1491
|
# Cleanup
|
|
1374
1492
|
space.remove('obj_test_2.ipynb')
|
|
1493
|
+
|
|
1494
|
+
|
|
1495
|
+
@pytest.mark.skip('Not implemented in server yet')
|
|
1496
|
+
@pytest.mark.management
|
|
1497
|
+
class TestRegions(unittest.TestCase):
|
|
1498
|
+
"""Test cases for region management."""
|
|
1499
|
+
|
|
1500
|
+
manager = None
|
|
1501
|
+
|
|
1502
|
+
@classmethod
|
|
1503
|
+
def setUpClass(cls):
|
|
1504
|
+
"""Set up the test environment."""
|
|
1505
|
+
cls.manager = s2.manage_regions()
|
|
1506
|
+
|
|
1507
|
+
@classmethod
|
|
1508
|
+
def tearDownClass(cls):
|
|
1509
|
+
"""Clean up the test environment."""
|
|
1510
|
+
cls.manager = None
|
|
1511
|
+
|
|
1512
|
+
def test_list_regions(self):
|
|
1513
|
+
"""Test listing all regions."""
|
|
1514
|
+
regions = self.manager.list_regions()
|
|
1515
|
+
|
|
1516
|
+
# Verify we get a NamedList
|
|
1517
|
+
assert isinstance(regions, NamedList)
|
|
1518
|
+
|
|
1519
|
+
# Verify we have at least one region
|
|
1520
|
+
assert len(regions) > 0
|
|
1521
|
+
|
|
1522
|
+
# Verify region properties
|
|
1523
|
+
region = regions[0]
|
|
1524
|
+
assert isinstance(region, Region)
|
|
1525
|
+
assert hasattr(region, 'id')
|
|
1526
|
+
assert hasattr(region, 'name')
|
|
1527
|
+
assert hasattr(region, 'provider')
|
|
1528
|
+
|
|
1529
|
+
# Verify provider values
|
|
1530
|
+
providers = {x.provider for x in regions}
|
|
1531
|
+
assert 'Azure' in providers or 'GCP' in providers or 'AWS' in providers
|
|
1532
|
+
|
|
1533
|
+
# Verify region can be accessed by name or ID
|
|
1534
|
+
region_by_name = regions[region.name]
|
|
1535
|
+
region_by_id = regions[region.id]
|
|
1536
|
+
assert region_by_name == region_by_id
|
|
1537
|
+
assert region_by_name.id == region.id
|
|
1538
|
+
assert region_by_name.name == region.name
|
|
1539
|
+
assert region_by_name.provider == region.provider
|
|
1540
|
+
|
|
1541
|
+
def test_list_shared_tier_regions(self):
|
|
1542
|
+
"""Test listing shared tier regions."""
|
|
1543
|
+
regions = self.manager.list_shared_tier_regions()
|
|
1544
|
+
|
|
1545
|
+
# Verify we get a NamedList
|
|
1546
|
+
assert isinstance(regions, NamedList)
|
|
1547
|
+
|
|
1548
|
+
# Verify region properties if we have any shared tier regions
|
|
1549
|
+
if regions:
|
|
1550
|
+
region = regions[0]
|
|
1551
|
+
assert isinstance(region, Region)
|
|
1552
|
+
assert hasattr(region, 'id')
|
|
1553
|
+
assert hasattr(region, 'name')
|
|
1554
|
+
assert hasattr(region, 'provider')
|
|
1555
|
+
|
|
1556
|
+
# Verify provider values
|
|
1557
|
+
providers = {x.provider for x in regions}
|
|
1558
|
+
assert any(p in providers for p in ['Azure', 'GCP', 'AWS'])
|
|
1559
|
+
|
|
1560
|
+
# Verify region can be accessed by name or ID
|
|
1561
|
+
region_by_name = regions[region.name]
|
|
1562
|
+
region_by_id = regions[region.id]
|
|
1563
|
+
assert region_by_name == region_by_id
|
|
1564
|
+
assert region_by_name.id == region.id
|
|
1565
|
+
assert region_by_name.name == region.name
|
|
1566
|
+
assert region_by_name.provider == region.provider
|
|
1567
|
+
|
|
1568
|
+
def test_str_repr(self):
|
|
1569
|
+
"""Test string representation of regions."""
|
|
1570
|
+
regions = self.manager.list_regions()
|
|
1571
|
+
if not regions:
|
|
1572
|
+
self.skipTest('No regions available for testing')
|
|
1573
|
+
|
|
1574
|
+
region = regions[0]
|
|
1575
|
+
|
|
1576
|
+
# Test __str__
|
|
1577
|
+
s = str(region)
|
|
1578
|
+
assert region.id in s
|
|
1579
|
+
assert region.name in s
|
|
1580
|
+
assert region.provider in s
|
|
1581
|
+
|
|
1582
|
+
# Test __repr__
|
|
1583
|
+
assert repr(region) == str(region)
|
|
1584
|
+
|
|
1585
|
+
def test_no_manager(self):
|
|
1586
|
+
"""Test behavior when manager is not available."""
|
|
1587
|
+
regions = self.manager.list_regions()
|
|
1588
|
+
if not regions:
|
|
1589
|
+
self.skipTest('No regions available for testing')
|
|
1590
|
+
|
|
1591
|
+
region = regions[0]
|
|
1592
|
+
region._manager = None
|
|
1593
|
+
|
|
1594
|
+
# Verify from_dict class method
|
|
1595
|
+
with self.assertRaises(s2.ManagementError) as cm:
|
|
1596
|
+
RegionManager.list_shared_tier_regions(None)
|
|
1597
|
+
assert 'No workspace manager' in str(cm.exception)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
_singlestoredb_accel.pyd,sha256=
|
|
2
|
-
singlestoredb/__init__.py,sha256=
|
|
1
|
+
_singlestoredb_accel.pyd,sha256=BWW5HD6bSkMmTIwoNTWdcnfsv1s7_EYCzlkjwNN5Ul8,65024
|
|
2
|
+
singlestoredb/__init__.py,sha256=clWiqGSlfnQ2WHAshLofzYKXnj8IcnkkIG5b7Hv7LZs,2347
|
|
3
3
|
singlestoredb/auth.py,sha256=RmYiH0Wlc2RXc4pTlRMysxtBI445ggCIwojWKC_eDLE,7844
|
|
4
|
-
singlestoredb/config.py,sha256=
|
|
4
|
+
singlestoredb/config.py,sha256=ZTySXaWhHalaEKgCYlR5U4e9gj-o43X8ClXG18t-DoE,13629
|
|
5
5
|
singlestoredb/connection.py,sha256=I2AP_0l7hNARfXiSuVW953CsGYn_rKbTg_NyWEiGHbY,47542
|
|
6
6
|
singlestoredb/converters.py,sha256=6gN3_RzSbw0Aimd5cGgBNPNq1yiHb1a_NK8qC9DmOQ0,21636
|
|
7
7
|
singlestoredb/exceptions.py,sha256=WCCJrNSsU-hD-621Jpd6bwmvGftQ7byXkk-XKXlaxpg,3354
|
|
@@ -19,22 +19,27 @@ singlestoredb/apps/_config.py,sha256=b_Op6KjSJdPwym-AlHcy0dXLHiks1cL8Q2ea1W8r3NA
|
|
|
19
19
|
singlestoredb/apps/_connection_info.py,sha256=P9rW4t2k3QFk3A34dIg9DbCWBqrcHDcZPi2Q9r2-o3A,321
|
|
20
20
|
singlestoredb/apps/_dashboards.py,sha256=qEdDivjwS68Uukay0Qw-3awHZFpkcqapzd3vLaVUzWo,1521
|
|
21
21
|
singlestoredb/apps/_process.py,sha256=eMiBO4piaRX1S6zdnMx0X0E4J7E1XrXndnVW0GRYq1Y,976
|
|
22
|
-
singlestoredb/apps/_python_udfs.py,sha256=
|
|
22
|
+
singlestoredb/apps/_python_udfs.py,sha256=d25hhWKl5ou5r7m0Uaf1xZLz9mCHK1Y6MSLzvmqyibA,2858
|
|
23
23
|
singlestoredb/apps/_stdout_supress.py,sha256=QRV-IHQQMvWMeJfqORuVE2-Il6ohO2Ti4IokFoTCJWE,689
|
|
24
24
|
singlestoredb/apps/_uvicorn_util.py,sha256=Petkmq5keBPfXZsHBrnZfY3O2rUHvb3Cw6o-BRz5MP0,994
|
|
25
25
|
singlestoredb/functions/__init__.py,sha256=KPBjRaiVipCQwTSsryHvBE_qrwy7Kj74lKnutqplcao,487
|
|
26
|
-
singlestoredb/functions/decorator.py,sha256=
|
|
26
|
+
singlestoredb/functions/decorator.py,sha256=V_2BbTl6-g66-WwNHMdLbOxvCAOQn5_DQHg66reoL48,6597
|
|
27
27
|
singlestoredb/functions/dtypes.py,sha256=7w_atIL5jAvDNtu6RDCvY440Y9U-p19_Nf7R5ki46Co,41607
|
|
28
28
|
singlestoredb/functions/signature.py,sha256=K1WftlfVei2xmizCxHi91z7mK8vW5VJxJAM7FiCnpEY,43926
|
|
29
|
-
singlestoredb/functions/typing.py,sha256=5AJG4nx-HKCeemNxL0qc1VunYPJ5lHRzpYAK_qMybNw,1380
|
|
30
29
|
singlestoredb/functions/utils.py,sha256=lZPxdYfHxrSfxGWCoF0YZyakVy2iYlozJ1lPSaPKRlo,11190
|
|
31
30
|
singlestoredb/functions/ext/__init__.py,sha256=5ppI8IZN_zOwoJFdu_Oq9ipxtyHw9n6OMVAa_s9T_yY,24
|
|
32
31
|
singlestoredb/functions/ext/arrow.py,sha256=mQhwaMpvCH_dP92WIhP_j-stu272n4UAHsFUOBTgnq0,9436
|
|
33
|
-
singlestoredb/functions/ext/asgi.py,sha256=
|
|
32
|
+
singlestoredb/functions/ext/asgi.py,sha256=R1mVZhyOQBuDKLqF1DT0kbiH76uGrC-l1piBkwjq2C0,62064
|
|
34
33
|
singlestoredb/functions/ext/json.py,sha256=j9133xOpyuSqb8smBmi_bPvv6OYCbNfpbLbEicyGqmQ,10522
|
|
35
34
|
singlestoredb/functions/ext/mmap.py,sha256=0BN9OyEONZ174qdZWe2m3Xykt3-QcxyLYBt2iCG772Q,14123
|
|
36
35
|
singlestoredb/functions/ext/rowdat_1.py,sha256=UNMMUA8mb6iIRfJV2FsdA20Sw6s-LEdHQ_tC4K4g70Q,21836
|
|
36
|
+
singlestoredb/functions/ext/timer.py,sha256=XOI_K-ikOM5xtXnDkmvIwBV4mUS7EWSziKEx2121KaI,3061
|
|
37
37
|
singlestoredb/functions/ext/utils.py,sha256=OPMFD-tTCx2Kk9jguQkrTr7e4AgNkt15YsvaT1YSmN8,5480
|
|
38
|
+
singlestoredb/functions/typing/__init__.py,sha256=5AJG4nx-HKCeemNxL0qc1VunYPJ5lHRzpYAK_qMybNw,1380
|
|
39
|
+
singlestoredb/functions/typing/numpy.py,sha256=WJt0bWwyEA8Mofpn_-0Q82u7Q8XAtzBuhbaXSqE1E34,681
|
|
40
|
+
singlestoredb/functions/typing/pandas.py,sha256=-abvGDup-WwTbaAyQuNo4Fq7ATe8gYx_5b2yUPJlX7o,85
|
|
41
|
+
singlestoredb/functions/typing/polars.py,sha256=HWAjc6o6NAAXZjNIUyLe5R4ZgrIz2NHjk43wTSpy4bY,85
|
|
42
|
+
singlestoredb/functions/typing/pyarrow.py,sha256=gQcvvrm5BYeuYl8UKr8-07DbA_AtbpkiSEtQkRMW7AA,82
|
|
38
43
|
singlestoredb/fusion/__init__.py,sha256=FHWtrg6OJFTf6Ye197V5sU6ssryr2h6FBcDIgXP7-H4,367
|
|
39
44
|
singlestoredb/fusion/graphql.py,sha256=SHqsPe4xgawdsTPHEtJGQlybYGWqPrGMmyK-v20RLac,5420
|
|
40
45
|
singlestoredb/fusion/handler.py,sha256=JmdIjBUUUDUKsgqTBc7pL_NVvUPXha90VpfAd03mHL4,28598
|
|
@@ -51,9 +56,9 @@ singlestoredb/fusion/handlers/workspace.py,sha256=NxoEY5xd5lCQmXiim4nhAYCL0agHo1
|
|
|
51
56
|
singlestoredb/http/__init__.py,sha256=4cEDvLloGc3LSpU-PnIwacyu0n5oIIIE6xk2SPyWD_w,939
|
|
52
57
|
singlestoredb/http/connection.py,sha256=X-zRf7BfsaKRg8GXcaa5Ic42b9uqEfqqxiI47ZijpDE,41221
|
|
53
58
|
singlestoredb/magics/__init__.py,sha256=fqCBQ0s8o1CYE4Xo_XiSbkLDzLgMNDgpSkOx66-uDZw,1244
|
|
54
|
-
singlestoredb/magics/run_personal.py,sha256=
|
|
55
|
-
singlestoredb/magics/run_shared.py,sha256=
|
|
56
|
-
singlestoredb/management/__init__.py,sha256=
|
|
59
|
+
singlestoredb/magics/run_personal.py,sha256=D71VVRk-qQAZf6fHUbxqTadxcopSklJu7ccoQ82uhV8,5359
|
|
60
|
+
singlestoredb/magics/run_shared.py,sha256=9Lo3hmESgp0gGLaL1pgLtTA6qsbIZluM7mufcoCAVcI,5264
|
|
61
|
+
singlestoredb/management/__init__.py,sha256=wsTdU9mRZuKuJNOu7aPWlmy3dEhRxUIeNIzKQh4IwME,313
|
|
57
62
|
singlestoredb/management/billing_usage.py,sha256=0UHFSPCrN0nyeGFFM-HXS3NP8pYmYo2BCCahDEPXvzg,3883
|
|
58
63
|
singlestoredb/management/cluster.py,sha256=auBzNYIXvnI6rq3DNpPgJhwWoT6JsyZRikjpON23Pxg,14867
|
|
59
64
|
singlestoredb/management/export.py,sha256=9kNb9C9HHyUrIfIWVvpghal47SQutoa2PTPmysIPSq8,9378
|
|
@@ -62,9 +67,9 @@ singlestoredb/management/inference_api.py,sha256=9d9-7edoZ6JI3SPvStcVDOSHOY6l38V
|
|
|
62
67
|
singlestoredb/management/job.py,sha256=Npfe1JLYJlggGBrXLniPKwKUKF1i3alvSY1SFtvauSs,25498
|
|
63
68
|
singlestoredb/management/manager.py,sha256=iB4XcerOPNoFc04TN40vjosMrDhlE7HMUyHsseRgjBQ,9224
|
|
64
69
|
singlestoredb/management/organization.py,sha256=viFG8eLVOs-NeoL6zm8nypFRQ-oiRDD2Sk-bL2b6hvw,6095
|
|
65
|
-
singlestoredb/management/region.py,sha256=
|
|
70
|
+
singlestoredb/management/region.py,sha256=2MyC7JzK5Bh7iMcHKVPVQK6NsD-TDb4AcT_gAcnE_Mg,3997
|
|
66
71
|
singlestoredb/management/utils.py,sha256=RtFhdIIliQ6aulYs99fgAQ0FxL2LfV-5oPRd9s_bBok,13626
|
|
67
|
-
singlestoredb/management/workspace.py,sha256=
|
|
72
|
+
singlestoredb/management/workspace.py,sha256=_FnVX2-aZKZ-OysUn6J6FMV6RlwsCW3KTAQQtOnJLN8,64263
|
|
68
73
|
singlestoredb/mysql/__init__.py,sha256=CbpwzNUJPAmKPpIobC0-ugBta_RgHCMq7X7N75QLReY,4669
|
|
69
74
|
singlestoredb/mysql/_auth.py,sha256=YaqqyvAHmeraBv3BM207rNveUVPM-mPnW20ts_ynVWg,8341
|
|
70
75
|
singlestoredb/mysql/charset.py,sha256=mnCdMpvdub1S2mm2PSk2j5JddgsWRjsVLtGx-y9TskE,10724
|
|
@@ -116,7 +121,7 @@ singlestoredb/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
|
|
|
116
121
|
singlestoredb/tests/empty.sql,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
117
122
|
singlestoredb/tests/local_infile.csv,sha256=0fYxcZcTvcwS2McF4sktFsipRY1G-ClGmCRR1eCqdEQ,45
|
|
118
123
|
singlestoredb/tests/test.ipynb,sha256=IEgXbByXyWDplZvod1J2SqNHZiPOGdD4oNVMd0ArP7s,234
|
|
119
|
-
singlestoredb/tests/test.sql,sha256=
|
|
124
|
+
singlestoredb/tests/test.sql,sha256=hDz6dWTpsXxUbVYmpfD-KjqasA2olKHN7G0y0Pbpn5M,19320
|
|
120
125
|
singlestoredb/tests/test2.ipynb,sha256=_kBQVvEoinQ1zInNcWFKpbdw-djkLsEO8l3g2MEU_Zs,236
|
|
121
126
|
singlestoredb/tests/test2.sql,sha256=CEM8_lX189iQU65G3Pod7lig6osfrveQyoDz6HC35YQ,38
|
|
122
127
|
singlestoredb/tests/test_basics.py,sha256=tKzeSN8koMRFq5yjb98Wz5VWAOsnUKAETZEJyLhMD_o,49778
|
|
@@ -124,11 +129,11 @@ singlestoredb/tests/test_config.py,sha256=Ad0PDmCnJMOyy9f7WTKiRasSR_3mYRByUlSb7k
|
|
|
124
129
|
singlestoredb/tests/test_connection.py,sha256=UmoNo8erkcifEMbHZl83yAaRsyh6HANRdEtY3aViOK8,122792
|
|
125
130
|
singlestoredb/tests/test_dbapi.py,sha256=cNJoTEZvYG7ckcwT7xqlkJX-2TDEYGTDDU1Igucp48k,679
|
|
126
131
|
singlestoredb/tests/test_exceptions.py,sha256=vscMYmdOJr0JmkTAJrNI2w0Q96Nfugjkrt5_lYnw8i0,1176
|
|
127
|
-
singlestoredb/tests/test_ext_func.py,sha256=
|
|
132
|
+
singlestoredb/tests/test_ext_func.py,sha256=YidPnlO7HWsVIbPwdCa33Oo8SyGkP2_Pcuj_pu39r4s,47743
|
|
128
133
|
singlestoredb/tests/test_ext_func_data.py,sha256=9kn8BWmCjkbnP6hSbFhmhcdW4OmVT-GSvBTIzFBLEys,48796
|
|
129
134
|
singlestoredb/tests/test_fusion.py,sha256=XT5rhYx32mndcZGaW2Xc7DTLMLEcf_vO3w1Dxss9nMM,52120
|
|
130
135
|
singlestoredb/tests/test_http.py,sha256=7hwXe61hlUes3nji0MTTZweo94tJAlJ-vA5ct9geXFQ,8868
|
|
131
|
-
singlestoredb/tests/test_management.py,sha256=
|
|
136
|
+
singlestoredb/tests/test_management.py,sha256=IkkuLw957xV8-BWWtkv-VKRcU5y155C_FNfDJYp0MEE,54834
|
|
132
137
|
singlestoredb/tests/test_plugin.py,sha256=P1nXLnTafaHkHN-6bVbGryxTu7OWJPU9SYFZ_WQUwq8,845
|
|
133
138
|
singlestoredb/tests/test_results.py,sha256=Zg1ynZFRZqalAMfNLOU5C6BDXaox6JxrKm_XZwVNFcg,6753
|
|
134
139
|
singlestoredb/tests/test_types.py,sha256=YeVE6KPqlqzJke-4hbRmc8ko1E7RLHu5S8qLg04Bl5Y,4632
|
|
@@ -137,7 +142,7 @@ singlestoredb/tests/test_udf_returns.py,sha256=lDx26AUKGS4V0Vxf5ePO-VcrcX0QamyWG
|
|
|
137
142
|
singlestoredb/tests/test_vectorstore.py,sha256=Zy9N63KPcm9bdjMN2dc1iwBZ5J8wK-p96xT6tF8Wk0M,1605
|
|
138
143
|
singlestoredb/tests/test_xdict.py,sha256=5ArRJqd5aNXkPK7Y6sFeRbqZ59MZ1YaGBpSlDAbBrjM,10741
|
|
139
144
|
singlestoredb/tests/utils.py,sha256=WR8GFNiC0lU4tz21Y3rlbbp9Gz9WcSwp2jpUSCj7RFU,5136
|
|
140
|
-
singlestoredb/tests/ext_funcs/__init__.py,sha256=
|
|
145
|
+
singlestoredb/tests/ext_funcs/__init__.py,sha256=ctEOG0tDWmcE2LSEcvv2Yqk9CVi4PM5rouoRZnZe5t4,15610
|
|
141
146
|
singlestoredb/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
142
147
|
singlestoredb/utils/config.py,sha256=WVQ567ZzqzlTGueQH5fEpm5tPZuz8y7qvpEQUB-vPjk,25453
|
|
143
148
|
singlestoredb/utils/convert_rows.py,sha256=gkZeZazeJvimCYEQ1FdAC-AmMDwmFGCuP6mi653bpns,1885
|
|
@@ -149,9 +154,9 @@ singlestoredb/utils/results.py,sha256=wR70LhCqlobniZf52r67zYLBOKjWHQm68NAskdRQND
|
|
|
149
154
|
singlestoredb/utils/xdict.py,sha256=-wi1lSPTnY99fhVMBhPKJ8cCsQhNG4GMUfkEBDKYgCw,13321
|
|
150
155
|
sqlx/__init__.py,sha256=4Sdn8HN-Hf8v0_wCt60DCckCg8BvgM3-9r4YVfZycRE,89
|
|
151
156
|
sqlx/magic.py,sha256=6VBlotgjautjev599tHaTYOfcfOA9m6gV_-P1_Qc4lI,3622
|
|
152
|
-
singlestoredb-1.
|
|
153
|
-
singlestoredb-1.
|
|
154
|
-
singlestoredb-1.
|
|
155
|
-
singlestoredb-1.
|
|
156
|
-
singlestoredb-1.
|
|
157
|
-
singlestoredb-1.
|
|
157
|
+
singlestoredb-1.15.0.dist-info/LICENSE,sha256=Bojenzui8aPNjlF3w4ojguDP7sTf8vFV_9Gc2UAG1sg,11542
|
|
158
|
+
singlestoredb-1.15.0.dist-info/METADATA,sha256=gvIMUB1wn7iBDU4zScxV4tDjwxQCqtwHBwipYFDbtnQ,5949
|
|
159
|
+
singlestoredb-1.15.0.dist-info/WHEEL,sha256=c4k7z5HB0t-y0nBCv6KyJ6KCjn8SEGPddD0lhaPtU3E,96
|
|
160
|
+
singlestoredb-1.15.0.dist-info/entry_points.txt,sha256=bSLaTWB5zGjpVYPAaI46MkkDup0su-eb3uAhCNYuRV0,48
|
|
161
|
+
singlestoredb-1.15.0.dist-info/top_level.txt,sha256=lA65Vf4qAMfg_s1oG3LEO90h4t1Z-SPDbRqkevI3bSY,40
|
|
162
|
+
singlestoredb-1.15.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|