singlestoredb 1.7.1__cp38-abi3-macosx_10_9_universal2.whl → 1.7.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.

Binary file
singlestoredb/__init__.py CHANGED
@@ -13,7 +13,7 @@ Examples
13
13
 
14
14
  """
15
15
 
16
- __version__ = '1.7.1'
16
+ __version__ = '1.7.2'
17
17
 
18
18
  from typing import Any
19
19
 
@@ -1,7 +1,6 @@
1
1
  import asyncio
2
2
  import textwrap
3
3
  import typing
4
- import urllib.parse
5
4
 
6
5
  from ._config import AppConfig
7
6
  from ._connection_info import ConnectionInfo
@@ -53,8 +52,7 @@ async def run_function_app(
53
52
  def ping() -> str:
54
53
  return 'Success!'
55
54
 
56
- base_path = urllib.parse.urlparse(app_config.base_url).path
57
- app.root_path = base_path
55
+ app.root_path = app_config.base_path
58
56
 
59
57
  config = uvicorn.Config(
60
58
  app,
@@ -7,6 +7,7 @@ from typing import Optional
7
7
  class AppConfig:
8
8
  listen_port: int
9
9
  base_url: str
10
+ base_path: str
10
11
  app_token: Optional[str]
11
12
  user_token: Optional[str]
12
13
  running_interactively: bool
@@ -26,6 +27,7 @@ class AppConfig:
26
27
  def from_env(cls) -> 'AppConfig':
27
28
  port = cls._read_variable('SINGLESTOREDB_APP_LISTEN_PORT')
28
29
  base_url = cls._read_variable('SINGLESTOREDB_APP_BASE_URL')
30
+ base_path = cls._read_variable('SINGLESTOREDB_APP_BASE_PATH')
29
31
 
30
32
  workload_type = os.environ.get('SINGLESTOREDB_WORKLOAD_TYPE')
31
33
  running_interactively = workload_type == 'InteractiveNotebook'
@@ -46,6 +48,7 @@ class AppConfig:
46
48
  return cls(
47
49
  listen_port=int(port),
48
50
  base_url=base_url,
51
+ base_path=base_path,
49
52
  app_token=app_token,
50
53
  user_token=user_token,
51
54
  running_interactively=running_interactively,
@@ -1,5 +1,4 @@
1
1
  import typing
2
- import urllib.parse
3
2
 
4
3
  from ._config import AppConfig
5
4
  from ._process import kill_process_by_port
@@ -7,40 +6,33 @@ from ._stdout_supress import StdoutSuppressor
7
6
  from singlestoredb.apps._connection_info import ConnectionInfo
8
7
 
9
8
  if typing.TYPE_CHECKING:
10
- from plotly.graph_objs import Figure
9
+ from dash import Dash
11
10
 
12
11
 
13
12
  async def run_dashboard_app(
14
- figure: 'Figure',
13
+ app: 'Dash',
15
14
  debug: bool = False,
16
15
  kill_existing_app_server: bool = True,
17
16
  ) -> ConnectionInfo:
18
17
  try:
19
- import dash
18
+ from dash import Dash
20
19
  except ImportError:
21
20
  raise ImportError('package dash is required to run dashboards')
22
21
 
23
- try:
24
- from plotly.graph_objs import Figure
25
- except ImportError:
26
- raise ImportError('package dash is required to run dashboards')
27
-
28
- if not isinstance(figure, Figure):
29
- raise TypeError('figure is not an instance of plotly Figure')
22
+ if not isinstance(app, Dash):
23
+ raise TypeError('app is not an instance of Dash App')
30
24
 
31
25
  app_config = AppConfig.from_env()
32
26
 
33
27
  if kill_existing_app_server:
34
28
  kill_process_by_port(app_config.listen_port)
35
29
 
36
- base_path = urllib.parse.urlparse(app_config.base_url).path
37
-
38
- app = dash.Dash(requests_pathname_prefix=base_path)
39
- app.layout = dash.html.Div(
40
- [
41
- dash.dcc.Graph(figure=figure),
42
- ],
43
- )
30
+ if app.config.requests_pathname_prefix is None or \
31
+ app.config.requests_pathname_prefix != app_config.base_path:
32
+ raise RuntimeError('''
33
+ requests_pathname_prefix of the Dash App is invalid. Please set
34
+ requests_pathname_prefix=os.environ['SINGLESTOREDB_APP_BASE_PATH']
35
+ while initializing the Dash App and retry''')
44
36
 
45
37
  with StdoutSuppressor():
46
38
  app.run(
@@ -1432,8 +1432,6 @@ class TestConnection(unittest.TestCase):
1432
1432
  conn.close()
1433
1433
 
1434
1434
  def test_alltypes_polars(self):
1435
- self.skipTest('Polars API needs to be fixed')
1436
-
1437
1435
  if self.conn.driver in ['http', 'https']:
1438
1436
  self.skipTest('Data API does not surface unsigned int information')
1439
1437
 
@@ -1576,8 +1574,6 @@ class TestConnection(unittest.TestCase):
1576
1574
  conn.close()
1577
1575
 
1578
1576
  def test_alltypes_no_nulls_polars(self):
1579
- self.skipTest('Polars API needs to be fixed')
1580
-
1581
1577
  if self.conn.driver in ['http', 'https']:
1582
1578
  self.skipTest('Data API does not surface unsigned int information')
1583
1579
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: singlestoredb
3
- Version: 1.7.1
3
+ Version: 1.7.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
@@ -1,13 +1,13 @@
1
- _singlestoredb_accel.abi3.so,sha256=OqPy-UWGebajD1O4XJtNQFeGxAIFeEs8cWG2uO5C9NU,206633
2
- singlestoredb-1.7.1.dist-info/RECORD,,
3
- singlestoredb-1.7.1.dist-info/LICENSE,sha256=Mlq78idURT-9G026aMYswwwnnrLcgzTLuXeAs5hjDLM,11341
4
- singlestoredb-1.7.1.dist-info/WHEEL,sha256=_VEguvlLpUd-c8RbFMA4yMIVNMBv2LhpxYLCEQ-Bogk,113
5
- singlestoredb-1.7.1.dist-info/entry_points.txt,sha256=bSLaTWB5zGjpVYPAaI46MkkDup0su-eb3uAhCNYuRV0,48
6
- singlestoredb-1.7.1.dist-info/top_level.txt,sha256=SDtemIXf-Kp-_F2f_S6x0db33cHGOILdAEsIQZe2LZc,35
7
- singlestoredb-1.7.1.dist-info/METADATA,sha256=Osc4yfUZBS_Ogzp09d0ZuaShEYrjM0Ps7yIBeh785JY,5570
1
+ _singlestoredb_accel.abi3.so,sha256=jjAGCvt-P8Qfp6RgPMQT1hsiClTbYyLJgua3Kfq1KsI,206633
2
+ singlestoredb-1.7.2.dist-info/RECORD,,
3
+ singlestoredb-1.7.2.dist-info/LICENSE,sha256=Mlq78idURT-9G026aMYswwwnnrLcgzTLuXeAs5hjDLM,11341
4
+ singlestoredb-1.7.2.dist-info/WHEEL,sha256=_VEguvlLpUd-c8RbFMA4yMIVNMBv2LhpxYLCEQ-Bogk,113
5
+ singlestoredb-1.7.2.dist-info/entry_points.txt,sha256=bSLaTWB5zGjpVYPAaI46MkkDup0su-eb3uAhCNYuRV0,48
6
+ singlestoredb-1.7.2.dist-info/top_level.txt,sha256=SDtemIXf-Kp-_F2f_S6x0db33cHGOILdAEsIQZe2LZc,35
7
+ singlestoredb-1.7.2.dist-info/METADATA,sha256=bqqIW18aA4flY_DhtxVKPVYGbVTUJPNXzpxoxSfrZYE,5570
8
8
  singlestoredb/auth.py,sha256=u8D9tpKzrqa4ssaHjyZnGDX1q8XBpGtuoOkTkSv7B28,7599
9
9
  singlestoredb/config.py,sha256=NtONv4Etpraoy1nenHqRAS08xHJZmho00J95uDjLxQM,12290
10
- singlestoredb/__init__.py,sha256=MbDErI01usfGrRDuim_0q51kppgXnuix5LIRnqnkQAk,1634
10
+ singlestoredb/__init__.py,sha256=UjufrohnvC56tM8JigZbe1K0NDetQIji_savOS-HmXc,1634
11
11
  singlestoredb/types.py,sha256=FIqO1A7e0Gkk7ITmIysBy-P5S--ItbMSlYvblzqGS30,9969
12
12
  singlestoredb/connection.py,sha256=x5lINBa9kB_GoEEeL2uUZi9G8pNwKuFtA1uqJirR6HI,45352
13
13
  singlestoredb/pytest.py,sha256=OyF3BO9mgxenifYhOihnzGk8WzCJ_zN5_mxe8XyFPOc,9074
@@ -30,7 +30,7 @@ singlestoredb/tests/test_fusion.py,sha256=W79zv1XcPiiYIYAGtUxLadAMwcJlo2QMmGgU_6
30
30
  singlestoredb/tests/test_plugin.py,sha256=qpO9wmWc62VaijN1sJ97YSYIX7I7Y5C6sY-WzwrutDQ,812
31
31
  singlestoredb/tests/test_basics.py,sha256=1__lEF7FmQF4_pFi5R53TtJidtQznmQ592Ci6aDVgrc,46368
32
32
  singlestoredb/tests/test_ext_func.py,sha256=OWd-CJ1Owhx72nikSWWEF2EQFCJk7vEXZM2Oy9EbYQo,37357
33
- singlestoredb/tests/test_connection.py,sha256=8F3Q0Q9dJ0Ywa-gb6Z3yH_nY4OECY83TKr9OVM3g17o,119809
33
+ singlestoredb/tests/test_connection.py,sha256=fvn-kPdeIMI9RGNz0dNk5ZmTCep1amwWQDHYfPdqO60,119699
34
34
  singlestoredb/tests/test_ext_func_data.py,sha256=yTADD93nPxX6_rZXXLZaOWEI_yPvYyir9psn5PK9ctU,47695
35
35
  singlestoredb/tests/test_exceptions.py,sha256=tfr_8X2w1UmG4nkSBzWGB0C7ehrf1GAVgj6_ODaG-TM,1131
36
36
  singlestoredb/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -122,12 +122,12 @@ singlestoredb/functions/ext/rowdat_1.py,sha256=JgKRsVSQYczFD6cmo2xLilbNPYpyLL2tP
122
122
  singlestoredb/notebook/__init__.py,sha256=v0j1E3MFAtaC8wTrR-F7XY0nytUvQ4XpYhVXddv2xA0,533
123
123
  singlestoredb/notebook/_objects.py,sha256=MkB1eowEq5SQXFHY00xAKAyyeLqHu_uaZiA20BCJPaE,8043
124
124
  singlestoredb/notebook/_portal.py,sha256=DLerIEQmAUymtYcx8RBeuYJ4pJSy_xl1K6t1Oc-eTf8,9698
125
- singlestoredb/apps/_dashboards.py,sha256=ozee2Tnq8YNdvnxOzltVtukEOckFqp_1Xr8p3idCR9A,1554
125
+ singlestoredb/apps/_dashboards.py,sha256=_03fI-GJannamA5lxLvIoC6Mim-H1jTRuI8-dw_P--k,1474
126
126
  singlestoredb/apps/__init__.py,sha256=uuEH2WZ1ROpmkMBBdz1tSkQSdYR9blXXU2nn7E5P4qQ,118
127
- singlestoredb/apps/_cloud_functions.py,sha256=wlZH9M-rMTMltpB6M-Iv3dKyT9giR8oXoa6bAOizPhY,2777
127
+ singlestoredb/apps/_cloud_functions.py,sha256=NJJu0uJsK9TjY3yZjgftpFPR-ga-FrOyaiDD4jWFCtE,2704
128
128
  singlestoredb/apps/_uvicorn_util.py,sha256=rEK4nEmq5hbpRgsmK16UVlxe2DyQSq7C5w5WZSp0kX8,962
129
129
  singlestoredb/apps/_process.py,sha256=G37fk6bzIxzhfEqp2aJBk3JCij-T2HFtTd078k5Xq9I,944
130
130
  singlestoredb/apps/_stdout_supress.py,sha256=8s9zMIIRPpeu44yluJFc_0VueAxZDmr9QVGT6TGiFeY,659
131
- singlestoredb/apps/_config.py,sha256=0rRp6iqjnhSlBQRWO4wFpTxM-sOno9kVOz21NAG0wqA,1996
131
+ singlestoredb/apps/_config.py,sha256=w21kH0jMJ0_cP_VgAxHhKiLW5Iyrr7xzUIxRmfe_fqs,2118
132
132
  singlestoredb/apps/_connection_info.py,sha256=gQPYzJrBQUEH76zVTkxJ7FAypNoN2T7GYHVOSgJ7Q8Q,175
133
133
  singlestoredb/alchemy/__init__.py,sha256=dXRThusYrs_9GjrhPOw0-vw94in_T8yY9jE7SGCqiQk,2523