Python SDK
Python SDK
El SDK oficial de Python para la Laddro Career API.
Instalacion
pip install laddro-careerInicio rapido
from laddro_career import Laddro
client = Laddro(api_key="YOUR_API_KEY")
# Listar plantillas
templates = client.templates.list()
# Analizar un curriculo
with open("resume.pdf", "rb") as f:
resume = client.resumes.parse(f)
# Personalizar para un empleo
result = client.tailor.create(
resume_id=resume.id,
position_name="Senior Backend Engineer",
job_description="We are looking for..."
)Configuracion
client = Laddro(
api_key="YOUR_API_KEY",
base_url="https://api.laddro.com", # por defecto
timeout=30.0 # 30s por defecto
)Plantillas
templates = client.templates.list()
template = client.templates.get("graphite")Curriculos
# Listar
resumes = client.resumes.list()
# Obtener
resume = client.resumes.get("res_abc123")
# Analizar
with open("resume.pdf", "rb") as f:
parsed = client.resumes.parse(f)
# Renderizar a PDF
pdf_bytes = client.resumes.render("res_abc123", template_id="graphite")
with open("resume.pdf", "wb") as f:
f.write(pdf_bytes)Personalizacion
# Estandar
result = client.tailor.create(
resume_id="res_abc123",
position_name="Senior Engineer",
job_description="We are looking for..."
)
# Streaming (async)
stream = await client.tailor.stream(
resume_id="res_abc123",
position_name="Senior Engineer",
job_description="..."
)
async for event in stream:
print(event.section, event.content)Cartas de presentacion
# Generar con streaming
stream = await client.cover_letters.stream(
resume_id="res_abc123",
position_name="Senior Engineer",
job_description="..."
)
async for event in stream:
print(event.content, end="")
# Renderizar a PDF
pdf_bytes = client.cover_letters.render("cl_abc123", template_id="graphite")Exportar
pdf_bytes = client.export(
resume_id="res_abc123",
template_id="graphite"
)
with open("resume.pdf", "wb") as f:
f.write(pdf_bytes)Configuracion (BYOK)
settings = client.settings.get()
client.settings.set_model(
provider="anthropic",
model="claude-haiku-4.5",
api_key="sk-ant-..."
)
client.settings.reset_model()Manejo de errores
from laddro_career import LaddroError
try:
client.resumes.get("nonexistent")
except LaddroError as e:
print(e.status) # 404
print(e.message) # "Resume not found"Soporte async
from laddro_career import AsyncLaddro
async_client = AsyncLaddro(api_key="YOUR_API_KEY")
templates = await async_client.templates.list()
stream = await async_client.tailor.stream(
resume_id="res_abc123",
position_name="Senior Engineer",
job_description="..."
)
async for event in stream:
print(event.content)