Key-Value Model for Detabase
Project description
Key-Value Model for Detabase
API
constructor
class KVModel(dict)
example:
from kv_deta import KVModel
class Example(KVModel):
class Config:
deta_key = DETA_BASE_KEY
# or
deta = Deta(DETA_BASE_KEY)
table_name = "my_kv_table" # optional
hash = my_hash_function # default lambda x: hashlib.sha256(str(x).encode('utf8')).hexdigest()
kv = Example({"key":"value"})
update
kv.update({"k2":42})
like for dictionary
save
kv.save()
commit all data to detabase
get
mixed dict.get(key), deta.get(key), dict.setdefault(key, default)
kv.get(key="some key"[, default="newer data"])
returns value from deta.get(key)
or update it by default
if deta.get() returned None
incr, decr
based on Deta.Base.Util.incremental()
kv.incr(key="counter"[, quantity=1])
returns incremented value for key
.
if detabase have not specific key
, creates it and value=quantity
query
kv.query(param=criteria, limit=1000, last=None) -> Dict
- return dict(key:value)
- query param see also https://deta.space/docs/en/build/reference/deta-base/queries
- update current model: kv.update(kv.query(criteria)) (??? refactoring required?)
keys
kv.keys(param=None) -> List
return list(key)
Table Struct
field | description |
---|---|
key | hash(key) |
path | origin key |
value | data |
News
- v0.1.16
query(), keys()
- v0.1.15
rename()
- v0.1.13 backward compatibility broken
- v0.1.12
incr()
rewritten with Deta.Base.Util.incremental() - v0.1.11
incr(key: str, quantity=1)
,decr(key: str, quantity=1): return incr(key, -quantity)
- v0.1.8
get()
fix get(key, default)
save()
License
- It's opensource and free software, see the LICENSE for more details
similar projects
TODO
-
keys()
get keys list - save() refactor
- set, get, del
-
rename(key, new_key)
-
query()
return dict - TTL
-
incr()
,decr()
-
get(key)
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
kv_deta-0.1.16a0-py3-none-any.whl
(16.4 kB
view hashes)
Close
Hashes for kv_deta-0.1.16a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | caeacabc94ea1250fa629f11eb7c6be0f20cc3c4bac098c667ba666bf7995c58 |
|
MD5 | 5dbe7de067a0c4018f6e41aaa7f75bc7 |
|
BLAKE2b-256 | a498dcc73bd25816019794df326699fedc2ed3849f620998324180588a08dd5a |