{"id":14971464,"url":"https://github.com/trisongz/aiosupabase","last_synced_at":"2025-10-01T16:31:23.362Z","repository":{"id":65001460,"uuid":"400653320","full_name":"trisongz/aiosupabase","owner":"trisongz","description":"Python Client for Supabase","archived":false,"fork":true,"pushed_at":"2023-02-09T20:41:57.000Z","size":144,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-01-17T01:45:43.732Z","etag":null,"topics":["async-python","python","supabase","supabase-python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"supabase/supabase-py","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trisongz.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOGS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-27T22:57:08.000Z","updated_at":"2024-11-24T16:55:06.000Z","dependencies_parsed_at":"2023-01-30T02:45:16.819Z","dependency_job_id":null,"html_url":"https://github.com/trisongz/aiosupabase","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trisongz%2Faiosupabase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trisongz%2Faiosupabase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trisongz%2Faiosupabase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trisongz%2Faiosupabase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trisongz","download_url":"https://codeload.github.com/trisongz/aiosupabase/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234882647,"owners_count":18901303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async-python","python","supabase","supabase-python"],"created_at":"2024-09-24T13:45:14.577Z","updated_at":"2025-10-01T16:31:18.049Z","avatar_url":"https://github.com/trisongz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# aiosupabase\n Unofficial Asyncronous Python Client for Supabase\n\n **Latest Version**: [![PyPI version](https://badge.fury.io/py/aiosupabase.svg)](https://badge.fury.io/py/aiosupabase)\n\n\n\n## Features\n\n- Unified Asyncronous and Syncronous Python Client for [Supabase](https://supabase.com/)\n- Supports Python 3.6+\n- Strongly Typed with [Pydantic](https://pydantic-docs.helpmanual.io/)\n- Utilizes Environment Variables for Configuration\n\n## APIs\n\nBoth async and sync Apis are available for the following\n\n- [x] Auth\n- [x] Postgrest\n- [x] Storage\n- [x] Realtime\n- [x] Functions\n\n---\n\n## Installation\n\n```bash\n# Install from PyPI\npip install aiosupabase\n\n# Install from source\npip install git+https://github.com/trisongz/aiosupabase.git\n```\n\n## Usage\n\nExample Usage\n\n```python\nimport asyncio\nfrom aiosupabase import Supabase\nfrom aiosupabase.utils import logger\n\n\"\"\"\nEnvironment Vars that map to Supabase.configure:\nall vars are prefixed with SUPABASE_\n\nSUPABASE_URL (url): str   | Supabase URL\nSUPABASE_KEY (key): str   | API Key\nSUPABASE_DEBUG_ENABLED (debug_enabled): bool - defaults to False\n\nSUPABASE_CLIENT_SCHEMA (client_schema): str - defaults to 'public'\nSUPABASE_HEADERS (headers): Dict - defaults to {}\nSUPABASE_AUTO_REFRESH_TOKENS (auto_refresh_tokens): bool - defaults to True\nSUPABASE_PERSIST_SESSION (persist_session): bool - defaults to True\nSUPABASE_REALTIME_CONFIG (realtime_config): Dict - defaults to None\nSUPABASE_TIMEOUT (timeout): int - defaults to 5 [DEFAULT_POSTGREST_CLIENT_TIMEOUT]\n\nSUPABASE_COOKIE_OPTIONS (cookie_options): Dict - defaults to None\nSUPABASE_REPLACE_DEFAULT_HEADERS (replace_default_headers): bool - defaults to False\n\n\"\"\"\n\nSupabase.configure(\n    url = '...',\n    key = \"...\",\n    debug_enabled = True,\n)\n\nasync def async_fetch_table(table: str = \"profiles\", select: str = \"*\"):\n    # Async fetch\n    # note that table is `atable` for async\n    return await Supabase.atable(table).select(select).execute()\n\ndef fetch_table(table: str = \"profiles\", select: str = \"*\"):\n    # Sync fetch\n    return Supabase.table(table).select(select).execute()\n\nasync def async_fetch_users():\n    # Async `ListUsers`\n    # note that most async methods are prefixed with\n    # `async_` \n    return await Supabase.auth.async_list_users()\n\ndef fetch_users():\n    # Sync `ListUsers`\n    # note that most async methods are prefixed with\n    return Supabase.auth.list_users()\n\nasync def run_test():\n    # Async fetch\n    async_data = await async_fetch_table()\n    logger.info(f\"async_data: {async_data}\")\n\n    async_users = await async_fetch_users()\n    logger.info(f\"async_users: {async_users}\")\n\n    # Sync fetch\n    sync_data = fetch_table()\n    logger.info(f\"sync_data: {sync_data}\")\n\n    sync_users = fetch_users()\n    logger.info(f\"sync_users: {sync_users}\")\n\n\nasyncio.run(run_test())\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrisongz%2Faiosupabase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrisongz%2Faiosupabase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrisongz%2Faiosupabase/lists"}