singlestoredb 1.14.2__py3-none-any.whl → 1.15.0__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.

@@ -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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: singlestoredb
3
- Version: 1.14.2
3
+ Version: 1.15.0
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
@@ -1,6 +1,6 @@
1
- singlestoredb/__init__.py,sha256=LXawJyI2-AilQxUSQ8IJnDUiwZk5nrB-FGGpHWcToGI,2256
1
+ singlestoredb/__init__.py,sha256=vzHEbxcHZTZuay7dGyuJZk-LVuyUnlgu-R7okiL4FEw,2272
2
2
  singlestoredb/auth.py,sha256=u8D9tpKzrqa4ssaHjyZnGDX1q8XBpGtuoOkTkSv7B28,7599
3
- singlestoredb/config.py,sha256=dayUWwSy2YdgmhF8tzH-7FwFpwon5bgX_VeX-Yu5ia4,12969
3
+ singlestoredb/config.py,sha256=maEBo6epJpidVVD7QDkBAgE6tbQhYHxBVfouWmGR0cU,13169
4
4
  singlestoredb/connection.py,sha256=ELk3-UpM6RaB993aIt08MydKiiDnejHQ1s8EFiacrAI,46055
5
5
  singlestoredb/converters.py,sha256=Ui-AqdW3pRAQ8A_YcK9EqVYyM4Pt1_Q-tjlotbpK6Cw,20686
6
6
  singlestoredb/exceptions.py,sha256=HuoA6sMRL5qiCiee-_5ddTGmFbYC9Euk8TYUsh5GvTw,3234
@@ -18,22 +18,27 @@ singlestoredb/apps/_config.py,sha256=FlV0ABP7qlBJoKo9NOme6Fpp4yUFm5QEpHEHbl1A24o
18
18
  singlestoredb/apps/_connection_info.py,sha256=QOr-wcQJn6oCZw2kLEP0Uwzo85CGolGz0QIvlem3gug,303
19
19
  singlestoredb/apps/_dashboards.py,sha256=_03fI-GJannamA5lxLvIoC6Mim-H1jTRuI8-dw_P--k,1474
20
20
  singlestoredb/apps/_process.py,sha256=G37fk6bzIxzhfEqp2aJBk3JCij-T2HFtTd078k5Xq9I,944
21
- singlestoredb/apps/_python_udfs.py,sha256=-CT0hzfHGnbxWkOKS8gQBJa3Kq6ixT_gn18TGtLtK_k,2726
21
+ singlestoredb/apps/_python_udfs.py,sha256=hwncnfx7MpOsvCH0Ic64otDIo-GGPT3UC89y2uAA_Uw,2773
22
22
  singlestoredb/apps/_stdout_supress.py,sha256=8s9zMIIRPpeu44yluJFc_0VueAxZDmr9QVGT6TGiFeY,659
23
23
  singlestoredb/apps/_uvicorn_util.py,sha256=rEK4nEmq5hbpRgsmK16UVlxe2DyQSq7C5w5WZSp0kX8,962
24
24
  singlestoredb/functions/__init__.py,sha256=I2GnxOhLb4_7xhgOxdIwmwD5NiK7QYPYaE3PUIX-7xk,471
25
- singlestoredb/functions/decorator.py,sha256=gylwivCwpNMCUmgBEUEYf2ogIpInNhu6IFeTU82W7Ko,5433
25
+ singlestoredb/functions/decorator.py,sha256=lMzTcndVffFUMkInxlp7R5akVAd10jMP5BqxkeGnQ7E,6397
26
26
  singlestoredb/functions/dtypes.py,sha256=DgJaNXouJ2t-qIqDiQlUYU9IhkXXUTigWeE_MAcmvHM,39814
27
27
  singlestoredb/functions/signature.py,sha256=avErza5t3p0vy94p4yjw7Hy2cCDvjolwCyYjEI0PKXM,42481
28
- singlestoredb/functions/typing.py,sha256=gT_Sz5YH-L-9WeIHwWYMEx-hUCZqis7ec5Ipk3JXpnM,1339
29
28
  singlestoredb/functions/utils.py,sha256=1L0Phgzq0XdWK3ecfOOydq4zV955yCwpDoAaCYRGldk,10769
30
29
  singlestoredb/functions/ext/__init__.py,sha256=1oLL20yLB1GL9IbFiZD8OReDqiCpFr-yetIR6x1cNkI,23
31
30
  singlestoredb/functions/ext/arrow.py,sha256=WB7n1ACslyd8nlbFzUvlbxn1BVuEjA9-BGBEqCWlSOo,9061
32
- singlestoredb/functions/ext/asgi.py,sha256=CSjGB8YnBYf0Ca4qMjl25AG1ExBmmnzxKTFAogi_mDc,51874
31
+ singlestoredb/functions/ext/asgi.py,sha256=IxVUUrz-fGmoxSXGlEb1COI-bXn2JcvLrVz4wa2Hx0o,60223
33
32
  singlestoredb/functions/ext/json.py,sha256=RIuZdDybEdHuC-f2p6BdjhFjM3iGb3a1PRQ4k11P6N8,10102
34
33
  singlestoredb/functions/ext/mmap.py,sha256=RzyNSLRpI5ZJ8YN6k-AvZlRTLjj80j52byHLtW8c3ps,13710
35
34
  singlestoredb/functions/ext/rowdat_1.py,sha256=SlXbJ2042jEoaXw81y5llw1625w0aU2nZ8vI_O3qA-M,21112
35
+ singlestoredb/functions/ext/timer.py,sha256=kgmJACV6LAfev53XiGMwCv4DDlgF3Icg7G8VCuTQp4Q,2963
36
36
  singlestoredb/functions/ext/utils.py,sha256=2-B8YU_Iekv8JcpI-ochs9TIeuyatLaLAH-AyYyUUIg,5311
37
+ singlestoredb/functions/typing/__init__.py,sha256=gT_Sz5YH-L-9WeIHwWYMEx-hUCZqis7ec5Ipk3JXpnM,1339
38
+ singlestoredb/functions/typing/numpy.py,sha256=WO64_HziveGk0dqRrkuZ51aohULy9qYuqaKHAoiiA3A,661
39
+ singlestoredb/functions/typing/pandas.py,sha256=wZUTMbte937EKtGdnFFWB0fFut5unTOyAbn8fSBsfro,83
40
+ singlestoredb/functions/typing/polars.py,sha256=b_UOIXLkvptHiAB7sXSzC7XPHMWNOglCz6h9amCA6Kg,83
41
+ singlestoredb/functions/typing/pyarrow.py,sha256=WkqQrUPS__jYzUJntLLUVDgYIcnqR9HU6Q5grZojZrc,80
37
42
  singlestoredb/fusion/__init__.py,sha256=Qo7SuqGw-l-vE8-EI2jhm6hXJkYfOLUKIws9c7LFNX0,356
38
43
  singlestoredb/fusion/graphql.py,sha256=ZA3HcDq5rER-dCEavwTqnF7KM0D2LCYIY7nLQk7lSso,5207
39
44
  singlestoredb/fusion/handler.py,sha256=M5iyNP4zOaGqUqnZg_b5xhRE-8tHgfZSHDH0zKTiJmE,27692
@@ -50,9 +55,9 @@ singlestoredb/fusion/handlers/workspace.py,sha256=4xN2TFO4yF7KZB2Fcht7IuvoDdAT6f
50
55
  singlestoredb/http/__init__.py,sha256=A_2ZUCCpvRYIA6YDpPy57wL5R1eZ5SfP6I1To5nfJ2s,912
51
56
  singlestoredb/http/connection.py,sha256=X5GEPPOE-rMm17d0-TPhcdxUHibcYl-MZAnPhut8xyo,39956
52
57
  singlestoredb/magics/__init__.py,sha256=lZjkT3Webo9c1EQAzlRCRh6B2pckQH8uvNrrB__abcI,1210
53
- singlestoredb/magics/run_personal.py,sha256=2f7u1T7iblxGzZurHNgNXLrPBvsvPADZKo_RD_IjYuE,1844
54
- singlestoredb/magics/run_shared.py,sha256=SI8dCBRMaGn-xZU7dto4jsAqKBi-Ll14htUsMUSBpJM,1752
55
- singlestoredb/management/__init__.py,sha256=ofNTPCdkZ1dS_aX2aUujd8aMHQi8Lle5Ced0aaO3RH4,269
58
+ singlestoredb/magics/run_personal.py,sha256=Y5lVpJ8vqOyEjtZkip04Hwi4uZ7CQLU5Rd1MrCmpNvs,5222
59
+ singlestoredb/magics/run_shared.py,sha256=czoO4z6gtoq9ek_41efRBRk-XQiHKuHdY0BOdfKkFrc,5130
60
+ singlestoredb/management/__init__.py,sha256=8q7i6-Cr9x-oZ8-NVAvTo_qtfHEndX4wx2g6GMAAgPQ,304
56
61
  singlestoredb/management/billing_usage.py,sha256=9ighjIpcopgIyJOktBYQ6pahBZmWGHOPyyCW4gu9FGs,3735
57
62
  singlestoredb/management/cluster.py,sha256=h75grXSxq4Anr4RxwKxcZW4TkWJ4bFg_ql5iRWCNLdQ,14405
58
63
  singlestoredb/management/export.py,sha256=yR-yZUE9USFrP5OR_5iLFqEc8GLiKDQypSEp08CmT5k,9083
@@ -61,9 +66,9 @@ singlestoredb/management/inference_api.py,sha256=L6eFqaUaPugF_cmrZ4xlArj8CIv25vW
61
66
  singlestoredb/management/job.py,sha256=4-xLWzbE8odQogVVaFer80UEoTAZY1T28VZ9Ug4rbmM,24611
62
67
  singlestoredb/management/manager.py,sha256=V9_PVMpUOj8laKwNFtp4Nd2Taww2Y65TeSRK5ZWzOo0,8922
63
68
  singlestoredb/management/organization.py,sha256=_JvW0Znu5emR5uYGVEcZvakQqftNb_vRhzmkOoPRPfc,5869
64
- singlestoredb/management/region.py,sha256=HnLcWUh7r_aLECliplCDHak4a_F3B7LOSXEYMW66qD0,1611
69
+ singlestoredb/management/region.py,sha256=OIdWqQCDjwey9fPrLZFRPh9tA4M1pMjmzCBYrUHRC0Q,3838
65
70
  singlestoredb/management/utils.py,sha256=QIhZCZSRaDbAG35xu1_n7ihmRXON8swc-gEK2FGYutI,13203
66
- singlestoredb/management/workspace.py,sha256=ze-eE-cO3JCrR3uttVFaBOndDbEE8_qWR2kzOjzbKaY,56234
71
+ singlestoredb/management/workspace.py,sha256=ZtVklRGShucHwpT9qDojXOIPo-jTTbqu657-jnTBh1g,62334
67
72
  singlestoredb/mysql/__init__.py,sha256=olUTAvkiERhDW41JXQMawkg-i0tvBEkoTkII1tt6lxU,4492
68
73
  singlestoredb/mysql/_auth.py,sha256=AugRitoUwgRIDFuJxuAH4MWIAmckY7Ji2pP6r_Ng9dY,8043
69
74
  singlestoredb/mysql/charset.py,sha256=-FlONDS_oAUF5B3mIgeHBPb_SCt4zHD33arUeBNctU0,10510
@@ -115,7 +120,7 @@ singlestoredb/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
115
120
  singlestoredb/tests/empty.sql,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
121
  singlestoredb/tests/local_infile.csv,sha256=sBtqjvfkS9aoOVx8nMXYgYv4rDuT4OuYhqUhNRu0O68,42
117
122
  singlestoredb/tests/test.ipynb,sha256=jrkI2WoSsUA9xQpKTBCHnsDptryQhPdM5QaxfvYRGpg,216
118
- singlestoredb/tests/test.sql,sha256=dfMehVCQ9wObSVTQKyQi-fRFDZeqRxV4Cj8doBCPEFM,17679
123
+ singlestoredb/tests/test.sql,sha256=mErluOEZsN0QH5EuSVR8Ki-NSIpdpR8MStuchec_ZKc,18640
119
124
  singlestoredb/tests/test2.ipynb,sha256=yd1PE1VK-DwiRd6mYS4_0cPBtuVkvcDtycvTwD-YnDo,218
120
125
  singlestoredb/tests/test2.sql,sha256=D4U2GSlOVeo39U8-RMM4YziJzYFfi4Ztm2YXJVJVAS8,37
121
126
  singlestoredb/tests/test_basics.py,sha256=Dw1irrtf3gWN7tqGruSH6uhWi5zkmCpJl6ZMQxMqlf4,48446
@@ -123,11 +128,11 @@ singlestoredb/tests/test_config.py,sha256=63lyIQ2KrvGE6C9403B_4Mc90mX4tp42ys5Bih
123
128
  singlestoredb/tests/test_connection.py,sha256=fvn-kPdeIMI9RGNz0dNk5ZmTCep1amwWQDHYfPdqO60,119699
124
129
  singlestoredb/tests/test_dbapi.py,sha256=IKq5Hcwx8WikASP8_AB5fo3TXv7ryWPCVGonoly00gI,652
125
130
  singlestoredb/tests/test_exceptions.py,sha256=tfr_8X2w1UmG4nkSBzWGB0C7ehrf1GAVgj6_ODaG-TM,1131
126
- singlestoredb/tests/test_ext_func.py,sha256=s1k1cBxQ7vIS1zSrKGkKTgLZE1DT_Rqj-3VNSCSv68I,43261
131
+ singlestoredb/tests/test_ext_func.py,sha256=_YREceW1Llwx9Wcamj0up2IXLuBTnuvQqCFOWphckKI,46271
127
132
  singlestoredb/tests/test_ext_func_data.py,sha256=yTADD93nPxX6_rZXXLZaOWEI_yPvYyir9psn5PK9ctU,47695
128
133
  singlestoredb/tests/test_fusion.py,sha256=7YQ_nOQoV_7yD4OEpJz2Ov-zok-cBFK9IOJ3FgZ0xo0,50593
129
134
  singlestoredb/tests/test_http.py,sha256=RXasTqBWRn__omj0eLFTJYIbZjd0PPdIV2d4Cqz0MC8,8580
130
- singlestoredb/tests/test_management.py,sha256=rzM5xZllXys6OzyFBxOieYSn4kDGCwWuyIkJWsPXvAY,45847
135
+ singlestoredb/tests/test_management.py,sha256=D2-qarTzwWOlBTjL3XTmB76D9gUKmfbd2Gl1vQUQESk,53237
131
136
  singlestoredb/tests/test_plugin.py,sha256=qpO9wmWc62VaijN1sJ97YSYIX7I7Y5C6sY-WzwrutDQ,812
132
137
  singlestoredb/tests/test_results.py,sha256=wg93sujwt-R9_eJCgSCElgAZhLDkIiAo3qPkPydOv78,6582
133
138
  singlestoredb/tests/test_types.py,sha256=jqoAaSjhbgwB3vt0KsTcl7XBWoMMIa0mPFKhEi5bBjo,4500
@@ -136,7 +141,7 @@ singlestoredb/tests/test_udf_returns.py,sha256=k31L6Ir2Xw8MEZ18upuu0p_D_OpbrPAzW
136
141
  singlestoredb/tests/test_vectorstore.py,sha256=anHfp5gQrQy8Iw3Ub4mxFEkaZWahs566OXuKqjpkozM,1554
137
142
  singlestoredb/tests/test_xdict.py,sha256=fqHspoi39nbX3fIDVkkRXcd5H50xdOsSvK0bxAMQnaE,10408
138
143
  singlestoredb/tests/utils.py,sha256=2A2tEdD3t8aXWUnHtAIcFlWrflsz2MlMcCbUDaAG29c,4995
139
- singlestoredb/tests/ext_funcs/__init__.py,sha256=gtyhykoEk8_-il5ukTwvqDu-4D1LgwxMFseYg1wgOHo,14103
144
+ singlestoredb/tests/ext_funcs/__init__.py,sha256=KuA2ACn46O_f_z6gFP1biYm9D-xWDBctCV_IqnHCh6E,14947
140
145
  singlestoredb/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
141
146
  singlestoredb/utils/config.py,sha256=m3Xn6hsbdKyLufSnbokhFJ9Vfaz9Qpkj1IEnIiH9oJQ,24503
142
147
  singlestoredb/utils/convert_rows.py,sha256=A6up7a8Bq-eV2BXdGCotQviqp1Q7XdJ2MA9339hLYVQ,1816
@@ -148,9 +153,9 @@ singlestoredb/utils/results.py,sha256=bJtaUaDiFq26IsPAKZ2FHGB7csMn94EAxLKrP4HaEE
148
153
  singlestoredb/utils/xdict.py,sha256=S9HKgrPrnu_6b7iOwa2KrW8CmU1Uqx0BWdEyogFzWbE,12896
149
154
  sqlx/__init__.py,sha256=aBYiU8DZXCogvWu3yWafOz7bZS5WWwLZXj7oL0dXGyU,85
150
155
  sqlx/magic.py,sha256=JsS9_9aBFaOt91Torm1JPN0c8qB2QmYJmNSKtbSQIY0,3509
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,,
156
+ singlestoredb-1.15.0.dist-info/LICENSE,sha256=Mlq78idURT-9G026aMYswwwnnrLcgzTLuXeAs5hjDLM,11341
157
+ singlestoredb-1.15.0.dist-info/METADATA,sha256=_b9wfex4H3DNup18dBoa2oALthiwvg3Tv5ch29HIpFs,5786
158
+ singlestoredb-1.15.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
159
+ singlestoredb-1.15.0.dist-info/entry_points.txt,sha256=bSLaTWB5zGjpVYPAaI46MkkDup0su-eb3uAhCNYuRV0,48
160
+ singlestoredb-1.15.0.dist-info/top_level.txt,sha256=DfFGz7bM4XrshloiCeTABgylT3BUnS8T5pJam3ewT6Q,19
161
+ singlestoredb-1.15.0.dist-info/RECORD,,