singlestoredb 1.14.2__cp38-abi3-win_amd64.whl → 1.15.0__cp38-abi3-win_amd64.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,7 +1,7 @@
1
- _singlestoredb_accel.pyd,sha256=MaogiX8M7Vi9gkhHL0JN_KgiUjYmjUbXgzzlCfb4vAY,61952
2
- singlestoredb/__init__.py,sha256=NFQVpJ4HpaZ09FGns8WHu4EFEqcI3FQ5Xmo65kb12vA,2331
1
+ _singlestoredb_accel.pyd,sha256=soQJIkAg9kWeqf8-Tbz_Be6O5JymRyojwCzLfoDTLqo,62976
2
+ singlestoredb/__init__.py,sha256=clWiqGSlfnQ2WHAshLofzYKXnj8IcnkkIG5b7Hv7LZs,2347
3
3
  singlestoredb/auth.py,sha256=RmYiH0Wlc2RXc4pTlRMysxtBI445ggCIwojWKC_eDLE,7844
4
- singlestoredb/config.py,sha256=t3aiWi1i3kT5VhEgXca0gwT6591YkZUed-wzvVEBMs0,13424
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=PW-Lai3dFINsNtqrLlyUafWgs1j86qGqaNZpUD9OxVI,2811
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=Zw4mTSzpTxFTdqfrFzdt_8hFptg0PXcrB3TbUMNynyU,5614
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=vFX-7P7aVItK76AxBw-DjLGy0nDV9KzcJYyLsLRCsi0,53455
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=M11xHi9lWquh_pLSpFI89LGE7PhOPQOGqlSPDl48itE,1900
55
- singlestoredb/magics/run_shared.py,sha256=rnKpW4d8CJvD6ehK8jG8FlxuqZvjZl4KocPTsk-23O8,1805
56
- singlestoredb/management/__init__.py,sha256=A66ZnFyX--PsAZ2tvtYUfIUBvVGDBFQsnVc6nGTlX60,277
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=oGoLLS88dE1GmY7GCc0BV7X3f7bWwKQyeXOVBFmK9Pk,1678
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=D9DzpeWU7xFjpj8bBYiXyasjVYVANeYjTzgkz2aKvJQ,57984
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=winJzhZ2W52PcQ1j8X_NNIDRBmEa-xMAYrS_hoUtAP8,18337
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=LhuPz8o3UF7x2LNod5oZ1tlxeLvGDEUE5FnzdsIbSPs,44643
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=PdY_rrMvossP0HGsppN-F0KfP5WuZmDaJcTCjIPONEo,47221
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=8kGNrG2qZVcmaAc4KAatrqZYPjBXtKbOqoG7zAwMtM4,14727
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.14.2.dist-info/LICENSE,sha256=Bojenzui8aPNjlF3w4ojguDP7sTf8vFV_9Gc2UAG1sg,11542
153
- singlestoredb-1.14.2.dist-info/METADATA,sha256=82J9S2a0qPCrJocyKKdv6cXWsGpVvoT_x2cCYuOW9fY,5949
154
- singlestoredb-1.14.2.dist-info/WHEEL,sha256=UyMHzmWA0xVqVPKfTiLs2eN3OWWZUl-kQemNbpIqlKo,100
155
- singlestoredb-1.14.2.dist-info/entry_points.txt,sha256=bSLaTWB5zGjpVYPAaI46MkkDup0su-eb3uAhCNYuRV0,48
156
- singlestoredb-1.14.2.dist-info/top_level.txt,sha256=lA65Vf4qAMfg_s1oG3LEO90h4t1Z-SPDbRqkevI3bSY,40
157
- singlestoredb-1.14.2.dist-info/RECORD,,
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=UyMHzmWA0xVqVPKfTiLs2eN3OWWZUl-kQemNbpIqlKo,100
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,,