monitor-ml-ddmrp / database /supabase_client.py
dyandun's picture
feat: estructura base del sistema multiagente monitor-ml-aceitess
8bb8847
Raw
History Blame Contribute Delete
873 Bytes
"""
supabase_client.py
------------------
Cliente Supabase singleton. Se inicializa una sola vez con las variables de entorno.
"""
import os
import logging
from functools import lru_cache
from supabase import create_client, Client
logger = logging.getLogger(__name__)
@lru_cache(maxsize=1)
def get_supabase() -> Client:
"""
Devuelve el cliente Supabase (singleton).
Llama a esta función en cualquier lugar del proyecto para acceder a la DB.
"""
url = os.environ.get("SUPABASE_URL")
key = os.environ.get("SUPABASE_KEY")
if not url or not key:
raise RuntimeError(
"Faltan variables de entorno SUPABASE_URL y/o SUPABASE_KEY. "
"Copia .env.example a .env y completa los valores."
)
client = create_client(url, key)
logger.info("[Supabase] cliente inicializado correctamente")
return client