Unofficial Asyncronous Python Client for Supabase
Project description
aiosupabase
Unofficial Asyncronous Python Client for Supabase
Features
- Unified Asyncronous and Syncronous Python Client for Supabase
- Supports Python 3.6+
- Strongly Typed with Pydantic
- Utilizes Environment Variables for Configuration
APIs
Both async and sync Apis are available for the following
- Auth
- Postgrest
- Storage
- Realtime
- Functions
Installation
# Install from PyPI
pip install aiosupabase
# Install from source
pip install git+https://github.com/trisongz/aiosupabase.git
Usage
Example Usage
import asyncio
from aiosupabase import Supabase
from aiosupabase.utils import logger
"""
Environment Vars that map to Supabase.configure:
all vars are prefixed with SUPABASE_
SUPABASE_URL (url): str | Supabase URL
SUPABASE_KEY (key): str | API Key
SUPABASE_DEBUG_ENABLED (debug_enabled): bool - defaults to False
SUPABASE_CLIENT_SCHEMA (client_schema): str - defaults to 'public'
SUPABASE_HEADERS (headers): Dict - defaults to {}
SUPABASE_AUTO_REFRESH_TOKENS (auto_refresh_tokens): bool - defaults to True
SUPABASE_PERSIST_SESSION (persist_session): bool - defaults to True
SUPABASE_REALTIME_CONFIG (realtime_config): Dict - defaults to None
SUPABASE_TIMEOUT (timeout): int - defaults to 5 [DEFAULT_POSTGREST_CLIENT_TIMEOUT]
SUPABASE_COOKIE_OPTIONS (cookie_options): Dict - defaults to None
SUPABASE_REPLACE_DEFAULT_HEADERS (replace_default_headers): bool - defaults to False
"""
Supabase.configure(
url = '...',
key = "...",
debug_enabled = True,
)
async def async_fetch_table(table: str = "profiles", select: str = "*"):
# Async fetch
# note that table is `atable` for async
return await Supabase.atable(table).select(select).execute()
def fetch_table(table: str = "profiles", select: str = "*"):
# Sync fetch
return Supabase.table(table).select(select).execute()
async def async_fetch_users():
# Async `ListUsers`
# note that most async methods are prefixed with
# `async_`
return await Supabase.auth.async_list_users()
def fetch_users():
# Sync `ListUsers`
# note that most async methods are prefixed with
return Supabase.auth.list_users()
async def run_test():
# Async fetch
async_data = await async_fetch_table()
logger.info(f"async_data: {async_data}")
async_users = await async_fetch_users()
logger.info(f"async_users: {async_users}")
# Sync fetch
sync_data = fetch_table()
logger.info(f"sync_data: {sync_data}")
sync_users = fetch_users()
logger.info(f"sync_users: {sync_users}")
asyncio.run(run_test())
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiosupabase-0.0.1.tar.gz
(16.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiosupabase-0.0.1.tar.gz.
File metadata
- Download URL: aiosupabase-0.0.1.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ac947f42827e2547ebfcac161f20b97afaeb1bc90605aa540c217fcf0beacbf
|
|
| MD5 |
2dcc2ab2c7dae74b17f70e3864d57b14
|
|
| BLAKE2b-256 |
b2d81799e7717de2427c45a071085b915f4cef38ae27a426f1bc4d33f061921e
|
File details
Details for the file aiosupabase-0.0.1-py3-none-any.whl.
File metadata
- Download URL: aiosupabase-0.0.1-py3-none-any.whl
- Upload date:
- Size: 18.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b780344b404f559fc8f17a0e97df31507665090dd41c9f5cbc8dcc063c53d8d5
|
|
| MD5 |
0f8d393aa8e7eb76fbd0763e9c9b553a
|
|
| BLAKE2b-256 |
62cea520a6272de1621c7a51e597b8bb02ac621d10ddcfbb8a10a2df593d5932
|