Anthropic'in 20 Ağustos 2026'da yayınladığı Python SDK v1.0, httpx'i doğrudan import eden, Python 3.9'da çalışan, eski client.completions.create() uç noktasını çağıran ya da temperature, top_p, top_k parametrelerini doğrudan messages.create()'e geçen her kodu bozuyor. Entegrasyonunuz bu dördünden hiçbirini yapmıyorsa, güncelleme neredeyse hiçbir şeyi değiştirmiyor.
Sürüm, browser use aracının computer use, Files API ve Skills API ile birlikte GA olmasından bir gün sonra geldi — Claude API'ye karşı bir Python entegrasyonu sürdüren herkes için yoğun bir hafta ve bu SDK güncellemesini o hafta çıkan diğer her şeyin gözden geçirmesiyle birleştirmek için iyi bir neden.
Anthropic Python SDK v1.0'da Ne Değişti?
En büyük değişiklik HTTP katmanında: SDK, httpx'ten Pydantic ekibinin sürdürdüğü API uyumlu bir fork olan httpx2'ye geçti; bunu Anthropic'in Claude Platform sürüm notları doğruluyor. httpx'i doğrudan import eden her şey — özel bir Timeout, özel bir http_client, bir proxy transport — artık httpx2 import etmeli.
# Öncesi (0.x)
import httpx
from anthropic import Anthropic, DefaultHttpxClient
client = Anthropic(
timeout=httpx.Timeout(60.0, connect=5.0),
http_client=DefaultHttpxClient(
transport=httpx.HTTPTransport(local_address="0.0.0.0")
),
)
# Sonrası (1.0)
import httpx2 as httpx
from anthropic import Anthropic, DefaultHttpxClient
client = Anthropic(
timeout=httpx.Timeout(60.0, connect=5.0),
http_client=DefaultHttpxClient(
transport=httpx.HTTPTransport(local_address="0.0.0.0")
),
)Test paketiniz HTTP çağrılarını OpenTelemetry, respx, pytest-httpx ya da vcrpy ile mocklıyor ya da izliyorsa, bu kütüphaneler httpx'i yamıyor — httpx2'yi değil. Bu yüzden güncellemeden sonra, süreç başlangıcında ve her şeyden önce httpx2.alias_httpx() çağırmadığınız sürece mock'lar sessizce çalışmayı kesiyor.
v1.0 Daha Yeni Bir Python Sürümü mü İstiyor?
Evet. Anthropic'in Python SDK v1.0'ı, 0.x serisindeki 3.9 tabanının üzerine çıkarak Python 3.10 veya üstünü istiyor; bunu GitHub'daki v1 geçiş rehberi doğruluyor. Hâlâ Python 3.9'a sabitlenmiş bir CI matrisi ya da Docker taban imajı varsa, güncelleme kurulmadan önce 3.10+'a taşınması gerekiyor.
Hangi API Yüzeyi Kaldırıldı?
v1.0'da uzun süredir kullanımdan kaldırılmış dört parça, sadece önerilmemekle kalmayıp tamamen siliniyor: eski Text Completions API'si, Messages metodlarındaki temperature/top_p/top_k parametreleri, output_format'ın dict biçimi ve tool runner'ın istemci tarafı compaction_control'ü.
v1.0'da kaldırılan | Yerine geçen |
|---|---|
| |
| Eski modeller için |
| |
| |
Text Completions'ın kaldırılması güncel bir entegrasyona sahip neredeyse kimseyi etkilemiyor — o uç nokta yıllardır Messages tarafından geride bırakıldı — ama bu bir uyarı değil, sert bir kırılma; hâlâ client.completions.create() çağıran eski bir script'i içeren bir proje v1.0'da doğrudan patlıyor.
Örnekleme parametrelerinin kaldırılması sessizce ısıracak olan değişiklik: client.messages.create(..., temperature=0.2) artık güncel modellerde eksik bir kwarg'dan TypeError fırlatmıyor — tiplenmiş istemci tarafından beklenmeyen bir argüman olarak reddediliyor. Eski bir modelde temperature'a ihtiyaç duyan her şey, geçiş rehberine göre extra_body={"temperature": 0.2} üzerinden hâlâ kullanılabiliyor.
Async İstemcide Başka Ne Değişti?
Async istemcide, .with_raw_response erişimcileri artık coroutine: response.parse(), response.text() ve response.read() önlerine await istiyor; sync istemcide de response.text/response.content property olmaktan çıkıp çağrılabilir metodlara dönüştü.
# Öncesi (0.x, async)
response = await client.messages.with_raw_response.create(...)
message = response.parse()
# Sonrası (1.0, async)
response = await client.messages.with_raw_response.create(...)
message = await response.parse()AnthropicBedrock da artık sessizce us-east-1'e varsayılan olarak dönmüyor: v1.0 itibarıyla, aws_region= ya da AWS_REGION/AWS_DEFAULT_REGION ortam değişkenleriyle bir AWS bölgesi ayarlanmadıysa ValueError fırlatıyor. Örtük varsayılana güvenen bir servis artık istemci oluşturulurken hata veriyor, yanlış bölgeye karşı sessizce istek atmak yerine.
Bu, çok bölgeli bir dağıtımda özellikle önemli: eskiden bölge ayarını atlayan bir servis, hiç fark etmeden us-east-1'e istek atardı ve veri yerelliği ya da gecikme sorunları ancak faturada ya da bir uyumluluk denetiminde ortaya çıkardı. v1.0'da bu hata artık dağıtım anında, üretimde değil, geliştirme ortamında yakalanıyor — bu da tek başına, çok bölgeli AWS kurulumu olan takımlar için güncellemeyi erkene almaya değer kılan bir neden.
Güncellemeyi Dağıtmadan Önce Nasıl Güvenle Test Edersiniz?
Güncellemeyi önce mevcut test paketinizle bir branch'te çalıştırın; çünkü v1.0'daki kırıcı değişiklikler sessiz davranış değişiklikleri olarak değil, import hataları ya da çağrı anında TypeErrorlar olarak ortaya çıkma eğiliminde — pip install -U anthropic'ten sonra yeşil kalan bir test paketi, güncellemenin güvenli olduğuna dair güçlü bir sinyal. Testleriniz HTTP çağrılarını mockluyorsa, httpx2.alias_httpx()'in tam olarak hakkını verdiği yer burası: onsuz, mock'lanmış yanıtlar istekleri yakalamayı bırakıyor ve testleriniz ya gürültülü şekilde başarısız oluyor (iyi) ya da daha kötüsü, CI'da gerçek API çağrıları yapmaya başlıyor.
Burada aşamalı bir dağıtım iyi çalışıyor: önce düşük trafikli bir servisi ya da bir staging ortamını güncelleyin, dört kırılma noktasındaki hata oranlarını bir gün izleyin, sonra değişikliği üretim servislerine tek tek yayın. Kırıcı değişiklikler deterministik olduğundan — aynı çağrı her seferinde ya çalışır ya da hata fırlatır, ortada kararsız bir durum yok — temiz bir staging çalışması, temiz bir üretim çalışmasının güvenilir bir habercisi.
Şimdi Güncelleme Yapmalı mısınız?
Kod tabanınızı yukarıdaki dört kırılma noktası için taradıktan sonra güncelleyin — doğrudan httpx import'ları, çalışma zamanında Python 3.9, completions.create() ve çıplak temperature/top_p/top_k kwarg'ları — çünkü pip, anthropic>=1.0'ın uyumsuz bir ortama kurulmasına kurulum aşamasında değil, import ya da çalışma zamanında hata vererek izin veriyor. Daha fazla zamana ihtiyacınız varsa requirements dosyanızda anthropic<1.0'a sabitleyin; 0.x serisi çalışmaya devam ediyor, sadece yeni özellikler almıyor.
Sürüm sabitlemesine dokunmadan önce beş dakikalık bir denetim: kod tabanınızda grep -rn "import httpx\b" ., grep -rn "completions.create" . ve grep -rn "temperature=\|top_p=\|top_k=" . çalıştırın, CI matrisinizde ya da python_requires'da 3.9 olup olmadığını kontrol edin. Üç grep de boş dönüyorsa ve çalışma zamanınız 3.10+ ise, pip install -U anthropic doğrudan çalıştırmak için güvenli.
Python entegrasyonunuz Messages'ın yanında bir RAG sistemi kuruyor ya da Files API'yi kullanıyorsa, o kod yollarını özellikle denetleyin — dosya yüklemeleri ve tool-runner çağrıları tam olarak compaction_control ve output_format dict'lerinin saklandığı yerler. v1.0'a güncellenen çağrıları hangi modele yönlendireceğinize karar veremiyorsanız, Claude model rehberimiz güncel model ailesini ve fiyatlandırmayı ele alıyor. Claude API'yle ilgili daha fazla içerik için tüm Yapay Zeka kategorisine göz atabilirsiniz.
Sıkça Sorulan Sorular
httpx2 nedir ve Anthropic neden buna geçti?
httpx2, Pydantic ekibinin sürdürdüğü, httpx ile API uyumlu bir fork; Anthropic'in Python SDK v1.0'ı bunu doğrudan httpx yerine HTTP katmanı olarak kullanıyor. Özel istemci, timeout ya da transport için httpx import eden kodun httpx2 import etmesi, httpx'i yamayan izleme ya da mock kütüphanelerinin ise çalışmaya devam etmesi için başlangıçta httpx2.alias_httpx() çağırması gerekiyor.
Anthropic Python SDK v1.0 hâlâ Python 3.9'u destekliyor mu?
Hayır. 20 Ağustos 2026'da yayınlanan Anthropic Python SDK v1.0, Python 3.10 veya üstünü istiyor. Hâlâ Python 3.9 çalıştıran projelerin anthropic>=1.0 kurmadan önce yorumlayıcılarını güncellemesi ya da 0.x serisine sabitli kalması gerekiyor.
v1.0'da Messages API'ye hâlâ temperature gönderebilir miyim?
Doğrudan bir keyword argümanı olarak değil — temperature, top_p ve top_k, messages.create(), messages.stream() ve messages.parse()'tan kaldırıldı. Bu parametreleri hâlâ kabul eden eski modeller için extra_body={"temperature": 0.2} üzerinden geçebilirsiniz.
Güncellemezsem eski anthropic 0.x kodum bozulur mu?
Hayır. v1.0'ın yayınlanmasından sonra 0.x SDK serisi çalışmaya devam ediyor; requirements dosyanızda anthropic<1.0'a sabitlemek burada anlatılan tüm kırıcı değişikliklerden kaçınmanızı sağlıyor. Sadece yeni SDK özelliklerini almazsınız, mevcut API'ye erişiminizi kaybetmezsiniz.
