آموزش Real Python به معرفی uv میپردازد؛ یک package manager و ابزار مدیریت پروژه برای Python که با Rust نوشته شده است. هدف این ابزار، سریعتر کردن کارهای روزمره و جمعکردن قابلیتهای مختلف در یک ابزار است؛ از نصب dependency و مدیریت نسخههای Python تا آمادهسازی پروژه و انتشار package.
طبق این مطلب، uv بیشتر قابلیتهایی را که ابزارهایی مانند pip، pip-tools، pipx، poetry، pyenv، twine و virtualenv ارائه میکنند، یکجا در اختیار توسعهدهنده میگذارد. uv میتواند چند نسخه از Python را نصب و مدیریت کند و virtual environment موردنیاز پروژه را بهصورت خودکار بسازد و مدیریت کند تا dependencyهای پروژه از محیطهای دیگر جدا بمانند.
در بخش آمادهسازی پروژه، uv میتواند ساختار اولیه را همراه با Git repository، virtual environment، فایل pyproject.toml و README ایجاد کند. مدیریت dependency هم به نصب محدود نیست: بهروزرسانی، حذف و lock کردن dependencyهای مستقیم و غیرمستقیم را پوشش میدهد. این قابلیتها به بازتولید محیط کاری پروژه کمک میکنند؛ یعنی بتوان محیطی با dependencyهای یکسان را دوباره آماده کرد.
سرعت نصب یکی از محورهای اصلی معرفی uv است. مقاله سرعت نصب package با uv را ۱۰ تا ۱۰۰ برابر pip توصیف میکند، اما درباره نمایش تعاملی مقایسه زمانها تأکید دارد که اعداد آن صرفاً نمایشیاند و نباید آنها را یک Benchmark دقیق دانست. بنابراین این مقایسه، نتیجهای تضمینشده برای همه پروژهها نیست.
uv برای مراحل بعدی کار هم قابلیت دارد: ساخت و انتشار package در package repositories مانند PyPI و نصب و اجرای ابزارهایی مثل pytest، Black و Ruff. همچنین بهشکل standalone binary عرضه میشود؛ بنابراین برای نصب خود uv لازم نیست از قبل Python روی سیستم نصب باشد. بخش موجود از آموزش، نصب از طریق standalone installer و گزینههای مبتنی بر PyPI مانند pip و pipx را معرفی میکند و دستورهای installer را برای Windows، Linux و macOS نشان میدهد.
برای دنبالکردن آموزش، آشنایی اولیه با virtual environment، تنظیم pyproject.toml و ساخت package قابلتوزیع توصیه شده است. برای جزئیات و دستورهای نصب، به مقاله اصلی مراجعه کنید: https://realpython.com/python-uv/




