모델 핀하듯 SDK도 핀
PyPI의 anthropic 패키지는 빠르게 움직여. 새 SDK 릴리스마다 헬퍼 추가, 타입 정제, 가끔은 validation 강화. 모델 id 핀하듯 pyproject.toml이나 requirements.txt에 버전을 핀해 — 그다음 의도적으로 업그레이드, 우연히 X.
실제로 깔린 게 뭔지 검증
SDK quirk debug 전에 venv에서 어느 버전 도는지 증명. pip show anthropic, python -c "import anthropic; print(anthropic.__version__)", anthropic.Anthropic.__doc__ 한 번 — '왜 로컬에서 되는데 CI에서 안 돼' 버그 80%를 잡는 세 명령어.
두 클라이언트
SDK가 한 패키지 안에 클라이언트 두 개 — Anthropic(sync), AsyncAnthropic(async). 같은 표면, 다른 I/O 모델. 런타임에 따라 골라 — 스크립트엔 sync, FastAPI 라우트랑 이미 event loop 도는 코드엔 async.
원칙: SDK를 진짜 업그레이드 스토리 가진 versioned 의존성으로 다뤄. 로컬과 prod 간 drift는 플래닝 버그지 배포 깜짝쇼 아니야.