Google تتبنى Pyrefly لفحص أنواع Python بشكل أسرع وأكثر دقة

استبدلت Google أداة فحص أنواع Python القديمة لديها Pytype بأداة Pyrefly مفتوحة المصدر التي طورتها Meta في الأصل. جاء القرار مدفوعًا بمزايا Pyrefly، بما في ذلك فحص الأنواع بشكل أسرع وأكثر دقة، وتكاليف بنية تحتية أقل.
مع تطور نظام الأنواع في Python بسرعة، واجهت Pytype تحديات جوهرية. فقد كانت تحلل bytecode المترجم بدلاً من أشجار التركيب المجردة (ASTs) للمصدر، مما جعل مواكبة مقترحات PEP الحديثة للأنواع أمرًا صعبًا بسبب عدم استقرار bytecode عبر إصدارات Python.
وفقًا لاختبارات الأداء الداخلية لـ Google، فإن Pyrefly أسرع بنحو 10 مرات من Pytype، وتقلل زمن إعادة البناء التراكمي بنسبة تصل إلى 98%، وتخفض تكاليف الحوسبة القصوى لفحص أنواع Python بأكثر من 80%. كما أفادت Google بانخفاض بنسبة 90-99% في وقت فحص الأنواع على المسارات الحرجة للبناء النظيف، مما أدى فعليًا إلى القضاء على عنق زجاجة تطويري طويل الأمد.
نقاط القوة الرئيسية في Pyrefly
من نقاط القوة الرئيسية في Pyrefly توافقها القوي مع مواصفات الأنواع في Python، حيث تجتاز حوالي 97% من الاختبارات في مجموعة اختبارات التوافق. وتحظى الأداة بدعم نشط من المجتمع، مما يساعدها على مواكبة الصيغ الجديدة. وتقدم تشخيصاتها ملاحظات قابلة للتنفيذ، بما في ذلك تعليقات توضيحية مضمّنة في الكود تحدد السبب الجذري للأخطاء وتقترح إصلاحات في بعض الأحيان.
ردود فعل المجتمع
استجاب المجتمع بشكل إيجابي لإعلان Google. واتفق العديد من المعلقين على أن Pytype تؤدي أداءً أسوأ من Pyrefly، بينما ناقش آخرون مزايا Pyrefly مقارنة بـ Ty وMypy. وأشار البعض إلى أن Pyrefly أكثر نضجًا، حيث تجاوزت الإصدار 1.0 وأظهرت أداءً مشابهًا لـ Ty.
ولاحظ آخرون أن Mypy تؤدي أداءً جيدًا في الإعدادات الكبيرة، مع توقع أن يكون Mypy 2.0 أسرع بكثير في المشاريع الكبيرة. ومع ذلك، يمكن أن تكون أدوات فحص الأنواع الأحدث مثل Pyrefly أسرع بكثير من Mypy، خاصة في الفحوصات الباردة.
على LinkedIn، شارك مطور Python أميريا أزادمهر وجهة نظر مختلفة، مؤكدًا أن قيمة أداة فحص الأنواع لا تقتصر على توفير الوقت في خطوط CI فحسب، بل تشمل أيضًا تحسين حلقة التحرير والفحص أثناء التطوير. ونصح المطورين بقياس الأوقات الباردة والدافئة في مشاريعهم الخاصة عند تقييم أدوات فحص الأنواع.
المصدر: InfoQ