PostgREST client for Python. This library provides an ORM interface to PostgREST.
Project description
pgrest-client
PostgREST client for Python. This library provides an ORM interface to PostgREST.
Fork of the supabase community Postgrest Client library for Python.
Status: Unstable
INSTALLATION
Requirements
- Python >= 3.7
- PostgreSQL >= 12
- PostgREST >= 7
Local PostgREST server
If you want to use a local PostgREST server for development, you can use our preconfigured instance via Docker Compose.
docker-compose up
Once Docker Compose started, PostgREST is accessible at http://localhost:3000.
USAGE
Getting started
import asyncio
from pgrest import Client
async def main():
async with Client("http://localhost:3000") as client:
r = await client.from_("countries").select("*").execute()
countries = r[0]
asyncio.run(main())
Create
await client.from_("countries").insert({ "name": "Việt Nam", "capital": "Hà Nội" }).execute()
Read
r = await client.from_("countries").select("id", "name").execute()
countries = r[0]
Update
await client.from_("countries").eq("name", "Việt Nam").update({"capital": "Hà Nội"}).execute()
Delete
await client.from_("countries").eq("name", "Việt Nam").delete().execute()
General filters
Stored procedures (RPC)
r = await client.rpc("hello_world").execute()
r = await client.rpc("echo_city", params={"name": "The Shire"}).execute()
All above methods also have synchronous counterparts, under pgrest._sync_client.SyncClient
.
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
pgrest-0.5.0.tar.gz
(6.3 kB
view hashes)
Built Distribution
pgrest-0.5.0-py3-none-any.whl
(7.8 kB
view hashes)