python-datastore-sqlalchemy 0.0.3__py3-none-any.whl → 0.0.4__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-datastore-sqlalchemy
3
- Version: 0.0.3
3
+ Version: 0.0.4
4
4
  Summary: SQLAlchemy dialect for google cloud datastore
5
5
  Author-email: "HY Chang(splasky)" <hychang.1997.tw@gmail.com>
6
6
  License: MIT
@@ -12,10 +12,13 @@ Classifier: Development Status :: 2 - Pre-Alpha
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: Programming Language :: Python
14
14
  Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
15
18
  Classifier: Programming Language :: Python :: Implementation :: CPython
16
19
  Classifier: Topic :: Database :: Front-Ends
17
20
  Classifier: Operating System :: POSIX :: Linux
18
- Requires-Python: >=3.10
21
+ Requires-Python: >=3.11
19
22
  Description-Content-Type: text/markdown
20
23
  License-File: LICENSE
21
24
  Requires-Dist: sqlalchemy<3.0.0,>=1.4.16
@@ -73,7 +76,7 @@ Feel free to open issues and pull requests on GitHub.
73
76
 
74
77
  ## Development
75
78
 
76
- This project supports Python 3.10 and newer. It uses a uv-managed virtual environment by default. The lockfile is tracked so local development and CI use the same dependency resolution.
79
+ This project supports Python 3.11 and newer. It uses a uv-managed virtual environment by default. The lockfile is tracked so local development and CI use the same dependency resolution.
77
80
 
78
81
  Install the development environment:
79
82
  ```bash
@@ -0,0 +1,12 @@
1
+ python_datastore_sqlalchemy-0.0.4.dist-info/licenses/LICENSE,sha256=vcsHP9P3NtGefy7ojTRCgi3w0QqF_igVlmFP5A47YVA,1093
2
+ sqlalchemy_datastore/__init__.py,sha256=8-KfLPXIwY4T4zjy9OvGRterN5imPk9om7MaWi5Nf_U,1239
3
+ sqlalchemy_datastore/_helpers.py,sha256=bRvNeMz6QgJMW1M5K-dXksdnURYBZE-NIzt3tue92rg,4854
4
+ sqlalchemy_datastore/_types.py,sha256=zs-Gr1XPP-UnppzsuWHEmD-wshkuosXM7yGeUIt-VVY,5092
5
+ sqlalchemy_datastore/base.py,sha256=jvhe2WYFIRwtYpKlEaTaKH3R7Tf_hwXgA5s7zO8orL0,9560
6
+ sqlalchemy_datastore/datastore_dbapi.py,sha256=xJVZR0Ymzj1XjB6-UeWQRHRLLYLzlOrjaYOEv3-13lY,94404
7
+ sqlalchemy_datastore/parse_url.py,sha256=sTeNqBm-V4Dec97R4K264qvG05aUXG7iNFyKNCNkPJ8,10058
8
+ python_datastore_sqlalchemy-0.0.4.dist-info/METADATA,sha256=OLfx47cI2pZzRbAyvUIPU5uV148TBA4ixHXurjgTRFM,3029
9
+ python_datastore_sqlalchemy-0.0.4.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
10
+ python_datastore_sqlalchemy-0.0.4.dist-info/entry_points.txt,sha256=h54O-P7HFeCKpoeQ-XSSyP_GVZ1FRAY3gFCS5lkDBIs,77
11
+ python_datastore_sqlalchemy-0.0.4.dist-info/top_level.txt,sha256=SE6uZfiwIQaJ1RDBfMm37dm7ZIZoqDcwQ1fDm32x0Rg,21
12
+ python_datastore_sqlalchemy-0.0.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (83.0.0)
2
+ Generator: setuptools (84.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -19,7 +19,7 @@
19
19
 
20
20
  from .base import CloudDatastoreDialect
21
21
 
22
- __version__ = "0.0.3"
22
+ __version__ = "0.0.4"
23
23
 
24
24
  __all__ = [
25
25
  "__version__",
@@ -20,6 +20,7 @@ import logging
20
20
  from typing import Any, List, Optional
21
21
 
22
22
  from google.cloud import firestore_admin_v1
23
+ from google.cloud.datastore.query import PropertyFilter
23
24
  from google.oauth2 import service_account
24
25
  from sqlalchemy import exc
25
26
  from sqlalchemy.engine import Connection, default
@@ -54,6 +55,7 @@ class CloudDatastoreDialect(default.DefaultDialect):
54
55
  supports_unicode_binds = True
55
56
  returns_unicode_strings = True
56
57
  description_encoding = None
58
+ supports_statement_cache = False
57
59
 
58
60
  # JSON support - required for SQLAlchemy JSON type
59
61
  _json_serializer = None
@@ -88,10 +90,15 @@ class CloudDatastoreDialect(default.DefaultDialect):
88
90
  self._client = None
89
91
 
90
92
  @classmethod
91
- def dbapi(cls):
93
+ def import_dbapi(cls):
92
94
  """Return the DBAPI 2.0 driver."""
93
95
  return datastore_dbapi
94
96
 
97
+ @classmethod
98
+ def dbapi(cls):
99
+ """Return the DBAPI 2.0 driver."""
100
+ return cls.import_dbapi()
101
+
95
102
  def do_ping(self, dbapi_connection):
96
103
  """Performs a simple operation to check if the connection is still alive."""
97
104
  try:
@@ -212,7 +219,7 @@ class CloudDatastoreDialect(default.DefaultDialect):
212
219
  """Retrieve column information from the database."""
213
220
  client = self._client
214
221
  query = client.query(kind="__Stat_PropertyType_PropertyName_Kind__")
215
- query.add_filter("kind_name", "=", table_name)
222
+ query.add_filter(filter=PropertyFilter("kind_name", "=", table_name))
216
223
  properties = list(query.fetch())
217
224
 
218
225
  return [
@@ -1,12 +0,0 @@
1
- python_datastore_sqlalchemy-0.0.3.dist-info/licenses/LICENSE,sha256=vcsHP9P3NtGefy7ojTRCgi3w0QqF_igVlmFP5A47YVA,1093
2
- sqlalchemy_datastore/__init__.py,sha256=ck9dylXykMLrnBFtg62-o0rwU3rZC728LjUHI8Ct-50,1239
3
- sqlalchemy_datastore/_helpers.py,sha256=bRvNeMz6QgJMW1M5K-dXksdnURYBZE-NIzt3tue92rg,4854
4
- sqlalchemy_datastore/_types.py,sha256=zs-Gr1XPP-UnppzsuWHEmD-wshkuosXM7yGeUIt-VVY,5092
5
- sqlalchemy_datastore/base.py,sha256=QpgQ19h9LA2h86TH14w4h_Ilg9_St76qrwD5r3Ln4bA,9322
6
- sqlalchemy_datastore/datastore_dbapi.py,sha256=xJVZR0Ymzj1XjB6-UeWQRHRLLYLzlOrjaYOEv3-13lY,94404
7
- sqlalchemy_datastore/parse_url.py,sha256=sTeNqBm-V4Dec97R4K264qvG05aUXG7iNFyKNCNkPJ8,10058
8
- python_datastore_sqlalchemy-0.0.3.dist-info/METADATA,sha256=c0LkBk_cbi_kkQJTMCbgha4aTUxxqhK5IzW08o3Bro0,2876
9
- python_datastore_sqlalchemy-0.0.3.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
10
- python_datastore_sqlalchemy-0.0.3.dist-info/entry_points.txt,sha256=h54O-P7HFeCKpoeQ-XSSyP_GVZ1FRAY3gFCS5lkDBIs,77
11
- python_datastore_sqlalchemy-0.0.3.dist-info/top_level.txt,sha256=SE6uZfiwIQaJ1RDBfMm37dm7ZIZoqDcwQ1fDm32x0Rg,21
12
- python_datastore_sqlalchemy-0.0.3.dist-info/RECORD,,