DEV Community

Cover image for Uv nədir və nə işə yarayır?
Mehman Mammadov
Mehman Mammadov

Posted on

Uv nədir və nə işə yarayır?

uv — Python layihələri üçün yüksək performanslı, təhlükəsiz və müasir paket meneceridir. Onu Astral şirkəti (https://astral.sh) hazırlayıb və məqsədi pip, virtualenv, pip-tools, venv, pyenv, pipenv, poetry kimi bir çox alətin yerinə vahid, sürətli və daha etibarlı alternativ təqdim etməkdir.


uv nə edir?

uv aşağıdakı funksiyaları bir araya gətirir:

Funksiya Əvəz etdiyi alətlər Təsviri
Paket asılılıqlarının idarəsi pip, pip-tools, requirements.txt uv add, uv lock, uv sync kimi əmrlərlə Python paketlərini əlavə edib kilidləyir.
Python versiyalarının idarəsi pyenv, asdf, conda uv python install, uv python pin ilə müəyyən Python versiyalarını yükləyib layihəyə tətbiq edir.
Virtual mühit (venv) idarəsi virtualenv, venv uv venv.venv/ avtomatik idarəsi ilə izolyasiya olunmuş mühit yaradır.
İntensiv performans Heç biri Rust dilində yazıldığı üçün çox sürətlidir (pip-dən 8-10 dəfə sürətli ola bilir).
Docker və CI/CD dəstəyi poetry, pip-tools uv-un Docker üçün xüsusi görüntüləri var və CI mühitlər üçün setup-uv GitHub Action mövcuddur.

Nə Üçün uv-a Keçməli?

Üstünlüklər:

  1. Sürətpippoetry-dən daha sürətli.  raw `pip` endraw  və  raw `poetry` endraw -dən daha sürətli.
  2. Təhlükəsizlik – Kilidlənmiş uv.lock faylı ilə versiyalar tam idarə olunur.
  3. Sadəlik – Bir neçə alət əvəzinə bircə uv ilə hər şey idarə olunur.
  4. Təmiz YAML və TOML dəstəyipyproject.toml əsaslı işləyir.
  5. Docker və CI üçün hazır dəstək – rəsmi uv Docker image-ləri mövcuddur.
  6. pre-commit ilə inteqrasiya – kilid fayllarının nəzarəti mümkündür.

Çatışmazlıqlar (hələlik):

  • Hələ nisbətən yenidir, bütün layihələrdə geniş istifadə olunmur.
  • conda və ya C-dependent paketləri idarə etməkdə məhdud ola bilər.
  • poetrypipenv kimi bəzi xüsusiyyətlər (məsələn, paket publishing) hələ tam hazır deyil.

uv necə quraşdırılır?

curl -Ls https://astral.sh/uv/install.sh | bash
Enter fullscreen mode Exit fullscreen mode

və ya

pip install uv
Enter fullscreen mode Exit fullscreen mode

Sadə İş Axını Misalı

uv python install 3.12
uv python pin 3.12
uv add django
uv lock
uv sync
Enter fullscreen mode Exit fullscreen mode

Bu əmrlərlə:

  • Python 3.12 yüklənir
  • django əlavə olunur
  • uv.lock faylı yaranır
  • Virtual mühitə bütün paketlər quraşdırılır

Top comments (0)