> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Variables de entorno

> Lee, añade, reemplaza y elimina las variables de entorno de una aplicación con client.apps.envs.

Las variables de entorno están en `client.apps.envs`. Todos los métodos reciben primero el id de la aplicación y devuelven las variables de la aplicación como un `dict[str, str]` plano.

<Note>
  Las aplicaciones estáticas no tienen variables de entorno: todos los métodos responden 400 `STATIC_APP_ENV_NOT_SUPPORTED`. Un cambio se aplica en el siguiente [reinicio](/es/sdks/py/managing_application#iniciar-detener-y-reiniciar).
</Note>

## Leer las variables

```python theme={"system"}
envs = client.apps.envs.get(app_id)

print(envs.get("NODE_ENV"))
```

## Añadir o actualizar variables

`envs.set(app_id, envs)` añade las claves indicadas y sobrescribe las que ya existen. Las demás variables se conservan. Devuelve todas las variables tras el cambio.

```python theme={"system"}
envs = client.apps.envs.set(app_id, {
    "NODE_ENV": "production",
    "LOG_LEVEL": "info",
})
```

## Reemplazar todas las variables

`envs.replace(app_id, envs)` reemplaza **todas** las variables por el conjunto indicado. Las claves que no están en el dict se eliminan. `{}` las borra todas.

```python theme={"system"}
client.apps.envs.replace(app_id, {"NODE_ENV": "production"})
```

## Eliminar variables

`envs.delete(app_id, keys)` elimina las claves indicadas y devuelve las variables restantes. `keys` es una lista (cualquier iterable de strings) o una sola clave.

```python theme={"system"}
remaining = client.apps.envs.delete(app_id, ["LOG_LEVEL"])

# A single key also works
remaining = client.apps.envs.delete(app_id, "LOG_LEVEL")
```

## Límites y errores

| Estado | Código                         | Cuándo                                                                  |
| ------ | ------------------------------ | ----------------------------------------------------------------------- |
| 400    | `STATIC_APP_ENV_NOT_SUPPORTED` | La aplicación es estática                                               |
| 400    | `INVALID_ENV_CONTENT`          | Las variables no son un objeto válido (o, en `delete`, una lista vacía) |
| 400    | `TOO_MANY_ENV_VARS`            | El resultado tendría más de 256 variables                               |
| 400    | `ENV_NAME_TOO_LONG`            | Una clave supera los 1024 caracteres                                    |
| 400    | `ENV_CONTENT_TOO_LONG`         | Un valor supera los 4096 caracteres                                     |
| 400    | `READ_FAILED`                  | El clúster no pudo leer las variables                                   |
