Instale via pip
Adicione o SDK ao seu ambiente Python.
pip install lix-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
Construído com dataclasses, anotações de tipo e argumentos de palavra-chave limpos. Pythonic por design.
Crie, obtenha, atualize, exclua e liste links curtos. CRUD completo com argumentos de palavra-chave e valores padrão opcionais.
Organize links em grupos. Crie grupos rotativos para testes A/B de páginas de destino. CRUD completo com respostas de dataclass tipadas.
Recupere perfil de conta, detalhes de plano e limites de uso em tempo real para links, API e links massivos.
Cada resposta de API é um @dataclass com anotações de tipo completas. Repr limpo, autocompletar IDE e acesso natural a atributos.
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.
Passe seu próprio requests.Session para timeouts personalizados, tentativas ou testes. Volta para uma sessão padrão.
Requer Python 3.8+ e requests. Instale com pip e comece a encurtar URLs imediatamente.
Adicione o SDK ao seu ambiente Python.
pip install lix-sdk
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)
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)
Crie links curtos com aliases personalizados, parâmetros UTM, pixels de rastreamento, proteção por senha e datas de expiração. Cada operação retorna um dataclass tipado.
# Create a basic link result = client.links().create('https://example.com') print(result.link.short_url) # With custom alias and UTM result = client.links().create( 'https://example.com', alias='my-link', title='My Page Title', tags=['sale', 'promo'], utm={'utm_source': 'google', 'utm_medium': 'email', 'utm_campaign': 'summer'}, tracking_pixel_ids=[1001, 1002], is_public=True, ) # Password protection + expiration result = client.links().create( 'https://example.com', password='secret123', active_before_datetime='2026-12-31T23:59:59+00:00', ) # Update a link updated = client.links().update(79697, title='New Title') print(updated.link.title)
Exemplo de paginação:
client.links().list(limit=20, from_id=79500)
retorna os próximos 20 links com ResponseMeta contendo o total e a URL seguinte. Omita ambos para os valores padrão da API.
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 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)
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)
id, nome, email, created_datetime
Nome, email, created_datetime
id, nome, start_datetime, end_datetime
Links, api_links, mass_links — cada um com limit, used, remaining
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)
400 — Entrada inválida. Acesse e.data para erros de campo.
401 — Chave de API inválida ou autenticação ausente.
404 — Link ou grupo não encontrado.
429 — Limite de taxa excedido.
500 — Erro de servidor inesperado.
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.
Use a mesma API do Lix.li do PHP, JavaScript, Python ou Go com SDKs adaptados a cada ecossistema.
Instale o SDK, obtenha uma chave de API e comece a criar links curtos em menos de um minuto.