SDKs
Python SDK
Python SDK
The official Python SDK for the Laddro Career API.
Installation
pip install laddro-careerQuick Start
from laddro_career import Laddro
client = Laddro(api_key="YOUR_API_KEY")
# List templates
templates = client.templates.list()
# Parse a resume
with open("resume.pdf", "rb") as f:
resume = client.resumes.parse(f)
# Tailor for a job
result = client.tailor.create(
resume_id=resume.id,
position_name="Senior Backend Engineer",
job_description="We are looking for..."
)Configuration
client = Laddro(
api_key="YOUR_API_KEY",
base_url="https://api.laddro.com", # default
timeout=30.0 # 30s default
)Templates
templates = client.templates.list()
template = client.templates.get("graphite")Resumes
# List
resumes = client.resumes.list()
# Get
resume = client.resumes.get("res_abc123")
# Parse
with open("resume.pdf", "rb") as f:
parsed = client.resumes.parse(f)
# Render to PDF
pdf_bytes = client.resumes.render("res_abc123", template_id="graphite")
with open("resume.pdf", "wb") as f:
f.write(pdf_bytes)Tailoring
# Standard
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)Cover Letters
# Generate with 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="")
# Render to PDF
pdf_bytes = client.cover_letters.render("cl_abc123", template_id="graphite")Export
pdf_bytes = client.export(
resume_id="res_abc123",
template_id="graphite"
)
with open("resume.pdf", "wb") as f:
f.write(pdf_bytes)Settings (BYOK)
settings = client.settings.get()
client.settings.set_model(
provider="anthropic",
model="claude-haiku-4.5",
api_key="sk-ant-..."
)
client.settings.reset_model()Error Handling
from laddro_career import LaddroError
try:
client.resumes.get("nonexistent")
except LaddroError as e:
print(e.status) # 404
print(e.message) # "Resume not found"Async Support
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)