Anthropic's Python SDK 1.0 lands — pin it or your CI breaks

The major bump moves to httpx2, drops Python 3.9, strips temperature/top_p/top_k and Text Completions, and makes AnthropicBedrock demand an explicit region.

Nowline Aug 24 2:00 AM banner

Top AI stories from the last hour

Top AI stories from the last hour

Copy markdown

  • httpx2 and Python 3.10+ or bust

    1.0 swaps the unmaintained httpx for httpx2, a Pydantic-maintained fork, and drops Python 3.9. Custom clients can `import httpx2 as httpx`; if respx, pytest-httpx, vcrpy, or your OpenTelemetry/Sentry tracing stops seeing SDK calls, call `httpx2.alias_httpx()` at startup.

  • temperature, top_p and top_k are gone from Messages

    Passing `temperature`, `top_p`, or `top_k` to `messages.create()` now raises a TypeError — route them through `extra_body` for models that still accept them. The legacy Text Completions endpoint (`completions.create()`, plus `HUMAN_PROMPT`/`AI_PROMPT`) is removed entirely; move that code to Messages.

  • Two quiet breakers to grep for

    `.with_raw_response` changed shape: sync `.text`/`.content` are now the methods `.text()`/`.read()`, and on the async client `parse()` needs `await`. And `AnthropicBedrock()` with no region now raises instead of silently defaulting to us-east-1 — set `aws_region` or `AWS_REGION`.

  • The one-line fix, both directions

    Freeze today with `pip install "anthropic<1"`; when you're ready, `pip install --upgrade "anthropic>=1,<2"` or run `/claude-api upgrade python` in Claude Code, then let pyright or mypy flag whatever's left.