- uv adalah installer dan resolver paket Python supercepat yang ditulis dengan Rust, dirancang untuk menggantikan alur kerja
pipdanpip-tools - uv merupakan tonggak menuju "Cargo for Python", yaitu pengelola proyek dan paket Python yang komprehensif, cepat, andal, dan mudah digunakan
- Ada rencana untuk mengambil alih pengelolaan Rye, alat packaging Python yang dikembangkan secara eksperimental oleh Armin Ronacher, lalu memperluas uv sebagai proyek penerus yang terintegrasi
Fokus yang obsesif pada performa
- uv 8-10 kali lebih cepat daripada
pipdanpip-toolstanpa caching, dan 80-115 kali lebih cepat saat cache tersedia. - Menggunakan cache modul global agar dependensi tidak perlu diunduh atau dibangun ulang, serta memanfaatkan Copy-on-Write dan hardlink pada sistem file yang didukung untuk meminimalkan penggunaan ruang disk.
Optimasi adopsi
- Rilis awal uv mendukung API
pipdanpip-tools, sehingga dapat digunakan di proyek yang sudah ada tanpa perubahan konfigurasi. - uv disediakan sebagai satu binary statis tunggal, dan dapat menggantikan
pip,pip-tools, sertavirtualenv. - Dapat diinstal terpisah dari Python itu sendiri tanpa perlu mengelola instalasi
pipberdasarkan versi Python.
"Cargo for Python": uv dan Rye
- uv adalah tonggak perantara menuju pengelola paket dan proyek Python terpadu yang cepat, andal, dan mudah digunakan.
- uv menargetkan satu binary tunggal yang mencakup bukan hanya
pip,pip-tools, danvirtualenv, tetapi jugapipx,tox,poetry,pyenv,ruff, dan lainnya.
API yang kompatibel
- Dengan menggunakan
uv pip installalih-alihpip install, dependensi Python dapat diinstal dari command line, file requirements, ataupyproject.toml. - Dengan menggunakan
uv pip compilealih-alihpip-compile, dapat dibuatrequirements.txtyang terkunci. - Dengan menggunakan
uv pip syncalih-alihpip-sync,requirements.txtyang terkunci dan virtual environment dapat disinkronkan.
Roadmap
- Setelah rilis ini, prioritasnya adalah dukungan pengguna sambil berfokus pada peningkatan kompatibilitas, performa, dan stabilitas.
- Setelah itu, targetnya adalah memperluas uv menjadi pengelola proyek dan paket Python yang lengkap.
Ucapan terima kasih
- Menyampaikan terima kasih kepada semua pihak yang telah berkontribusi secara langsung maupun tidak langsung dalam pengembangan uv.
- Secara khusus, berterima kasih kepada Jacob Finkelman dan Matthieu Pizenberg, yang digunakan di uv sebagai resolver versi dasar untuk PubGrub.
Opini GN⁺
- uv adalah alat inovatif yang menawarkan performa jauh lebih cepat dibandingkan alat
pipyang ada bagi pengembang Python, sehingga dapat secara signifikan mempersingkat waktu penyiapan proyek. - Karena ditulis dengan Rust, uv mencerminkan tren baru dalam ekosistem Python yang menekankan performa dan stabilitas, dan hal ini diharapkan akan sangat meningkatkan pengalaman pengembang.
- Pengembangan uv mengarah pada integrasi alat packaging dan manajemen proyek Python, yang akan memungkinkan pengembang bekerja dengan cara yang lebih efisien dan konsisten.
3 komentar
Kecepatannya benar-benar luar biasa;;
Semoga bisa diperluas dan menggantikan conda.
Opini Hacker News
Keraguan terhadap pip-dan-lainnya yang didukung VC
Pertanyaan tentang tidak didukungnya pembuatan lockfile yang independen dari platform oleh uv
Penilaian positif terhadap dukungan uv untuk strategi resolusi dependensi alternatif
--resolution=lowest.--python-version.Pertanyaan tentang kompleksitas sistem paket Python
Hal menarik tentang penggunaan pubgrub-rs oleh uv
Penyebutan prediksi tentang arah tim Astral
Pengalaman pribadi tentang kecepatan pip
Pandangan skeptis tentang manajer paket Python baru
Rasa ingin tahu tentang keputusan uv membuat file requirements.txt khusus platform
Ucapan selamat dan respons positif terhadap pekerjaan tim Astral
Pertanyaan tentang masalah kompilasi pada paket pip