# Inicio rápido del SDK El SDK de Python de Klarety le da a su código un solo objeto, `Nexus`, que llega a todo su espacio de trabajo: SQL, tablas, archivos y carpetas, conexiones, agentes y trabajos. Esta página lo lleva a su primera consulta en unos cinco minutos. ## Antes de empezar [#antes-de-empezar] - **Python 3.11 o posterior.** Verifíquelo con `python3 --version`. - **Una clave de API.** Solo los administradores del espacio de trabajo crean claves; si no lo es, pídala a uno (vea [Miembros](/docs/es/workspace/members)). - **Créditos en el espacio de trabajo.** Una clave gasta los créditos del espacio de trabajo, así que las consultas solo corren mientras haya. El SDK y la CLI de Klarety están disponibles bajo solicitud. Para solicitar acceso para su espacio de trabajo, [contáctenos](https://klarety.ai/contact). ### Instale el SDK [#instale-el-sdk] ```bash pip install klarety ``` Use un entorno virtual si trabaja en más de un proyecto: ```bash python3 -m venv .venv source .venv/bin/activate pip install klarety ``` ### Cree una clave de API [#cree-una-clave-de-api] Abra , seleccione **Crear clave** y verifique que es usted. Dé a la clave un **Nombre** (por ejemplo "Portátil" o "Servidor de producción"), elija su **Acceso** y defina cuándo **Vence**. Deje vacío **Orígenes del navegador**; es solo para claves que se usan desde una página web. Copie la clave ahora. Se muestra una sola vez. ### Ponga la clave en su entorno [#ponga-la-clave-en-su-entorno] El SDK lee la clave de `KLARETY_API_KEY`, así que nunca tiene que aparecer en su código. ```bash export KLARETY_API_KEY="paste-your-key-here" ``` En un portátil también puede guardarla en el llavero del sistema con la CLI: vea [Autenticación](/docs/es/developers/authentication). ### Conéctese y revise su cuenta [#conéctese-y-revise-su-cuenta] ```python title="first_query.py" from klarety import AuthError, Nexus try: nexus = Nexus.connect() except AuthError as refused: raise SystemExit(f"Sign-in failed: {refused}") with nexus: account = nexus.account() print("Workspace:", account.org_id) print("Plan:", account.plan) print("Credits:", account.credits) ``` `Nexus.connect()` cambia su clave por un token de una hora y lo renueva. `account()` devuelve un `Account` con `org_id`, `user_id`, `roles`, `plan` y `credits`. `plan` y `credits` son `None` si no se pudieron leer, así un saldo desconocido se distingue de cero. ### Ejecute su primera consulta [#ejecute-su-primera-consulta] Agregue esto dentro del bloque `with nexus:`: ```python result = nexus.sql("SELECT 1 AS ok") print(result.rows) ``` Ejecútelo: ```bash python first_query.py ``` ## Compruebe que funcionó [#compruebe-que-funcionó] Verá el ID de su espacio de trabajo, su plan, su saldo de créditos y la fila de la consulta: ```text Workspace: Plan: Credits: [{'ok': 1}] ``` `nexus.sql()` devuelve un `ResultSet`. Sus `rows` son diccionarios por nombre de columna, `bytes_scanned` indica cuántos datos leyó la consulta y `truncated` es `True` cuando había más filas de las devueltas. [Ejecutar SQL](/docs/es/developers/sql) explica cada campo. ## Un primer script completo [#un-primer-script-completo] Este script lista sus tablas y consulta una, con manejo de errores real. ```python title="list_and_query.py" from klarety import ( AuthError, InsufficientCreditsError, Nexus, RefusedError, ServiceError, ) try: with Nexus.connect() as nexus: tables = nexus.tables.list() for table in tables: print(table["name"]) if tables: first = tables[0]["name"] result = nexus.sql(f"SELECT * FROM {first} LIMIT 5") for row in result.rows: print(row) except AuthError: print("The key was not accepted. Check KLARETY_API_KEY, or create a new key.") except InsufficientCreditsError: print("The workspace is out of credits. Add credits in the app.") except RefusedError as refused: print(f"Not allowed: {refused}") except ServiceError as failed: print(f"Klarety could not answer, try again shortly: {failed}") ``` ## Conéctese sin la variable de entorno [#conéctese-sin-la-variable-de-entorno] Puede pasar la clave directamente, por ejemplo cuando la lee de su propio almacén de secretos: ```python nexus = Nexus.connect(api_key=my_secret_store.get("klarety")) ``` `connect()` también acepta `timeout` (segundos por solicitud, 30 por defecto). Cierre la conexión al terminar, con `nexus.close()` o usando `with`. Una clave actúa como todo su espacio de trabajo y gasta sus créditos. Nunca la suba a un repositorio ni la pegue en una página web. Si se filtra, revóquela de inmediato en . ## Si algo sale mal [#si-algo-sale-mal] | Lo que ve | Qué significa | Qué hacer | | --- | --- | --- | | `AuthError: pass an api key or set KLARETY_API_KEY` | No se encontró una clave. | Exporte `KLARETY_API_KEY` en la misma terminal, o pase `api_key=`. | | `AuthError: api key rejected` | La clave es incorrecta, fue revocada o venció. | Cree una clave nueva y úsela. | | `InsufficientCreditsError` | El espacio de trabajo no tiene créditos para este trabajo. | Agregue créditos y vuelva a ejecutarlo. | | `ModuleNotFoundError: klarety` | El SDK está instalado en otro Python. | Active su entorno virtual e instálelo de nuevo. | ## Próximos pasos [#próximos-pasos] - [Autenticación](/docs/es/developers/authentication): tokens, rotación de claves y el llavero. - [Ejecutar SQL](/docs/es/developers/sql): parámetros, estimaciones y resultados grandes. - [Cargar datos](/docs/es/developers/ingest): cargue sus archivos en tablas. - [CLI](/docs/es/developers/cli): el mismo SDK desde su terminal.