نام فایل wheel درباره سازگاری package چه می‌گوید؟

چرا مهم است

اگه با uv برای انتشار package آماده می‌شی، نام فایل خروجی اطلاعات مفیدی به تو می‌ده. شناخت بخش‌های سازگاری کمک می‌کنه بدونی این نام فقط شناسه پروژه و شماره نسخه نیست.

قبل از خواندن، این‌ها را بدان۳ مفهوم
Wheel

قالب فایل توزیع package در Python با پسوند ‎.whl که هنگام آماده‌سازی پروژه برای انتشار ساخته می‌شود.

بیشتر درباره این مفهوم

Compatibility Tag

بخشی از نام فایل Wheel که اطلاعات سازگاری آن را مشخص می‌کند؛ سه بخش پایانی نام به Python، ABI و platform مربوط‌اند.

بیشتر درباره این مفهوم

Python Tag

بخش مربوط به پیاده‌سازی و نسخه موردنیاز Python در اطلاعات سازگاری نام فایل Wheel.

بیشتر درباره این مفهوم

مطلب Rodrigo Girão Serrão با هدف معرفی abi3t و limited C API به توسعه‌دهندگانی نوشته شده که تجربه کار با C extension ندارند. بخش در دسترس، پیش از ورود به این موضوع‌ها، ساختار فایل Wheel و اطلاعات سازگاری در نام آن را توضیح می‌دهد.

Wheel فایل توزیع package در Python است و پسوند ‎.whl دارد. نویسنده برای نشان دادن فرایند ساخت آن، با دستور «uv init --package pkgtest» یک پروژه ایجاد می‌کند و سپس در پوشه پروژه، «uv build» را اجرا می‌کند. خروجی این نمونه شامل فایل «pkgtest-0.1.0-py3-none-any.whl» است.

سه بخش پایانی نام این فایل، Compatibility Tag هستند و با الگوی «{python tag}-{abi tag}-{platform tag}» کنار هم قرار می‌گیرند. این اطلاعات تعیین می‌کنند Wheel روی چه سیستم‌ها و در چه محیط‌هایی قابل نصب است. Python Tag مشخص می‌کند کدام پیاده‌سازی و نسخه Python لازم است؛ ABI tag نیز نیاز به ABI را نشان می‌دهد.

بنابراین نام Wheel فقط نام و نسخه package نیست؛ اطلاعاتی درباره سازگاری آن هم در خود دارد. بخش ارائه‌شده از مطلب در همین توضیح مقدماتی متوقف می‌شود و هنوز جزئیات abi3t و limited C API را شرح نمی‌دهد.

نکته کلیدی

دفعه بعد که یک فایل ‎.whl دیدی، سه بخش آخر نامش رو جدا کن. اون‌ها رو به‌ترتیب برای Python، ABI و platform بخون؛ از بخش مقدماتی این مطلب هم درباره جزئیات abi3t نتیجه‌گیری نکن.

خواندن مقاله اصلی (در زبانه‌ی جدید باز می‌شود)
برچسب‌ها (۴)