SDK Python
SDK Python
Oficjalny SDK Python dla Laddro Career API.
Instalacja
pip install laddro-careerSzybki 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..."
)Konfiguracja
client = Laddro(
api_key="YOUR_API_KEY",
base_url="https://api.laddro.com", # default
timeout=30.0 # 30s default
)Szablony
templates = client.templates.list()
template = client.templates.get("graphite")CV
# 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)Optymalizacja
# 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)Listy Motywacyjne
# 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")Eksport
pdf_bytes = client.export(
resume_id="res_abc123",
template_id="graphite"
)
with open("resume.pdf", "wb") as f:
f.write(pdf_bytes)Ustawienia (BYOK)
settings = client.settings.get()
client.settings.set_model(
provider="anthropic",
model="claude-haiku-4.5",
api_key="sk-ant-..."
)
client.settings.reset_model()Obsluga Bledow
from laddro_career import LaddroError
try:
client.resumes.get("nonexistent")
except LaddroError as e:
print(e.status) # 404
print(e.message) # "Resume not found"Wsparcie Asynchroniczne
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)