A simple Google DataStore client
Project description
Simple DataStore Client
A simple Google DataStore client that exposes 3 functions on the DatastoreClient
class.
class DatastoreClient:
def __init__(self, namespace: str=None, **kwargs) -> None:
self.client = Client(namespace=namespace, **kwargs)
def set_key(
self,
entity_name: str,
key_name: str,
**properties: Any,
) -> None:
...
def get_key(
self,
entity_name: str,
key_name: str,
) -> Optional[Entity]:
...
def query_entity(
self,
entity_name: str,
*query_filters: Tuple[str, str, Any],
projection: List[str]=None,
limit: Optional[int]=None,
) -> Iterator:
...
Examples
Changing the namespace
You can set the namespace
for the client by passing it in to the constructor
from datastore_client.client import DatastoreClient
client = DatastoreClient(namespace='namespace_A')
The following will change the namespace for all subsequent function calls.
from datastore_client.client import DatastoreClient
client = DatastoreClient()
client.client.namespace = 'specific_namespace'
set_key
from datastore_client.client import DatastoreClient
client = DatastoreClient()
client.set_key(
entity_name=RECHARGE_NOTES_ENTITY,
key_name=note_key,
username=username,
reference=reference,
note=notes,
)
# This can also be used in batch mode
with client.batch_update():
client.set_key(...)
client.set_key(...)
# Both key updates will be done when the with block exits
get_key
from datastore_client.client import DatastoreClient
client = DatastoreClient()
client.get_key(LOGIN_ENTITY, username)
query_entity
from datastore_client.client import DatastoreClient
client = DatastoreClient()
product_list = list(client.query_entity(
PRODUCT_ENTITY,
('network', '=', network_name),
('product_type', '=', product_code),
('bundle_size', '=', denomination),
projection=['id'],
limit=1,
))
print(product_list[0]['id'])
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file datastore_client-0.0.10.tar.gz
.
File metadata
- Download URL: datastore_client-0.0.10.tar.gz
- Upload date:
- Size: 2.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.9.11 Darwin/21.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e33ebb0fa8011869a60f35c8f8b6c3ae08a7922d0025ab97e81c37a0aeeba291 |
|
MD5 | 3f09de169e1cbf2149f460e9eb24c98d |
|
BLAKE2b-256 | 02532e12df877fa317be42007812569a4cc2e960b8bc62f73778d5c82eee47a4 |
File details
Details for the file datastore_client-0.0.10-py3-none-any.whl
.
File metadata
- Download URL: datastore_client-0.0.10-py3-none-any.whl
- Upload date:
- Size: 4.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.9.11 Darwin/21.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7edfa701b8b465afcc1832c64adce979cc177c8f66897635975a64019571cc6 |
|
MD5 | 53464f23e275fb81545b0bc237a037e5 |
|
BLAKE2b-256 | c7e6a86ae6ae50c5be1d9694525c3b9a54c9597f49db69e70a34447b2b5491b5 |