--- name: metabase_setup kind: function lang: py domain: infra version: "1.0.0" purity: impure signature: "metabase_setup(base_url: str, admin_email: str, admin_password: str, admin_first_name: str, admin_last_name: str, site_name: str, site_locale: str) -> dict" description: "Ejecuta el setup inicial de una instancia Metabase nueva via POST /api/setup. Obtiene el setup-token automaticamente y crea el usuario admin con preferencias del sitio." tags: [metabase, setup, api, infra] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [httpx] tested: false tests: [] test_file_path: "" file_path: "python/functions/metabase/setup.py" --- ## Ejemplo ```python from metabase.setup import metabase_setup result = metabase_setup( base_url="http://localhost:3000", admin_email="admin@fnregistry.local", admin_password="FnRegistry2024!", admin_first_name="Lucas", admin_last_name="Admin", site_name="fn-registry", site_locale="es", ) print(result["id"]) # session token ``` ## Notas Solo funciona en instancias sin configurar (setup-token disponible). Si Metabase ya tiene un usuario, lanza RuntimeError. El setup-token se obtiene automaticamente de GET /api/session/properties. Una vez usado, Metabase invalida el token.