singlestoredb 1.0.1__tar.gz → 1.0.2__tar.gz

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.

Files changed (117) hide show
  1. {singlestoredb-1.0.1/singlestoredb.egg-info → singlestoredb-1.0.2}/PKG-INFO +2 -18
  2. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/setup.cfg +1 -1
  3. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/__init__.py +1 -1
  4. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/functions/ext/asgi.py +1 -1
  5. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/management/__init__.py +1 -0
  6. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/management/manager.py +7 -3
  7. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/management/workspace.py +18 -2
  8. {singlestoredb-1.0.1 → singlestoredb-1.0.2/singlestoredb.egg-info}/PKG-INFO +2 -18
  9. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/LICENSE +0 -0
  10. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/README.md +0 -0
  11. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/accel.c +0 -0
  12. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/setup.py +0 -0
  13. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/alchemy/__init__.py +0 -0
  14. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/auth.py +0 -0
  15. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/config.py +0 -0
  16. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/connection.py +0 -0
  17. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/converters.py +0 -0
  18. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/exceptions.py +0 -0
  19. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/functions/__init__.py +0 -0
  20. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/functions/decorator.py +0 -0
  21. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/functions/dtypes.py +0 -0
  22. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/functions/ext/__init__.py +0 -0
  23. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/functions/ext/arrow.py +0 -0
  24. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/functions/ext/json.py +0 -0
  25. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/functions/ext/rowdat_1.py +0 -0
  26. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/functions/signature.py +0 -0
  27. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/fusion/__init__.py +0 -0
  28. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/fusion/graphql.py +0 -0
  29. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/fusion/handler.py +0 -0
  30. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/fusion/handlers/__init__.py +0 -0
  31. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/fusion/handlers/stage.py +0 -0
  32. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/fusion/handlers/utils.py +0 -0
  33. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/fusion/handlers/workspace.py +0 -0
  34. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/fusion/registry.py +0 -0
  35. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/fusion/result.py +0 -0
  36. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/http/__init__.py +0 -0
  37. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/http/connection.py +0 -0
  38. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/management/billing_usage.py +0 -0
  39. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/management/cluster.py +0 -0
  40. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/management/organization.py +0 -0
  41. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/management/region.py +0 -0
  42. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/management/utils.py +0 -0
  43. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/__init__.py +0 -0
  44. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/_auth.py +0 -0
  45. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/charset.py +0 -0
  46. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/connection.py +0 -0
  47. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/constants/CLIENT.py +0 -0
  48. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/constants/COMMAND.py +0 -0
  49. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/constants/CR.py +0 -0
  50. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/constants/ER.py +0 -0
  51. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/constants/FIELD_TYPE.py +0 -0
  52. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/constants/FLAG.py +0 -0
  53. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/constants/SERVER_STATUS.py +0 -0
  54. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/constants/__init__.py +0 -0
  55. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/converters.py +0 -0
  56. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/cursors.py +0 -0
  57. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/err.py +0 -0
  58. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/optionfile.py +0 -0
  59. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/protocol.py +0 -0
  60. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/__init__.py +0 -0
  61. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/base.py +0 -0
  62. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/conftest.py +0 -0
  63. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/test_DictCursor.py +0 -0
  64. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/test_SSCursor.py +0 -0
  65. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/test_basic.py +0 -0
  66. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/test_connection.py +0 -0
  67. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/test_converters.py +0 -0
  68. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/test_cursor.py +0 -0
  69. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/test_err.py +0 -0
  70. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/test_issues.py +0 -0
  71. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/test_load_local.py +0 -0
  72. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/test_nextset.py +0 -0
  73. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/test_optionfile.py +0 -0
  74. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/thirdparty/__init__.py +0 -0
  75. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/__init__.py +0 -0
  76. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/capabilities.py +0 -0
  77. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/dbapi20.py +0 -0
  78. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_capabilities.py +0 -0
  79. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_dbapi20.py +0 -0
  80. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_nonstandard.py +0 -0
  81. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/mysql/times.py +0 -0
  82. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/pytest.py +0 -0
  83. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/__init__.py +0 -0
  84. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/empty.sql +0 -0
  85. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/ext_funcs/__init__.py +0 -0
  86. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/local_infile.csv +0 -0
  87. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test.sql +0 -0
  88. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test2.sql +0 -0
  89. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_basics.py +0 -0
  90. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_config.py +0 -0
  91. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_connection.py +0 -0
  92. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_dbapi.py +0 -0
  93. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_exceptions.py +0 -0
  94. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_ext_func.py +0 -0
  95. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_ext_func_data.py +0 -0
  96. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_fusion.py +0 -0
  97. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_http.py +0 -0
  98. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_management.py +0 -0
  99. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_plugin.py +0 -0
  100. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_results.py +0 -0
  101. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_types.py +0 -0
  102. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_udf.py +0 -0
  103. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/test_xdict.py +0 -0
  104. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/tests/utils.py +0 -0
  105. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/types.py +0 -0
  106. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/utils/__init__.py +0 -0
  107. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/utils/config.py +0 -0
  108. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/utils/convert_rows.py +0 -0
  109. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/utils/debug.py +0 -0
  110. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/utils/mogrify.py +0 -0
  111. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/utils/results.py +0 -0
  112. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb/utils/xdict.py +0 -0
  113. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb.egg-info/SOURCES.txt +0 -0
  114. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb.egg-info/dependency_links.txt +0 -0
  115. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb.egg-info/entry_points.txt +0 -0
  116. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb.egg-info/requires.txt +0 -0
  117. {singlestoredb-1.0.1 → singlestoredb-1.0.2}/singlestoredb.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: singlestoredb
3
- Version: 1.0.1
3
+ Version: 1.0.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
@@ -13,32 +13,16 @@ Classifier: Programming Language :: Python :: 3 :: Only
13
13
  Classifier: Topic :: Database
14
14
  Requires-Python: >=3.8
15
15
  Description-Content-Type: text/markdown
16
- License-File: LICENSE
17
- Requires-Dist: PyJWT
18
- Requires-Dist: build
19
- Requires-Dist: parsimonious
20
- Requires-Dist: requests
21
- Requires-Dist: setuptools
22
- Requires-Dist: sqlparams
23
- Requires-Dist: wheel
24
16
  Provides-Extra: dataframe
25
- Requires-Dist: ibis-singlestoredb; extra == "dataframe"
26
17
  Provides-Extra: dbt
27
- Requires-Dist: dbt-singlestore; extra == "dbt"
28
18
  Provides-Extra: ed22519
29
- Requires-Dist: PyNaCl>=1.4.0; extra == "ed22519"
30
19
  Provides-Extra: gssapi
31
- Requires-Dist: gssapi; extra == "gssapi"
32
20
  Provides-Extra: ibis
33
- Requires-Dist: ibis-singlestoredb; extra == "ibis"
34
21
  Provides-Extra: kerberos
35
- Requires-Dist: gssapi; extra == "kerberos"
36
22
  Provides-Extra: pytest
37
- Requires-Dist: pytest; extra == "pytest"
38
23
  Provides-Extra: rsa
39
- Requires-Dist: cryptography; extra == "rsa"
40
24
  Provides-Extra: sqlalchemy
41
- Requires-Dist: sqlalchemy-singlestoredb>=1.0.0; extra == "sqlalchemy"
25
+ License-File: LICENSE
42
26
 
43
27
  # <img src="https://github.com/singlestore-labs/singlestoredb-python/blob/main/resources/singlestore-logo.png" height="60" valign="middle"/> SingleStoreDB Python SDK
44
28
 
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = singlestoredb
3
- version = 1.0.1
3
+ version = 1.0.2
4
4
  description = Interface to the SingleStoreDB database and workspace management APIs
5
5
  long_description = file: README.md
6
6
  long_description_content_type = text/markdown
@@ -13,7 +13,7 @@ Examples
13
13
 
14
14
  """
15
15
 
16
- __version__ = '1.0.1'
16
+ __version__ = '1.0.2'
17
17
 
18
18
  from typing import Any
19
19
 
@@ -18,7 +18,7 @@ An example of starting a server is shown below.
18
18
 
19
19
  Example
20
20
  -------
21
- $ SINGLESTOREDB_EXT_FUNCTIONS='myfuncs.[percentage_90,percentage_95]' \
21
+ $ SINGLESTOREDB_EXT_FUNCTIONS='myfuncs.[percentile_90,percentile_95]' \
22
22
  uvicorn --factory singlestoredb.functions.ext:create_app
23
23
 
24
24
  '''
@@ -2,4 +2,5 @@
2
2
  from .cluster import manage_cluster
3
3
  from .manager import get_organization
4
4
  from .manager import get_token
5
+ from .workspace import get_secret
5
6
  from .workspace import manage_workspaces
@@ -57,14 +57,15 @@ class Manager(object):
57
57
  base_url: Optional[str] = None, *, organization_id: Optional[str] = None,
58
58
  ):
59
59
  from .. import __version__ as client_version
60
- access_token = (
60
+ new_access_token = (
61
61
  access_token or get_token()
62
62
  )
63
- if not access_token:
63
+ if not new_access_token:
64
64
  raise ManagementError(msg='No management token was configured.')
65
+ self._is_jwt = not access_token and new_access_token and is_jwt(new_access_token)
65
66
  self._sess = requests.Session()
66
67
  self._sess.headers.update({
67
- 'Authorization': f'Bearer {access_token}',
68
+ 'Authorization': f'Bearer {new_access_token}',
68
69
  'Content-Type': 'application/json',
69
70
  'Accept': 'application/json',
70
71
  'User-Agent': f'SingleStoreDB-Python/{client_version}',
@@ -116,6 +117,9 @@ class Manager(object):
116
117
  **kwargs: Any,
117
118
  ) -> requests.Response:
118
119
  """Perform HTTP request."""
120
+ # Refresh the JWT as needed
121
+ if self._is_jwt:
122
+ self._sess.headers.update({'Authorization': f'Bearer {get_token()}'})
119
123
  return getattr(self._sess, method.lower())(
120
124
  urljoin(self._base_url, path), *args, **kwargs,
121
125
  )
@@ -7,6 +7,7 @@ import glob
7
7
  import io
8
8
  import os
9
9
  import re
10
+ import socket
10
11
  import time
11
12
  from typing import Any
12
13
  from typing import BinaryIO
@@ -31,6 +32,11 @@ from .utils import ttl_property
31
32
  from .utils import vars_to_str
32
33
 
33
34
 
35
+ def get_secret(name: str) -> str:
36
+ """Get a secret from the organization."""
37
+ return manage_workspaces().organization.get_secret(name).value
38
+
39
+
34
40
  class StageObject(object):
35
41
  """
36
42
  Stage file / folder object.
@@ -1334,7 +1340,7 @@ class WorkspaceGroup(object):
1334
1340
  def create_workspace(
1335
1341
  self, name: str, size: Optional[str] = None,
1336
1342
  wait_on_active: bool = False, wait_interval: int = 10,
1337
- wait_timeout: int = 600,
1343
+ wait_timeout: int = 600, add_endpoint_to_firewall_ranges: bool = True,
1338
1344
  ) -> Workspace:
1339
1345
  """
1340
1346
  Create a new workspace.
@@ -1352,6 +1358,9 @@ class WorkspaceGroup(object):
1352
1358
  if wait=True
1353
1359
  wait_interval : int, optional
1354
1360
  Number of seconds between each polling interval
1361
+ add_endpoint_to_firewall_ranges : bool, optional
1362
+ Should the workspace endpoint be added to the workspace group
1363
+ firewall ranges?
1355
1364
 
1356
1365
  Returns
1357
1366
  -------
@@ -1362,11 +1371,18 @@ class WorkspaceGroup(object):
1362
1371
  raise ManagementError(
1363
1372
  msg='No workspace manager is associated with this object.',
1364
1373
  )
1365
- return self._manager.create_workspace(
1374
+
1375
+ out = self._manager.create_workspace(
1366
1376
  name=name, workspace_group=self, size=size, wait_on_active=wait_on_active,
1367
1377
  wait_interval=wait_interval, wait_timeout=wait_timeout,
1368
1378
  )
1369
1379
 
1380
+ if add_endpoint_to_firewall_ranges and out.endpoint is not None:
1381
+ ip_address = '{}/32'.format(socket.gethostbyname(out.endpoint))
1382
+ self.update(firewall_ranges=self.firewall_ranges+[ip_address])
1383
+
1384
+ return out
1385
+
1370
1386
  @property
1371
1387
  def workspaces(self) -> NamedList[Workspace]:
1372
1388
  """Return a list of available workspaces."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: singlestoredb
3
- Version: 1.0.1
3
+ Version: 1.0.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
@@ -13,32 +13,16 @@ Classifier: Programming Language :: Python :: 3 :: Only
13
13
  Classifier: Topic :: Database
14
14
  Requires-Python: >=3.8
15
15
  Description-Content-Type: text/markdown
16
- License-File: LICENSE
17
- Requires-Dist: PyJWT
18
- Requires-Dist: build
19
- Requires-Dist: parsimonious
20
- Requires-Dist: requests
21
- Requires-Dist: setuptools
22
- Requires-Dist: sqlparams
23
- Requires-Dist: wheel
24
16
  Provides-Extra: dataframe
25
- Requires-Dist: ibis-singlestoredb; extra == "dataframe"
26
17
  Provides-Extra: dbt
27
- Requires-Dist: dbt-singlestore; extra == "dbt"
28
18
  Provides-Extra: ed22519
29
- Requires-Dist: PyNaCl>=1.4.0; extra == "ed22519"
30
19
  Provides-Extra: gssapi
31
- Requires-Dist: gssapi; extra == "gssapi"
32
20
  Provides-Extra: ibis
33
- Requires-Dist: ibis-singlestoredb; extra == "ibis"
34
21
  Provides-Extra: kerberos
35
- Requires-Dist: gssapi; extra == "kerberos"
36
22
  Provides-Extra: pytest
37
- Requires-Dist: pytest; extra == "pytest"
38
23
  Provides-Extra: rsa
39
- Requires-Dist: cryptography; extra == "rsa"
40
24
  Provides-Extra: sqlalchemy
41
- Requires-Dist: sqlalchemy-singlestoredb>=1.0.0; extra == "sqlalchemy"
25
+ License-File: LICENSE
42
26
 
43
27
  # <img src="https://github.com/singlestore-labs/singlestoredb-python/blob/main/resources/singlestore-logo.png" height="60" valign="middle"/> SingleStoreDB Python SDK
44
28
 
File without changes
File without changes
File without changes
File without changes