
Performant type-checking for python.
[!WARNING]
यह भंडार संग्रहीत है
यह भंडार अब अनुरक्षित नहीं है और इसे संग्रहीत कर दिया गया है।
- टाइप जाँच: Pyre को हमारी अगली पीढ़ी के Python टाइपचेकर और भाषा सर्वर Pyrefly द्वारा प्रतिस्थापित कर दिया गया है।
- सुरक्षा विश्लेषण (Pysa): Pysa अपने स्वयं के भंडार में स्थानांतरित हो गया है github.com/facebook/Pysa पर। यदि आप Pysa की तलाश में हैं, तो कृपया वहाँ जाएँ।
Pyre एक उच्च प्रदर्शन वाला Python प्रकार जाँचक है जो PEP 484 के अनुरूप है। Pyre लाखों पंक्तियों के कोडबेस का वृद्धिशील रूप से विश्लेषण कर सकता है – डेवलपर्स को कोड लिखते समय तत्काल प्रतिक्रिया प्रदान करता है। आरंभ करने के लिए हमारे दस्तावेज़ देखें।
Pyre Pysa के साथ आता है, जो एक सुरक्षा-केंद्रित स्थैतिक विश्लेषण उपकरण है जिसे हमने Pyre के ऊपर बनाया है जो Python अनुप्रयोगों में डेटा प्रवाह के बारे में तर्क करता है। Pysa अब अपने स्वयं के भंडार में github.com/facebook/Pysa पर रहता है — कृपया नवीनतम संस्करण के लिए और अपने सुरक्षा विश्लेषण के साथ आरंभ करने के लिए वहाँ जाएँ।
Pysa GitHub Marketplace पर GitHub Action के रूप में भी उपलब्ध है।
आरंभ करने के लिए, आपको अपने सिस्टम पर 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 लाइसेंस के तहत लाइसेंस प्राप्त है।