supabase-py with async synax
Project description
supabase-py-async
Supabase client for Python with Async support. This project is an asynchronous variant of supabase-py and mirrors the design of supabase-js.
Status
Status | Stability | Goal |
---|---|---|
🚧 | Alpha | We are testing Supabase with a closed set of customers |
🚧 | Public Alpha | Anyone can sign up over at app.supabase.io. But go easy on us, there are a few kinks. |
❌ | Public Beta | Stable enough for most non-enterprise use-cases |
❌ | Public | Production-ready |
Installation
PyPi Installation
To install the package for Python 3.7 and above:
# with pip
pip install supabase-py-async
# with poetry
poetry add supabase-py-async
Local Installation
For local development, clone this repo and install in Development mode with pip install -e
.
Async Usage
It's usually best practice to set your api key environment variables in some way that version control doesn't track them, e.g don't put them in your python modules! Set the key and url for the supabase instance in the shell, or better yet, use a dotenv file. Heres how to set the variables in the shell.
export SUPABASE_URL="my-url-to-my-awesome-supabase-instance"
export SUPABASE_KEY="my-supa-dupa-secret-supabase-api-key"
This client is designed to be used asynchronously. Below are some examples on how to use it.
Initialize Supabase Client
import os
from supabase_py_async import create_client, AsyncClient
url: str = os.environ.get("SUPABASE_URL")
key: str = os.environ.get("SUPABASE_KEY")
supabase: AsyncClient = create_client(url, key)
Async Data Operations
async def data_operations():
# Insert
insert_data = await supabase.table("countries").insert({"name": "Germany"}).execute()
# Select
select_data = await supabase.table("countries").select("*").eq("country", "IL").execute()
# Update
update_data = await supabase.table("countries").update({"country": "Indonesia", "capital_city": "Jakarta"}).eq("id",
1).execute()
# Delete
delete_data = await supabase.table("countries").delete().eq("id", 1).execute()
asyncio.run(data_operations())
Async Authentication
async def async_auth():
random_email: str = "email@example.com"
random_password: str = "supersecurepassword"
user = await supabase.auth.sign_up(email=random_email, password=random_password)
asyncio.run(async_auth())
See Supabase Docs for a full list of examples.
Contributions
Feel free to contribute to this project. We are in the early stages and appreciate any help.
Note
the README.md file is generated by GPT4 from the supabase-py's README.md
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 Distribution
Built Distribution
Hashes for supabase_py_async-2.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a394f507c656416649dbae9bbc3bc57c88cebdbf3030d65a0357c3fe7afd75f |
|
MD5 | 14052d475dcce94866f567db5dda65e9 |
|
BLAKE2b-256 | 7205671b36c2f2a53cec0e0b3a469a54e8619c0ea192d69be511300beff9a430 |