ادغام آزمایشی ابزارهای uv و ty؛ گامی جدید برای یکپارچهسازی ابزارهای توسعه پایتون — Bringing uv and ty together
خلاصه
شرکت Astral از یکپارچهسازی آزمایشی ابزار مدیریت بسته uv و ابزار بررسی نوع ty خبر داده است. این همکاری امکان مدیریت خودکار محیطهای مجازی و بررسی نوع کدها و اسکریپتهای پایتون را با یک دستور واحد فراهم میکند.
توسعهدهندگان اکوسیستم پایتون ابزارهای شرکت Astral مانند مدیر بسته uv و ابزار لینت و فرمت Ruff را به خوبی میشناسند. این شرکت اکنون با معرفی یکپارچهسازی آزمایشی میان uv و ابزار بررسی نوع ty (که شامل Language Server نیز میشود)، گام بلندی برای یکپارچهسازی ابزارهای توسعه برداشته است.
زمینه و ضرورت یکپارچهسازی
تا پیش از این، هر کدام از ابزارهای Astral روی بخش مجزایی از چرخه توسعه پایتون تمرکز داشتند. اما دیدگاه این تیم آن است که اگرچه هر ابزار باید بهصورت مستقل و قابلتعامل با سایر بخشهای اکوسیستم کار کند، اما در صورت استفاده ترکیبی میتوانند قابلیتهای بسیار قدرتمند تری ارائه دهند. uv تسلط کاملی روی محیطها و وابستگیهای پروژه دارد و ty کدهای شما را درک میکند. ترکیب این دو، کارهایی فراتر از توانمندی هرکدام بهتنهایی را ممکن میسازد.
جزئیات فنی و قابلیتهای کلیدی
- پشتیبانی درجهیک از اسکریپتهای پایتون: بر اساس استاندارد
PEP 723، اسکریپتهای پایتون میتوانند وابستگیها و نسخه پایتون مورد نیاز خود را به صورت متادیتای درونخطی (Inline Metadata) اعلام کنند. ابزارtyاکنون میتواند این متادیتا را بخواند و با کمکuv، محیط اختصاصی هر اسکریپت را در پسزمینه آماده کند تا بررسی نوع (Type Checking)، تکمیل خودکار کد و ناوبری بدون مشکل انجام شود. - دستور یکپارچه
uv check: با دستور جدیدuv check، فرآیند راهاندازی محیط، نصب وابستگیها و بررسی کدهای پروژه باtyتنها با اجرای یک دستور انجام میشود. این دستور همچنین از فضای کاری (workspaces) و اسکریپتهای مستقلPEP 723پشتیبانی کامل دارد. - نسخهبندی دقیق در Lockfile: نسخه
tyدرونlockfileپروژه ذخیره میشود؛ بنابراین تمام توسعهدهندگان تیم و محیطهای CI دقیقاً از یک نسخه مشابه برای بررسی نوع کدها استفاده خواهند کرد.
نحوه راهاندازی و استفاده
برای استفاده از این قابلیت در ویرایشگر VS Code برای اسکریپتهای PEP 723، کافی است افزونه ty را نصب کرده و تنظیم زیر را در فایل settings.json فعال کنید:
{
"ty.experimental.useUv": "on"
}
همچنین اجرای دستور uv check در خط فرمان، بهصورت خودکار محیط را آماده کرده و نیازی به تنظیمات پیچیده اضافی ندارد. این امکانات نیازمند نسخه 0.12.3 یا بالاتر از uv و نسخه 0.0.76 یا بالاتر از ty است.
نگاه جامعه هکرنیوز
این خبر در هکرنیوز با واکنشهای متفاوتی روبهرو شد:
- برخی کاربران از ترکیب ابزارهای مستقل انتقاد کردند و ترجیح میدهند ابزارها کاملاً ماژولار باقی بمانند تا بتوانند
tyرا با ابزارهای دلخواه دیگر (مانندpip-tools) بدون وابستگی به ساختارهای نظراتیuvاستفاده کنند. - در مقابل، گروهی از مهندسان معتقدند داشتن ابزارهای یکپارچه که بررسی نوع و مدیریت پکیج را بهصورت پیشفرض و یکجا ارائه میدهند، مانع از تنبلی یا فراموشی تیمها در اضافه کردن ابزارهای کیفی به پروژههای متوسط میشود و زحمت راهاندازی را به شدت کاهش میدهد.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل