पाइफैब्रिकेट एक मैक ओएस एक्स एप्लिकेशन है जो पायथन परियोजनाओं के निर्माण को सरल बनाता है। चूँकि मैंने इसे लिखा है, जाहिर तौर पर यह मेरा विचार है कि पायथन प्रोजेक्ट जैसा दिखना चाहिए, उसका एक विचारित संस्करण है। इसके अतिरिक्त, मेरे पास एक निश्चित टूलसेट है जिसका उपयोग मैं पायथन मैक ओएस एक्स एप्लिकेशन लिखने में सक्षम बनाने के लिए करता हूं। हालाँकि, मैंने उन टेम्पलेट्स को उजागर करके थोड़ा सा अनुकूलन बनाने की कोशिश की, जिनसे मैं प्रोजेक्ट फ़ाइलें बनाता हूँ। इस पर और अधिक जानकारी बाद में।
प्रोजेक्ट विवरण के लिए क्वेरी करने के लिए PyFabricate एक विज़ार्ड-जैसे इंटरफ़ेस का उपयोग करता है।
डेवलपर निर्धारित निर्भरता स्थापित करने के लिए HomeBrew का उपयोग करता है।
परियोजना का नाम मॉड्यूल पैकेज नाम के समान है
वर्तमान रिलीज़ यहां से प्राप्त करें।
इस फ़ाइल को अपने मैक ओएस एप्लिकेशन फ़ोल्डर में कॉपी करें। एप्लिकेशन पर Apple कोड हस्ताक्षरित है, इसलिए आपको एक सरल संदेश मिलेगा जिसे पहली बार निष्पादित करते समय आपको स्वीकार करना होगा।
निम्नलिखित प्रारंभिक कंकाल का एक नमूना है जिसे PyFabricator बनाता है। अब यह उस आभासी वातावरण को दिखाता है जिसे यह बनाता है। इस पर और अधिक जानकारी बाद में।
अनिवार्य रूप से, PyFabricate स्रोत बनाता है और निर्देशिकाओं का परीक्षण करता है। प्रोजेक्ट रूट निर्देशिका में यह निम्नलिखित फ़ाइलें बनाता है:
इसके अतिरिक्त, PyFabricate सभी उपयुक्त स्थानों पर सभी पायथन पैकेज फ़ाइलें (__init__.py) बनाता है। और अंत में, यह लॉगिंग कॉन्फ़िगरेशन फ़ाइलों के दो सेट रखता है, एक आपके एप्लिकेशन के लिए और एक आपके यूनिट परीक्षणों के लिए।
निर्माण के अंत में, PyFabricate एक Python आभासी वातावरण बनाता है। तकनीकी सीमाओं के कारण PyFabricate वर्चुअल वातावरण बनाने के लिए Python के pyenv संस्करण का उपयोग नहीं कर सकता है। इस प्रकार, यह होमब्रू स्थापित संस्करण पर निर्भर करता है।
विज़ार्ड यूआई एक 4 चरणों वाली प्रक्रिया है जहां PyFabricate पर्याप्त प्रोजेक्ट विवरण एकत्र करता है जिसका उपयोग वह स्केलेटन टेम्पलेट्स को पॉप्युलेट करने के लिए करता है। टेम्प्लेट निम्नलिखित स्व-व्याख्यात्मक प्रतिस्थापन टोकन का उपयोग करते हैं।
टोकन नाम | विवरण |
---|---|
PROJECT_NAME | आधार परियोजना निर्देशिका के निर्माण के लिए उपयोग किया जाता है और यह पायथन मॉड्यूल नाम है |
विवरण | जनरेट किए गए pyproject.toml में विवरण के रूप में रखा गया |
OWNER_NAME | जनरेटेड pyproject.toml में लेखक का नाम और अनुरक्षक नाम के रूप में रखा गया है |
OWNER_EMAIL | जेनरेट किए गए pyproject.toml में लेखक और अनुरक्षक दोनों के लिए ईमेल पते के रूप में रखा गया है |
कीवर्ड | जेनरेटेड pyproject.toml में प्रोजेक्ट कीवर्ड के रूप में उपयोग किया जाता है |
PYTHON_VERSION | वर्चुअल वातावरण वाली निर्देशिका को बाहर करने के लिए जेनरेट की गई .gitignore फ़ाइल में उपयोग किया जाता है। इसके अतिरिक्त उत्पन्न वर्चुअल वातावरण के लिए निर्देशिका नाम के रूप में जोड़ा गया। उदाहरण के लिए, 'पाइनव-3.12.0' |
निम्नलिखित pyroject.toml टेम्पलेट का एक एनोटेटेड ग्राफ़िक है।
यह चरण PyFabricate का परिचय है। इस चरण के बाद, PyFabricate यह सुनिश्चित करने का सर्वोत्तम प्रयास करता है कि उसकी निष्पादन निर्भरताएँ पूरी हों। यदि नहीं, तो डेवलपर इस चरण से आगे नहीं बढ़ सकता।
इस चरण में PyFabricate परियोजना विशिष्ट जानकारी एकत्र करता है। इनमें से अधिकांश pyproject.toml टेम्पलेट को पॉप्युलेट करने का कार्य करते हैं।
पाइफैब्रिकेट मानता है कि डेवलपर अपने सभी पायथन प्रोजेक्ट्स को एक ही उपनिर्देशिका में रखता है। यह एक वैचारिक दृष्टिकोण है और केवल एक संगठनात्मक प्राथमिकता है।
पाइफैब्रिकेट डेवलपर द्वारा इंस्टॉल किए गए पायथन संस्करणों के लिए पाइएनव से पूछताछ करता है। ये एकमात्र हैं जिनसे PyFabricate Python आभासी वातावरण बना सकता है।
विज़ार्ड के अंत में, PyFabricate प्रोजेक्ट बनाते समय एक लॉग प्रस्तुत करता है। निम्नलिखित एक उदाहरण लॉग है।
जैसा कि पहले उल्लेख किया गया है, डेवलपर परियोजना निर्माण के कुछ पहलुओं को अनुकूलित कर सकता है। जैसा कि नीचे बताया गया है, PyFabricate अपने द्वारा उपयोग किए जाने वाले टेम्प्लेट को $HOME/.config/pyfabriate/templates में संग्रहीत करता है।
उदाहरण के लिए, कोई डेवलपर भिन्न लाइसेंस का उपयोग करना चाह सकता है। बस, LICENSE.template फ़ाइल को बदलें
PyFabricate वर्तमान में केवल संस्करण 0.5.0 पर है। मैं वर्तमान में अतिरिक्त सुविधाएं जोड़ने और सीमाएं हटाने की जांच कर रहा हूं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3