Integraciones
SDK de Python
El paquete oficial infinianalytics envuelve la API de eventos de InfiniAnalytics en llamadas a métodos simples que nunca interrumpen el flujo de control de tu automatismo.
Instalación
Instálalo desde PyPI usando pip:
pip install infinianalytics
Requiere Python 3.7+. No necesita dependencias externas.
Inicialización
Crea una instancia de InfiniAnalytics una vez por ejecución, pasando el token de tu organización y el UUID del automatismo que copiaste desde el panel de InfiniAnalytics:
from infinianalytics import InfiniAnalytics
execution = InfiniAnalytics(
token="your_organization_token",
automation_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
)Si no pasas un execution_id, se genera uno automáticamente a partir de datetime.now().isoformat(). Pasa el tuyo propio si necesitas correlacionar la ejecución con un ID de tu propio sistema.
token=os.environ["INFINI_TOKEN"].Métodos
Llama a estos métodos directamente sobre la instancia de execution - no hay gestor de contexto ni un paso de inicialización aparte:
| Método | Cuándo usarlo |
|---|---|
.start(description) | Registra el evento START - llámalo una vez al principio de la ejecución. |
.event(description) | Registra un EVENT intermedio - llámalo tantas veces como necesites para registrar el progreso. |
.warning(description) | Registra un WARNING - un problema no crítico que merece la pena señalar sin marcar la ejecución como fallida. |
.end(description) | Registra el evento END - llámalo una vez al completarse con éxito. |
.error(description, error_id=None, error_description=None) | Registra un ERROR - marca la ejecución como fallida. Llámalo desde dentro de un bloque except. |
Ejemplo de Uso
from infinianalytics import InfiniAnalytics
import os
execution = InfiniAnalytics(
token=os.environ["INFINI_TOKEN"],
automation_id="your-uuid"
)
execution.start("Invoice processing started")
invoices = fetch_invoices()
execution.event(f"Fetched {len(invoices)} invoices")
for inv in invoices:
process(inv)
execution.end(f"Processed {len(invoices)} invoices successfully")Gestión de Errores
Llama a .error() desde dentro de un bloque except para que se registre cada fallo:
execution.start("Processing started")
try:
result = risky_operation()
execution.end("Completed successfully")
except Exception as ex:
execution.error(
description="Validation failed",
error_id="VALIDATION_ERROR",
error_description=str(ex),
)
raiseNone en lugar de lanzar una excepción - una conexión rota con InfiniAnalytics nunca romperá tu automatismo.Referencia en PyPI
La documentación completa del paquete y el changelog están disponibles en PyPI:
Ver en PyPI