Metadata-Version: 2.4
Name: auralis-af
Version: 1.0.0
Summary: SDK oficial para la API de Auralis Futures
Home-page: https://auralisfutures.com
Author: Auralis Futures
Author-email: contacto@auralisfutures.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.28
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Auralis SDK

Cliente oficial Python para la API de **Auralis Futures**.

## Instalación

```bash
pip install auralis
```

O desde el código fuente:

```bash
git clone https://github.com/auralis/auralis-sdk
cd auralis-sdk
pip install .
```

---

## Uso básico

```python
from auralis import Auralis

client = Auralis(api_key="af_TU_LLAVE")

# Chat simple
respuesta = client.chat("¿Qué es la inteligencia artificial?")
print(respuesta)

# Con parámetros
respuesta = client.chat(
    "Explica la fotosíntesis",
    system      = "Eres un profesor de biología.",
    temperature = 0.7,
    max_tokens  = 200,
)
print(respuesta)
```

---

## Conversación multi-turno

```python
mensajes = [
    {"role": "system",    "content": "Eres un asistente técnico."},
    {"role": "user",      "content": "¿Qué es un Transformer?"},
    {"role": "assistant", "content": "Es una arquitectura de red neuronal..."},
    {"role": "user",      "content": "¿Y cómo funciona la atención?"},
]

respuesta = client.chat_mensajes(mensajes)
print(respuesta)
```

---

## Estado de tu cuenta

```python
info = client.estado()
print(info["plan"])                  # "lite" o "pro"
print(info["peticiones_restantes"])  # cuántas te quedan
```

---

## Entrenamiento custom (solo plan pro)

```python
corpus = open("mi_corpus.txt").read()
resultado = client.entrenar(corpus, n_pasos=2000)
print(resultado["status"])  # "entrenamiento_iniciado"
```

---

## Admin: crear clientes (solo plan pro)

```python
nueva = client.registrar_cliente("Key de Juan", "Juan Pérez", plan="lite")
print(nueva["llave"])    # af_... → guardarla, no se puede recuperar
print(nueva["preview"])  # af_XXX••••XXXX
```

---

## Manejo de errores

```python
from auralis import Auralis, AuthError, LimitError, ServerError

client = Auralis(api_key="af_...")

try:
    resp = client.chat("Hola")
except AuthError:
    print("Llave inválida o sin permisos.")
except LimitError:
    print("Límite del plan agotado.")
except ServerError:
    print("Error en el servidor.")
```

---

## Referencia rápida

| Método | Descripción | Plan |
|--------|-------------|------|
| `chat(mensaje)` | Chat simple, devuelve string | Lite / Pro |
| `chat_mensajes(messages)` | Chat multi-turno | Lite / Pro |
| `chat_raw(messages)` | JSON completo del servidor | Lite / Pro |
| `estado()` | Consumo y estado de la cuenta | Lite / Pro |
| `health()` | Estado del servidor | Sin auth |
| `entrenar(corpus)` | Entrenamiento custom | Pro |
| `listar_clientes()` | Lista todos los clientes | Pro |
| `registrar_cliente(...)` | Crea nueva API key | Pro |
