
فحص الأنواع عالي الأداء لبايثون.
[!WARNING]
هذا المستودع مُؤرشف
لم يعد هذا المستودع مُدارًا وقد تمت أرشفته.
- فحص الأنواع: تم استبدال Pyre بـ Pyrefly، وهو أداة فحص أنواع بايثون وخادم لغة من الجيل التالي خاصتنا.
- تحليل الأمان (Pysa): انتقلت Pysa إلى مستودعها الخاص على github.com/facebook/Pysa. إذا كنت تبحث عن Pysa، فتفضل بزيارته.
Pyre هي أداة فحص أنواع عالية الأداء للغة بايثون متوافقة مع PEP 484. تستطيع Pyre تحليل قواعد بيانات شيفرية تحتوي على ملايين الأسطر من الشيفرة بشكل تزايدي – مما يوفر تغذية راجعة فورية للمطورين أثناء كتابة الشيفرة. راجع توثيقنا للبدء.
تأتي Pyre مزودة بـ Pysa، وهي أداة تحليل ثابتة موجهة للأمان بُنيت فوق Pyre وتقوم باستنتاج تدفقات البيانات في تطبيقات بايثون. تعيش Pysa الآن في مستودعها الخاص على github.com/facebook/Pysa – يُرجى التوجه إلى هناك للحصول على أحدث إصدار والبدء في تحليل الأمان الخاص بنا.
Pysa متوفرة أيضًا على سوق GitHub كإجراء GitHub
للبدء، تحتاج إلى Python 3.9 أو أحدث و watchman يعملان على نظامك. على MacOS يمكنك الحصول على كل شيء بواسطة homebrew:
$ brew install python3 watchman
على Ubuntu أو Mint أو Debian؛ استخدم apt-get و homebrew:
$ sudo apt-get install python3 python3-pip python3-venv
$ brew install watchman
اختبرنا Pyre على Ubuntu 18.04.5 LTS و CentOS 7 و OSX 10.11 والإصدارات الأحدث.
نبدأ بإنشاء دليل مشروع فارغ وإعداد بيئة افتراضية:
$ mkdir my_project && cd my_project
$ python3 -m venv ~/.venvs/venv
$ source ~/.venvs/venv/bin/activate
(venv) $ pip install pyre-check
بعد ذلك، نخبر Pyre عن مشروعنا الجديد:
(venv) $ pyre init
سيقوم هذا الأمر بإعداد تكوين لـ Pyre (.pyre_configuration) بالإضافة إلى watchman (.watchmanconfig) في دليل مشروعك. اقبل الإعدادات الافتراضية الآن – يمكنك تغييرها لاحقًا إذا لزم الأمر.
نحن الآن جاهزون لتشغيل Pyre:
(venv) $ echo "i: int = 'string'" > test.py
(venv) $ pyre
ƛ Found 1 type error!
test.py:1:0 Incompatible variable type [9]: i is declared to have type `int` but is used as type `str`.
سيؤدي هذا الاستدعاء الأول إلى بدء خفيض يستمع لتغييرات نظام الملفات – حيث يقوم بفحص أنواع مشروعك بشكل تزايدي أثناء قيامك بالتعديلات على الشيفرة. ستلاحظ أن الاستدعاءات اللاحقة لـ pyre ستكون أسرع من الأولى.
لمزيد من التوثيق المفصل، راجع https://pyre-check.org.
راجع CONTRIBUTING.md لمعرفة كيفية المساهمة.
Pyre مرخصة بموجب ترخيص MIT.