• Stars
    star
    19
  • Rank 1,163,249 (Top 23 %)
  • Language
    Python
  • License
    MIT License
  • Created over 3 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

asyncio client for Deta Cloud (https://deta.sh)

aiodeta

Build codecov PyPI version

Unofficial client for Deta Clound

Install

pip install aiodeta

Supported functionality

  • Deta Base
  • Deta Drive
  • Decorator for cron tasks

Examples

import asyncio
from aiodeta import Deta

DETA_PROJECT_KEY = "xxx_yyy"


async def go():
    db_name = "users"

    # Initialize Deta client
    deta = Deta(DETA_PROJECT_KEY)

    # Initialize Deta Base client
    base = deta.Base(db_name)

    # Create row in Deta Base
    user = {"username": "steve", "active": False}
    resp = await base.insert(user)
    print(resp)
    user_key = resp["key"]

    # Update row by key
    resp = await base.update(user_key, set={"active": True})
    print(resp)

    # Get row by key
    resp = await base.get(user_key)
    print(resp)

    # Delete row by key
    resp = await base.delete(user_key)
    print(resp)

    # Create multiple rows in one request
    users = [
        {"username": "jeff", "active": True},
        {"username": "rob", "active": False},
        {"username": "joe", "active": True}
    ]
    resp = await base.put(users)
    print(resp)

    # Query data
    query = [{"active": True}, {"username?pfx": "j"}]
    result = await base.query(query=query, limit=10)
    print(result)

    # Close connection
    await deta.close()

loop = asyncio.get_event_loop()
loop.run_until_complete(go())