# CLI
El comando `klarety` viene con el SDK de Python. Hace lo mismo que el SDK desde su terminal e imprime JSON para encadenarlo.
## Instale e inicie sesión [#instale-e-inicie-sesión]
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 [#instale]
```bash
pip install klarety
klarety --help
```
### Guarde su clave [#guarde-su-clave]
Cree una clave de API en y luego:
```bash
klarety login "paste-your-key-here"
```
La clave va al llavero del sistema, nunca a un archivo. La CLI imprime `key stored in the OS keychain`.
### Compruebe que funciona [#compruebe-que-funciona]
```bash
klarety sql "SELECT 1 AS ok"
```
`klarety logout` olvida la clave guardada. Todos los comandos aceptan `--base-url` antes del nombre del comando; por defecto es `https://api.klarety.ai`.
## Consulte [#consulte]
### `klarety sql` [#klarety-sql]
```bash
klarety sql "SELECT customer, SUM(amount) AS total FROM orders GROUP BY customer" --max-rows 50
```
| Argumento | Significado |
| --- | --- |
| `statement` | Una sentencia SQL, entre comillas. |
| `--max-rows` | Máximo de filas a imprimir, 1.000 por defecto. |
### `klarety tables` [#klarety-tables]
```bash
klarety tables
```
Lista las tablas de su esquema `default`.
## Cargue datos [#cargue-datos]
### `klarety ingest` [#klarety-ingest]
```bash
klarety ingest sales.csv --into sales --mode upsert --key order_id
```
Carga un archivo local en una tabla e imprime el `run_id` y el `state`.
### `klarety put` [#klarety-put]
```bash
klarety put q3-summary.pdf reports/q3 --name summary.pdf
```
Guarda un archivo en una carpeta, por la ruta de la carpeta como la muestra el Almacenamiento de objetos. `--name` define su nombre allí.
### `klarety load` [#klarety-load]
```bash
klarety load exports/daily --into daily_exports --mode append
```
Carga en una tabla todos los archivos que están directamente en la carpeta.
### Opciones de carga [#opciones-de-carga]
`ingest` y `load` comparten estas opciones. Vea [Cargar datos](/docs/es/developers/ingest) para lo que hace cada modo.
| Opción | Significado |
| --- | --- |
| `--into` | La tabla en la que se carga. |
| `--schema` | El esquema (solo `ingest`), `default` por defecto. |
| `--mode` | `auto` (por defecto), `append`, `upsert` o `replace`. |
| `--key` | Una columna que identifica una fila. Repítala para varias columnas. |
| `--force` | Carga de nuevo un archivo que ya se cargó. |
## Agentes [#agentes]
`klarety agent` trabaja con los agentes de un proyecto. Pase `--project ` antes de la acción.
```bash
klarety agent --project test daily-summary --input days=1
```
| Acción | Qué hace |
| --- | --- |
| `check ` | Revisa `agents/.yaml` sin guardarlo. |
| `save ` | Guarda el YAML y su código como borrador. |
| `test ` | Guarda y luego ejecuta el borrador. Acepta `--input name=value`, repetible. |
| `publish ` | Guarda y luego pide a una persona que lo publique. Pasa a vivo cuando esa persona lo hace. |
| `run ` | Ejecuta ya la versión en vivo. Acepta `--input`. |
| `runs ` | Lista las 20 ejecuciones más recientes del agente. |
| `show ` | Una ejecución, paso a paso. |
| `result ` | Lo que produjo una ejecución. |
| `stop ` | Detiene una ejecución. |
| `stats` | Ejecuciones por día: cuántas, cómo terminaron, el costo. `--days`, 7 por defecto. |
| `rerun --from-step ` | Ejecuta de nuevo desde un paso, reutilizando el resto. |
En `--input`, `7` se lee como número y `true` como booleano; todo lo demás es texto.
## Despliegue [#despliegue]
```bash
klarety deploy --project
```
Despliega la rama de GitHub vinculada al proyecto. Sin repositorio vinculado, envía el commit que está en `--repo` (la carpeta actual por defecto). Imprime el `deploy_id`.
## Códigos de salida [#códigos-de-salida]
| Código | Significado |
| --- | --- |
| `0` | Listo. |
| `2` | Rechazado o fallido. El motivo se imprime en stderr. |
| `3` | Esperando que una persona apruebe. No falló, pero tampoco terminó. |
La salida va a stdout y los mensajes a stderr, así que `klarety sql "..." | jq` queda limpio.
## Próximos pasos [#próximos-pasos]
- [Autenticación](/docs/es/developers/authentication) para claves y rotación.
- [Agentes y ejecuciones](/docs/es/developers/agents) para las mismas acciones en Python.
- [Errores](/docs/es/developers/errors) para lo que significa cada falla.