- uv, Rust ile yazılmış ultra hızlı bir Python paket yükleyicisi ve çözücüsüdür;
pipvepip-toolsiş akışlarının yerini almak üzere tasarlanmıştır. - uv, "Python için Cargo" yolunda bir dönüm noktasıdır; hızlı, güvenilir ve kullanımı kolay, kapsamlı bir Python proje ve paket yöneticisidir.
- Armin Ronacher tarafından deneysel olarak geliştirilen Python paketleme aracı Rye'ın bakımını devralarak uv'yi birleşik bir halef proje olarak genişletmeyi planlıyor.
Performansa takıntılı odak
- uv, önbellek olmadan
pipvepip-tools'tan 8-10 kat daha hızlıdır; önbellek olduğunda ise 80-115 kat daha hızlıdır. - Genel bir modül önbelleği kullanarak bağımlılıkları yeniden indirme veya derleme ihtiyacını ortadan kaldırır; desteklenen dosya sistemlerinde Copy-on-Write ve hard link kullanarak disk alanı tüketimini en aza indirir.
Benimsemeyi kolaylaştırma
- uv'nin ilk sürümü
pipvepip-toolsAPI'lerini destekler; mevcut projelerde yapılandırma değişikliği olmadan kullanılabilir. - uv, tek bir statik binary olarak sunulur ve
pip,pip-tools,virtualenvyerine geçebilir. - Python sürümüne göre
pipkurulumunu yönetme ihtiyacı olmadan, Python'ın kendisinden ayrı olarak kurulabilir.
"Python için Cargo": uv ve Rye
- uv, hızlı, güvenilir ve kullanımı kolay birleşik bir Python paket ve proje yöneticisine giden yolda bir ara dönüm noktasıdır.
- uv; yalnızca
pip,pip-tools,virtualenvdeğil, aynı zamandapipx,tox,poetry,pyenv,ruffve daha fazlasını kapsayan tek bir binary olmayı hedefler.
Uyumlu API
pip installyerineuv pip installkullanarak Python bağımlılıklarını komut satırından, gereksinim dosyalarından veyapyproject.tomliçinden kurabilirsiniz.pip-compileyerineuv pip compilekullanarak kilitlirequirements.txtoluşturabilirsiniz.pip-syncyerineuv pip synckullanarak kilitlirequirements.txtile sanal ortamı senkronize edebilirsiniz.
Yol haritası
- Bu sürümün ardından kullanıcı desteğine öncelik verip uyumluluk, performans ve kararlılık iyileştirmelerine odaklanmayı planlıyor.
- Sonrasında uv'yi tam teşekküllü bir Python proje ve paket yöneticisine genişletmeyi hedefliyor.
Teşekkür
- uv'nin geliştirilmesine doğrudan veya dolaylı katkı sunan herkese teşekkür ediyor.
- Özellikle, PubGrub'ın temel sürüm çözücüsü olarak uv'de kullanılan Jacob Finkelman ve Matthieu Pizenberg'e teşekkür ediliyor.
GN⁺ görüşü
- uv, Python geliştiricilerine mevcut
piparaçlarına kıyasla çok daha yüksek performans sunarak proje kurulum sürelerini önemli ölçüde kısaltabilecek yenilikçi bir araçtır. - Rust ile yazılmış olması, Python ekosisteminde performans ve kararlılığı öne çıkaran yeni eğilimi yansıtıyor; bunun geliştirici deneyimini önemli ölçüde iyileştirmesi bekleniyor.
- uv'nin geliştirilmesi, Python paketleme ve proje yönetimi araçlarının birleşmesine yöneliyor; bu da geliştiricilerin daha verimli ve tutarlı biçimde çalışmasını sağlayacaktır.
3 yorum
Gerçekten inanılmaz hızlı;;
Genişletilip conda'nın yerini alabilirse güzel olur.
Hacker News görüşleri
VC destekli pip-and-more hakkında soru işaretleri
uv'nin platformdan bağımsız lockfile oluşturmayı desteklememesi hakkında soru
uv'nin alternatif bağımlılık çözümleme stratejilerini desteklemesine olumlu yaklaşım
--resolution=lowestseçeneğiyle en düşük uyumlu sürümlerle test yapma imkanı sunduğu belirtiliyor.--python-versionparametresi aracılığıyla, o anda kurulu Python sürümünden farklı bir sürüm için çözüm üretebilmesi harika bulunuyor.Python paket sisteminin karmaşıklığı hakkında soru
uv'nin pubgrub-rs kullanmasının ilgi çekici yanı
Astral ekibinin izleyeceği yol hakkında bir öngörüye atıf
pip'in hızıyla ilgili kişisel deneyim
Yeni bir Python paket yöneticisine dair şüpheci yaklaşım
uv'nin platforma özgü requirements.txt dosyaları üretme kararına dair merak
poetry.lockvepdm.lockdosyaları üretmek yerine platforma özgürequirements.txtdosyaları üretmeyi neden tercih ettiği merak ediliyor.Astral ekibinin çalışmalarına tebrik ve olumlu tepki
pip paketlerinde derleme sorunları hakkında soru