3 पॉइंट द्वारा GN⁺ 2023-12-10 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Gooey का उपयोग करके Python कंसोल प्रोग्राम को GUI एप्लिकेशन में बदलना

  • Gooey, Python 3 कंसोल प्रोग्रामों को उपयोगकर्ता-अनुकूल GUI एप्लिकेशन में बदलने का एक टूल है.
  • कमांड प्रॉम्प्ट की जगह GUI देकर यह प्रोग्राम को अधिक आसान और आकर्षक बना सकता है.
  • यह non-programmer उपयोगकर्ताओं के लिए स्क्रिप्ट या data migration जैसे कामों के utility बनाने में उपयोगी है.

Gooey कैसे काम करता है

  • Gooey, argparse declaration वाले method में decorator जोड़कर कोड से जुड़ता है.
  • रन के समय Python script को parse करके ArgumentParser reference निकालता है और GUI को assemble करता है.
  • GooeyParser का उपयोग करके GUI में दिखने वाले widget पर अधिक सूक्ष्म नियंत्रण किया जा सकता है.

Gooey का अंतरराष्ट्रीयकरण

  • Gooey को कई भाषाओं में आसानी से अनुवादित किया जा सकता है, और फिलहाल इसमें 18 से अधिक translations शामिल हैं.
  • नई भाषा का समर्थन जोड़ना gooey/languages/ directory में key/value pair जोड़ने जितना आसान है.

Gooey की global settings

  • Gooey का overall look and feel decorator में arguments देकर customize किया जा सकता है.
  • encoding, भाषा, startup size, font settings आदि जैसे कई configuration elements को customize किया जा सकता है.

Gooey के layout का customization

  • Gooey कुछ सरल customization के जरिए flexible layout प्रदान करता है.
  • sidebar दिखाना है या नहीं, tab group का उपयोग आदि के माध्यम से यह कई layout options देता है.

Gooey के execution modes

  • Gooey कई display modes देता है, जिनसे content type और उपयोगकर्ता के experience level के अनुसार layout को समायोजित किया जा सकता है.
  • advanced, basic, और no-config modes के जरिए अलग-अलग user needs के लिए अनुकूलित GUI दिया जा सकता है.

Gooey के menu

  • custom menu groups और items को Gooey की menu bar में जोड़ा जा सकता है.
  • यह कई प्रकार के menu options को support करता है, जिनसे program info, message dialog, link आदि दिए जा सकते हैं.

Gooey की dynamic validation

  • उपयोगकर्ता इनपुट को प्रोग्राम तक भेजने से पहले Gooey वैकल्पिक रूप से pre-validation चला सकता है ताकि यह सुनिश्चित हो सके कि सभी arguments validation pass करें.

Gooey के lifecycle events और UI control

  • Gooey lifecycle hooks देता है, जिनसे प्रोग्राम के सफल execution या failure के बाद अतिरिक्त follow-up actions लिए जा सकते हैं और UI की वर्तमान स्थिति को नियंत्रित किया जा सकता है.

Gooey में progress display

  • Gooey text-based progress updates के आधार पर progress bar की स्थिति को अपडेट कर सकता है.
  • regular expression और custom evaluation expressions के जरिए progress की जानकारी Gooey को दी जा सकती है.

Gooey के icon customization

  • Gooey default icons को custom images/icons से बदलने की सुविधा देता है.
  • image_dir argument के जरिए custom image directory निर्दिष्ट की जा सकती है.

Gooey की packaging

  • Gooey को executable के रूप में package करना बहुत आसान है, और pyinstaller का उपयोग करके application को ready-to-run executable में bundle किया जा सकता है.

GN⁺ की राय

इस लेख की सबसे महत्वपूर्ण बात यह है कि Gooey Python कंसोल प्रोग्रामों को आसानी से GUI एप्लिकेशन में बदल सकता है. इससे non-programmer उपयोगकर्ताओं के लिए प्रोग्राम अधिक परिचित और सुलभ बन सकते हैं, और इसके कारण डेवलपर user interface की चिंता किए बिना logic पर ध्यान केंद्रित कर सकते हैं. Gooey की विविध settings और customization options डेवलपर्स के लिए इसे एक आकर्षक विकल्प बनाते हैं, और यह GUI development में entry barrier को कम करने में बड़ा योगदान दे सकता है.

1 टिप्पणियां

 
GN⁺ 2023-12-10
Hacker News टिप्पणियाँ
  • Gooey प्रोजेक्ट के बारे में डेवलपर की व्याख्या

    • Gooey एक पुराना प्रोजेक्ट है, और जब यह शुरू हुआ था तब argparse एक मज़बूत विकल्प था.
    • अब Gooey JSON का उपयोग करता है और argparse से अलग हो चुका है.
    • argparse अभी भी मुख्य इंटरफ़ेस है, लेकिन इसके अच्छे विकल्प ज़्यादा नहीं हैं.
    • Gooey का उपयोग करके Python के अलावा किसी भी executable को भी कॉल किया जा सकता है.
    • इस बात पर अफसोस जताया गया कि आख़िरी commit 2 साल पहले था; उम्र बढ़ने और प्राथमिकताएँ बदलने के साथ मुफ़्त में software पर काम करना सही ठहराना कठिन हो गया.
  • Gooey और argparse के संबंध पर चर्चा

    • argparse साधारण कामों के लिए उपयुक्त है, लेकिन कई CLI Click आधारित हैं, और Click पर आधारित लोकप्रिय CLI libraries भी मौजूद हैं.
    • यह स्पष्ट नहीं है कि यह Click के साथ compatible है या नहीं, और यदि यह केवल argparse तक सीमित है तो "लगभग सभी" कहना पूरी तरह सटीक नहीं हो सकता.
    • प्रोजेक्ट में कुछ खुले issues हैं जो भरोसा नहीं जगाते, फिर भी प्रोजेक्ट का विचार अपने आप में दिलचस्प है.
  • Gooey पर पिछली चर्चाओं के लिंक दिए गए

    • बताया गया कि जून 2021 और अगस्त 2014 में Hacker News पर Gooey को लेकर चर्चा हुई थी.
  • यह इच्छा कि operating system और shell प्रोग्रामों को बेहतर ढंग से चला सकें

    • उम्मीद जताई गई कि प्रोग्राम JSON/protocol फ़ॉर्मेट में संवाद करें ताकि shell command structure या GUI को बेहतर बनाया जा सके.
    • अभी स्थिति यह है कि shell completion files export की जाती हैं, flags के कई अलग-अलग styles और parsing libraries मौजूद हैं, लेकिन GUI नहीं है.
  • Textual framework का परिचय

    • Python में एक सरल API का उपयोग करके terminal और web browser में चलने वाले user interfaces बनाने के लिए Textual framework का परिचय दिया गया.
  • ffmpeg के लिए GUI version के बारे में पूछताछ

    • ffmpeg के parameters को GUI के रूप में उपलब्ध कराने वाले टूल में रुचि व्यक्त की गई.
  • ऐसे CLI tools और Gooey के integration पर सवाल जो user input की अपेक्षा करते हैं

    • game engine debugging के लिए bisect script में GUI जोड़कर उपयोगकर्ता को समस्या की पहचान में मदद देने के तरीक़े में रुचि दिखाई गई.
  • GUI से CLI में बदलने वाले टूल में रुचि

    • उल्टा, GUI को CLI में बदलने वाले टूल की इच्छा व्यक्त की गई.
  • Naked Objects concept का उल्लेख

    • Naked Objects को एक ऐसे विचार के रूप में समझाया गया जिसमें Java classes और annotations परिभाषित करने पर GUI या web frontend अपने आप बन जाता है.
  • इस पर जिज्ञासा कि क्या Gooey web app बना सकता है

    • यह सवाल उठाया गया कि क्या Gooey React या JS के बिना web app बना सकता है.
    • तुलना के तौर पर Python Script Server का उल्लेख किया गया, जो CLI प्रोग्राम के सामने web frontend रखने वाला एक low-code टूल है.