Skip to main content

Key-Value Model for Detabase

Project description

PyPI version Downloads Statistic

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

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


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)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page