Python 3.8+

Lix.li Python SDK

SDK oficial de Python para la API de acortamiento de URL y analítica de enlaces de Lix.li. Construido con dataclasses, anotaciones de tipo y argumentos de palabra clave limpios. Crea enlaces cortos, gestiona grupos y rastrea clics con simplicidad Pythonic.

from lix_sdk import Client

client = Client('lix_live_xxx')

result = client.links().create('https://example.com')
print(result.link.short_url)
# https://lix.li/a3b7k2
print(result.usage.remaining)
# 42
Características

Todo lo necesario para gestionar enlaces en Python

Construido con dataclasses, anotaciones de tipo y argumentos de palabra clave limpios. Pythonic por diseño.

Gestión de enlaces

Crea, obtén, actualiza, elimina y lista enlaces cortos. CRUD completo con argumentos de palabra clave y valores por defecto opcionales.

Gestión de grupos

Organiza enlaces en grupos. Crea grupos rotativos para pruebas A/B de páginas de destino. CRUD completo con respuestas de dataclass tipadas.

Cuenta y API de uso

Recupera perfil de cuenta, detalles de plan y límites de uso en tiempo real para enlaces, API y enlaces masivos.

DTOs de dataclass

Cada respuesta de API es un @dataclass con anotaciones de tipo completas. Representación limpia, autocompletado IDE y acceso natural a atributos.

Errores tipados

7 clases de excepciones dedicadas que extienden LixException base. Captura lo que necesitas, accede a datos de error de validación en .data.

Session inyectable

Pasa tu propio requests.Session para tiempos de espera personalizados, reintentos o pruebas. Retrocede a una sesión por defecto.

Inicio rápido

Comienza en 30 segundos

Requiere Python 3.8+ y requests. Instala con pip y comienza a acortar URLs inmediatamente.

Python 3.8+ MIT License
1
Instala vía pip

Añade el SDK a tu entorno Python.

 pip install lix-sdk
2
Instancia el cliente

Pasa tu clave API. Opcionalmente proporciona un requests.Session personalizado para control avanzado.

from lix_sdk import Client

client = Client('lix_live_xxx')

# With custom session
import requests
session = requests.Session()
session.headers.update({'X-Custom-Header': 'value'})
client = Client('lix_live_xxx', session=session)
3
Crea tu primer enlace

Acorta una URL y recibe un LinkShortenResult con la URL corta e información de uso.

result = client.links().create('https://example.com')
print(result.link.short_url)
# https://lix.li/a3b7k2
# API links used: 42 / 100
print(result.usage.used, '/', result.usage.limit)
API de grupos

Organiza y rota enlaces

Los grupos ayudan a categorizar enlaces por campaña, equipo o proyecto. Los grupos rotativos habilitan pruebas A/B distribuyendo el tráfico entre múltiples enlaces.

  • create(name, ...) Crea un grupo con nombre, descripción opcional y modo de rotación.
  • get(id) Recupera un grupo por ID con todos sus metadatos.
  • update(id, ...) Renombra, actualiza descripción o cambia el modo de rotación.
  • delete(id) Elimina un grupo por ID.
  • list(limit, from_id) Paginación con dataclass Groups tipado y ResponseMeta.
# Create a regular group
group = client.groups().create('Marketing')
print(group.name, group.url)

# Create a rotating group for A/B testing
group = client.groups().create(
    'Landing Pages',
    description='Rotating landing pages',
    is_rotate=True,
)

# Update group
group = client.groups().update(
    10,
    description='Updated description',
)

# List with pagination
page = client.groups().list(limit=10, from_id=1000)
for g in page.groups:
    print(g.name, g.url)
print(page.meta.total)
API de cuenta y uso

Cuenta y detalles de uso

Recupera tu perfil, plan y límites de uso en tiempo real: todo devuelto como instancias de dataclass anidadas con acceso completo a atributos.

profile = client.profile().me()

# Account info
print(profile.client.name, profile.client.email)
print(profile.user.email)

# Plan details
print(profile.plan.name, profile.plan.end_datetime)

# Usage limits
print(profile.usages.links.remaining)
print(profile.usages.api_links.used)
print(profile.usages.mass_links.limit)

ClientDto

id, nombre, email, created_datetime

User

Nombre, email, created_datetime

Plan

ID, nombre, start_datetime, end_datetime

Usage

Enlaces, api_links, mass_links: cada uno con limit, used, remaining

Manejo de errores

7 excepciones tipadas para un control Pythonic

Captura exactamente lo que necesitas. Todas las excepciones extienden LixException. ValidationException incluye los datos completos de errores de validación a nivel de campo en .data.

from lix_sdk import (
    ValidationException,
    NotFoundException,
    UnauthorizedException,
    RateLimitException,
    ServerException,
)

try:
    result = client.links().create('invalid-url')
except ValidationException as e:
    # Field-level validation errors
    print('Validation:', e.data)
except NotFoundException:
    print('Not found')
except UnauthorizedException:
    # Invalid API key
except RateLimitException:
    # Too many requests — retry after
except ServerException:
    # 5xx server error
except LixException as e:
    # Generic SDK error
    print('Error:', e)
ValidationException

400 — Entrada inválida. Accede a e.data para errores de campo.

UnauthorizedException

401 — Clave API inválida o autenticación faltante.

NotFoundException

404 — Enlace o grupo no encontrado.

RateLimitException

429 — Límite de tasa excedido.

ServerException

500 — Error del servidor inesperado.

HttpClientException

Fallo de red / transporte.

Todas las excepciones extienden LixException, que extiende Exception. Captura la clase base para cualquier error de SDK o apunta a clases específicas para un manejo granular.

Ecosistema

SDKs oficiales para cada pila

Usa la misma API de Lix.li desde PHP, JavaScript, Python o Go con SDKs adaptados a cada ecosistema.

Python SDK
Cliente Python tipado para enlaces cortos, grupos, analítica y automatización. Construido para aplicaciones modernas en Python y flujos de trabajo.
Go SDK
SDK nativo de Go con estructuras tipadas, soporte de contexto y manejo de errores idiomático para integraciones con API de acortamiento de URL.
PHP SDK
SDK moderno de PHP con DTOs tipados, modelos de solo lectura, excepciones dedicadas e instalación vía Composer.
JS SDK
SDK de JavaScript basado en Promises para entornos Node.js y navegador. Crea y gestiona enlaces cortos con una experiencia de desarrollo limpia.

¿Listo para acortar enlaces en Python?

Instala el SDK, obtén una clave API y comienza a crear enlaces cortos en menos de un minuto.