Python SDK - Installation#

rafikidb is a typed client for the RafikiDB API: data, auth, realtime, storage, environment variables, secrets, webhooks, edge functions and payments.

  • Python 3.10+
  • Zero required dependencies (stdlib urllib)
  • Optional websockets extra for the WebSocket realtime transport
  • Same envelope and error model as the REST API

Install#

pip install rafikidb

# WebSocket realtime (recommended in production)
pip install rafikidb[realtime]
Bash

Initialize#

from rafikidb import create_client

db = create_client(
    project_id="5c73dab0-...",
    api_key="raf_live_...",
    base_url="https://api.rafikidb.com/api/v1",  # optional
    session=None,     # optional: restore a persisted session
    timeout=30.0,     # optional: request timeout in seconds
)
Python
OptionTypeDescription
project_idstrRequired. Used by auth/realtime URLs
api_keystrRequired. Sent as X-AFRIBASE-API-Key
base_urlstr | NoneDefault http://localhost:8080/api/v1
sessiondict | NoneRestore a project-user session (see Auth)
timeoutfloatRequest timeout in seconds (default 30.0)

Responses#

Every method returns the API envelope unchanged:

rows = db.from_("profiles").select().limit(10).execute()
rows.success   # True
rows.message   # "Request was successful"
rows.data      # list[dict] | None
rows.errors    # list[str]
Python

Failures raise RafikiDBError:

from rafikidb import RafikiDBError

try:
    db.from_("profiles").insert({})
except RafikiDBError as err:
    err.message  # "Nationality is required"
    err.status   # 400
    err.code     # "invalid_input"
    err.errors   # ["Nationality is required"]
Python

Next: Data.