Supabase Auth (Python)

2.28.2 · active · verified Tue Mar 17

Official Supabase Python client. Current version is 2.28.2 (Mar 2026). Auth is accessed via supabase.auth — not a separate install. The underlying auth library was renamed twice: gotrue-py → auth-py → supabase-auth. The standalone package is 'supabase-auth' (imports as 'supabase_auth'). Most auth is used through the main 'supabase' package via create_client(). Massive tutorial corpus uses the old sign_in() method removed in favor of sign_in_with_password().

Warnings

Install

Imports

Quickstart

Client initialization and auth operations using supabase v2.x.

import os
from supabase import create_client, Client

url: str = os.environ['SUPABASE_URL']
key: str = os.environ['SUPABASE_KEY']  # anon key for client-side, service_role for admin
supabase: Client = create_client(url, key)

# Sign up
res = supabase.auth.sign_up({
    'email': 'user@example.com',
    'password': 'securepassword'
})

# Sign in — NOT sign_in(), use sign_in_with_password()
res = supabase.auth.sign_in_with_password({
    'email': 'user@example.com',
    'password': 'securepassword'
})
print(res.user)
print(res.session.access_token)

# Admin operations — requires service_role key
res = supabase.auth.admin.list_users()
for user in res:
    print(user.email)

view raw JSON →