Python 3.8+

Lix.li Python SDK

SDK oficial de Python para a API de encurtamento de URL e análise de links do Lix.li. Construído com dataclasses, anotações de tipo e argumentos de palavra-chave limpos. Crie links curtos, gerencie grupos e rastreie cliques com simplicidade 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
Recursos

Tudo que você precisa para gerenciar links em Python

Construído com dataclasses, anotações de tipo e argumentos de palavra-chave limpos. Pythonic por design.

Gerenciamento de links

Crie, obtenha, atualize, exclua e liste links curtos. CRUD completo com argumentos de palavra-chave e valores padrão opcionais.

Gerenciamento de grupos

Organize links em grupos. Crie grupos rotativos para testes A/B de páginas de destino. CRUD completo com respostas de dataclass tipadas.

Conta e API de uso

Recupere perfil de conta, detalhes de plano e limites de uso em tempo real para links, API e links massivos.

DTOs de dataclass

Cada resposta de API é um @dataclass com anotações de tipo completas. Repr limpo, autocompletar IDE e acesso natural a atributos.

Erros tipados

7 classes de exceções dedicadas que estendem a LixException base. Capture o que você precisa, acesse dados de erro de validação em .data.

Session injetável

Passe seu próprio requests.Session para timeouts personalizados, tentativas ou testes. Volta para uma sessão padrão.

Início rápido

Comece em 30 segundos

Requer Python 3.8+ e requests. Instale com pip e comece a encurtar URLs imediatamente.

Python 3.8+ MIT License
1
Instale via pip

Adicione o SDK ao seu ambiente Python.

 pip install lix-sdk
2
Instancie o cliente

Passe sua chave de API. Opcionalmente forneça um requests.Session personalizado para controle avançado.

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
Crie seu primeiro link

Encurte uma URL e receba um LinkShortenResult com a URL curta e informações 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

Organize e rotacione links

Os grupos ajudam a categorizar links por campanha, equipe ou projeto. Grupos rotativos habilitam testes A/B distribuindo o tráfego entre vários links.

  • create(name, ...) Crie um grupo com nome, descrição opcional e modo de rotação.
  • get(id) Recupere um grupo por ID com todos os seus metadados.
  • update(id, ...) Renomeie, atualize descrição ou altere o modo de rotação.
  • delete(id) Exclua um grupo por ID.
  • list(limit, from_id) Paginação com dataclass Groups tipado e 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 conta e uso

Conta e detalhes de uso

Recupere seu perfil, plano e limites de uso em tempo real: tudo retornado como instâncias de dataclass aninhadas com acesso 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, nome, email, created_datetime

User

Nome, email, created_datetime

Plano

id, nome, start_datetime, end_datetime

Uso

Links, api_links, mass_links — cada um com limit, used, remaining

Tratamento de erros

7 exceções tipadas para controle Pythonic

Capture exatamente o que você precisa. Todas as exceções estendem LixException. ValidationException inclui os dados completos de erros de validação a nível de campo em .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. Acesse e.data para erros de campo.

UnauthorizedException

401 — Chave de API inválida ou autenticação ausente.

NotFoundException

404 — Link ou grupo não encontrado.

RateLimitException

429 — Limite de taxa excedido.

ServerException

500 — Erro de servidor inesperado.

HttpClientException

Falha de rede / transporte.

Todas as exceções estendem LixException, que estende Exception. Capture a classe base para qualquer erro de SDK ou aponte para classes específicas para tratamento granular.

Ecossistema

SDKs oficiais para cada pilha

Use a mesma API do Lix.li do PHP, JavaScript, Python ou Go com SDKs adaptados a cada ecossistema.

Python SDK
Cliente Python tipado para links curtos, grupos, análise e automação. Construído para aplicações Python modernas e fluxos de trabalho.
Go SDK
SDK nativo de Go com estruturas tipadas, suporte de contexto e tratamento de erros idiomático para integrações com API de encurtamento de URL.
PHP SDK
SDK moderno de PHP com DTOs tipados, modelos somente leitura, exceções dedicadas e instalação via Composer.
JS SDK
SDK de JavaScript baseado em Promises para ambientes Node.js e navegador. Crie e gerencie links curtos com uma experiência de desenvolvimento limpa.

Pronto para encurtar links em Python?

Instale o SDK, obtenha uma chave de API e comece a criar links curtos em menos de um minuto.