python-datastore-sqlalchemy 0.0.2__py3-none-any.whl → 9.0.3__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 python-datastore-sqlalchemy might be problematic. Click here for more details.

@@ -1,15 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-datastore-sqlalchemy
3
- Version: 0.0.2
3
+ Version: 9.0.3
4
4
  Summary: SQLAlchemy dialect for google cloud datastore
5
- Home-page: https://github.com/splasky/python-datastore-sqlalchemy
6
- Author: HY Chang(splasky)
7
- Author-email: hychang.1997.tw@gmail.com
5
+ Author-email: "HY Chang(splasky)" <hychang.1997.tw@gmail.com>
8
6
  License: MIT
9
7
  Project-URL: Documentation, https://github.com/splasky/python-datastore-sqlalchemy/wiki
10
8
  Project-URL: Source, https://github.com/splasky/python-datastore-sqlalchemy
11
9
  Project-URL: Tracker, https://github.com/splasky/python-datastore-sqlalchemy/issues
12
- Keywords: SQLAlchemy GCP Datastore
10
+ Keywords: SQLAlchemy,GCP,Datastore
13
11
  Classifier: Development Status :: 2 - Pre-Alpha
14
12
  Classifier: Intended Audience :: Developers
15
13
  Classifier: Programming Language :: Python
@@ -17,7 +15,7 @@ Classifier: Programming Language :: Python :: 3
17
15
  Classifier: Programming Language :: Python :: Implementation :: CPython
18
16
  Classifier: Topic :: Database :: Front-Ends
19
17
  Classifier: Operating System :: POSIX :: Linux
20
- Requires-Python: >=3.9
18
+ Requires-Python: >=3.10
21
19
  Description-Content-Type: text/markdown
22
20
  License-File: LICENSE
23
21
  Requires-Dist: sqlalchemy<3.0.0,>=1.4.16
@@ -28,49 +26,70 @@ Requires-Dist: google-auth>=2.40.0
28
26
  Requires-Dist: sqlglot>=28.0.0
29
27
  Requires-Dist: pandas>=2.0.0
30
28
  Requires-Dist: requests
31
- Dynamic: author
32
- Dynamic: author-email
33
- Dynamic: classifier
34
- Dynamic: description
35
- Dynamic: description-content-type
36
- Dynamic: home-page
37
- Dynamic: keywords
38
- Dynamic: license
39
29
  Dynamic: license-file
40
- Dynamic: project-url
41
- Dynamic: requires-dist
42
- Dynamic: requires-python
43
- Dynamic: summary
44
30
 
45
- SQLAlchemy dialect for google cloud datastore(firestore mode)
31
+ SQLAlchemy dialect for Google Cloud Datastore in Firestore mode
46
32
  ========================
47
- How to install
48
- ```
49
- python3 setup.py install
50
- ```
51
- or
52
- ```
33
+
34
+ ## Installation
35
+
36
+ Install from PyPI:
37
+ ```bash
53
38
  pip install python-datastore-sqlalchemy
54
39
  ```
55
- How to use
40
+
41
+ Install from a local checkout:
42
+ ```bash
43
+ uv pip install -e .
44
+ ```
45
+
46
+ Runtime dependencies are declared in `pyproject.toml`. `requirements.txt` is not used by this project.
47
+
48
+ ## Usage
49
+
56
50
  ```python
57
- from sqlalchemy import *
58
- from sqlalchemy.engine import create_engine
59
- from sqlalchemy.schema import *
60
- engine = create_engine("datastore://my-project/?database=my-db", credentials='path/to/credentials.json')
61
- conn = engine.connect()
62
- result = conn.execute("SELECT * fro" test_table")
63
- print(result.fetchall())
51
+ from sqlalchemy import create_engine, text
52
+
53
+ engine = create_engine(
54
+ "datastore://my-project/?database=my-db",
55
+ credentials="path/to/credentials.json",
56
+ )
57
+
58
+ with engine.connect() as conn:
59
+ result = conn.execute(text("SELECT * FROM test_table"))
60
+ print(result.fetchall())
64
61
  ```
65
62
 
66
63
  ## Preview
64
+
67
65
  <img src="assets/pie.png">
68
66
 
69
67
  > [!WARNING]
70
68
  > Please note: Not all GQL and SQL syntax has been fully tested. Should you encounter any bugs, please post the relevant query and open an issue on GitHub.
71
69
 
72
70
  ## How to contribute
71
+
73
72
  Feel free to open issues and pull requests on GitHub.
74
73
 
74
+ ## Development
75
+
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.
77
+
78
+ Install the development environment:
79
+ ```bash
80
+ uv sync --locked
81
+ ```
82
+
83
+ Run the test suite:
84
+ ```bash
85
+ uv run pytest
86
+ ```
87
+
88
+ The Datastore-backed tests require the Google Cloud SDK with the `beta` and `cloud-datastore-emulator` components installed. If `gcloud` is not on `PATH`, point the test fixture at it explicitly:
89
+ ```bash
90
+ GCLOUD_PATH=/path/to/google-cloud-sdk/bin/gcloud uv run pytest
91
+ ```
92
+
75
93
  ## Development Notes
76
- - [Develop a SQLAlchemy and it's dialects](https://hackmd.io/lsBW5GCVR82SORyWZ1cssA?view)
94
+
95
+ - [Develop a SQLAlchemy and its dialects](https://hackmd.io/lsBW5GCVR82SORyWZ1cssA?view)
@@ -1,12 +1,12 @@
1
- python_datastore_sqlalchemy-0.0.2.dist-info/licenses/LICENSE,sha256=vcsHP9P3NtGefy7ojTRCgi3w0QqF_igVlmFP5A47YVA,1093
2
- sqlalchemy_datastore/__init__.py,sha256=UmMpE_Sn41BU88qdX5KVvJPH7wMD2SufDBDQ-2cCwNQ,1239
1
+ python_datastore_sqlalchemy-9.0.3.dist-info/licenses/LICENSE,sha256=vcsHP9P3NtGefy7ojTRCgi3w0QqF_igVlmFP5A47YVA,1093
2
+ sqlalchemy_datastore/__init__.py,sha256=ck9dylXykMLrnBFtg62-o0rwU3rZC728LjUHI8Ct-50,1239
3
3
  sqlalchemy_datastore/_helpers.py,sha256=bRvNeMz6QgJMW1M5K-dXksdnURYBZE-NIzt3tue92rg,4854
4
4
  sqlalchemy_datastore/_types.py,sha256=zs-Gr1XPP-UnppzsuWHEmD-wshkuosXM7yGeUIt-VVY,5092
5
5
  sqlalchemy_datastore/base.py,sha256=QpgQ19h9LA2h86TH14w4h_Ilg9_St76qrwD5r3Ln4bA,9322
6
6
  sqlalchemy_datastore/datastore_dbapi.py,sha256=xJVZR0Ymzj1XjB6-UeWQRHRLLYLzlOrjaYOEv3-13lY,94404
7
7
  sqlalchemy_datastore/parse_url.py,sha256=sTeNqBm-V4Dec97R4K264qvG05aUXG7iNFyKNCNkPJ8,10058
8
- python_datastore_sqlalchemy-0.0.2.dist-info/METADATA,sha256=zQgLqKvD-e8nqx-WLy2wGXhDjcOFiUD5ibrASBsXZbs,2471
9
- python_datastore_sqlalchemy-0.0.2.dist-info/WHEEL,sha256=YCfwYGOYMi5Jhw2fU4yNgwErybb2IX5PEwBKV4ZbdBo,91
10
- python_datastore_sqlalchemy-0.0.2.dist-info/entry_points.txt,sha256=h54O-P7HFeCKpoeQ-XSSyP_GVZ1FRAY3gFCS5lkDBIs,77
11
- python_datastore_sqlalchemy-0.0.2.dist-info/top_level.txt,sha256=SE6uZfiwIQaJ1RDBfMm37dm7ZIZoqDcwQ1fDm32x0Rg,21
12
- python_datastore_sqlalchemy-0.0.2.dist-info/RECORD,,
8
+ python_datastore_sqlalchemy-9.0.3.dist-info/METADATA,sha256=QL95yex0OMWwyF1OXSY-_Y0_sDrgvWLnu5bxjhw1k38,2876
9
+ python_datastore_sqlalchemy-9.0.3.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
10
+ python_datastore_sqlalchemy-9.0.3.dist-info/entry_points.txt,sha256=h54O-P7HFeCKpoeQ-XSSyP_GVZ1FRAY3gFCS5lkDBIs,77
11
+ python_datastore_sqlalchemy-9.0.3.dist-info/top_level.txt,sha256=SE6uZfiwIQaJ1RDBfMm37dm7ZIZoqDcwQ1fDm32x0Rg,21
12
+ python_datastore_sqlalchemy-9.0.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (82.0.0)
2
+ Generator: setuptools (83.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.2"
22
+ __version__ = "0.0.3"
23
23
 
24
24
  __all__ = [
25
25
  "__version__",