deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (native)

Pydantic, HTTPX Python istemcisinin sürdürülen devamı olan HTTPX2'yi yayınladı

Pydantic, yukarı akış geliştirmesinin yavaşlamasının ardından HTTPX Python istemcisinin yönetimini üstlenerek HTTPX2'yi yayınladı; güvenlik güncellemeleri, HTTP/2 desteği, senkron ve async API'ler ile bir CLI vaat ediyor.

Pydantic, HTTPX Python istemcisinin sürdürülen devamı olan HTTPX2'yi yayınladı

Pydantic, HTTPX'in yönetimini HTTPX2 olarak üstleniyor

Python doğrulama kütüphanesiyle aynı adı taşıyan şirketlerden Pydantic, HTTPX'in devamı olarak sunulan bir Python HTTP istemcisi olan HTTPX2'yi duyurdu. Proje, pydantic organizasyonu altındaki GitHub deposuna bağlantı vererek Hacker News'in ön sayfasında yer aldı. Deponun README'sine göre bu adımın nedeni, HTTPX'in yukarı akış geliştirmesinin son zamanlarda sessiz kalması; Pydantic, kullanıcıların — her şeyden önce hızlı güvenlik düzeltmelerinin — güvenilir bir bakım elde etmesi için projeyi yeni bir adla benimsiyor. Bu kütüphane birçok üretim sisteminin giden trafiğini yönetiyor.

README, HTTPX2'yi sıfırdan yazılmış bir proje değil, bir devir teslim olarak konumlandırıyor. Orijinal yazar olarak gösterilen @lovelydinosaur'a ve daha geniş HTTPX katkıcı topluluğuna temel çalışmadan dolayı teşekkür ediyor; mevcut tasarımı koruma, şu anki kullanıcılar için bozulma yaratmama ve kütüphaneyi buradan itibaren ihtiyatlı bir şekilde geliştirme taahhüdü veriyor.

Kütüphane neler sunuyor

Özellikler açısından HTTPX2, HTTPX kullanıcılarının zaten bildiği şeyleri yansıtıyor. API, requests'e çok yakın biçimde modellenmiş; çerez kalıcılığı olan oturumlar, bağlantı havuzlama ve keep-alive, tarayıcı tarzı sertifika doğrulama, basic ve digest kimlik doğrulama, otomatik açma ve içerik kod çözme, streaming indirmeler, multipart yüklemeler, proxy desteği, .netrc işleme ve chunked istekler gibi tanıdık alanları kapsıyor.

Bunun ötesinde README, öne çıkan birkaç yeteneği listeliyor:

  • Standart bir senkron arayüz ve gerektiğinde async desteği.

  • Kutudan çıktığı gibi HTTP/1.1 desteği ve isteğe bağlı bir kurulumla HTTP/2.

  • Canlı bir ağ atlaması olmadan WSGI veya ASGI uygulamalarını doğrudan çağırabilme.

  • Zaman aşımlarının isteğe bağlı varsayılanlar olarak bırakılmak yerine her yerde uygulanması.

  • Tam tip açıklamaları ve projenin iddiasına göre eksiksiz test kapsamı.

  • click ve rich'i bağımlılıkları arasında barındıran, isteğe bağlı bir ek olarak kurulan entegre bir komut satırı istemcisi.

Temel kullanım beklendiği gibi: httpx2'yi içe aktarıp bir get isteği göndermek, requests'e çok benzer şekilde durum kodlarını, başlıkları ve gövde metnini ortaya koyan bir yanıt nesnesi döndürüyor.

Paketleme ve bağımlılıklar

Temel paket pip ile httpx2 olarak kuruluyor; HTTP/2, CLI, SOCKS proxy'leri, brotli kod çözme ve zstd kod çözme için özellik ekstraları mevcut. README'nin vurguladığı bir Python sürümü nüansı var: Python 3.14'ten itibaren zstd kod çözme, mevcut olduğunda standart kütüphanenin compression.zstd modülünü kullanıyor ve bu durumda zstd extra hiçbir şey kurmuyor.

Taşıma katmanı, HTTP/1.1'i h11 üzerinden ele alan httpcore2; eşzamanlılık desteği anyio üzerinde çalıştığından hem asyncio hem de trio arka uçları çalışıyor. SSL doğrulaması, işletim sisteminin güven deposunu kullanan truststore'a dayanıyor ve uluslararası alan adları idna tarafından işleniyor. Proje BSD lisanslı ve API düzeni için requests'e, daha düşük seviye ağ tasarım fikirleri için urllib3'e teşekkür ediyor. Dokümantasyon httpx2.pydantic.dev adresinde yayımlanıyor.

Kutudan çıktığı gibi gözlemlenebilirlik

Ticari olarak en anlamlı detay, şirketin OpenTelemetry tabanlı gözlemlenebilirlik platformu olan Pydantic Logfire ile birinci sınıf entegrasyon. README'ye göre, logfire'ı HTTPX enstrümantasyonuyla kurup logfire.instrument_httpx() çağırmak, başka hiçbir kod değişikliği yapmadan her isteği — zamanlamalar, durum kodları ve span'lar — izliyor. Enstrümantasyon açıkça oluşturulan httpx2.Client ve httpx2.AsyncClient örnekleri için de çalışıyor, tek bir istemciye sınırlandırılabiliyor ve bir capture_all bayrağı, yakalamayı istek ve yanıt başlıklarına ve gövdelerine genişletiyor.

Neden önemli

HTTPX, Python kodunun web ile konuşmasının standart yollarından biri haline geldi ve bakımındaki yavaşlama birçok üretim yığınında bir bağımlılık boşluğu bıraktı. Şirket destekli bir yöneticinin süreklilik, uyumluluk ve hızlı güvenlik yanıtı sunması bunu doğrudan çözüyor ve API'yi requests biçiminde tutma kararı, iki kütüphaneden birine yatırım yapmış ekipler için geçiş maliyetini düşürüyor.

Açık sorular ekosistemle ilgili olanlar. Bir ad değişikliği, şu an httpx'i sabitleyen her projeyi ne zaman ve taşınıp taşınmayacağına dair bir karar karşısında bırakıyor; HTTPX2'nin güvenilirliği, uyumluluk vaatlerinin zaman içinde tutup tutmayacağına bağlı olacak. Derin Logfire entegrasyonu, yönetiminin ardındaki ticari mantığı gösteriyor; kimileri bunu bir yarar, kimileri ise bir satıcı bağı olarak okuyacak. Hacker News ilgisi, topluluğun her halükârda yakından izlediğini gösteriyor.

  • #python
  • #http-client
  • #open-source
  • #pydantic
  • #http2

İlgili yazılar