इस प्रोजेक्ट के बारे में

Pygbag एक बहुमुखी टूल है जिसे Python और Pygame अनुप्रयोगों को सीधे आधुनिक वेब ब्राउज़रों, मोबाइल संस्करणों सहित, में पैकेज और चलाने के लिए डिज़ाइन किया गया है। यह एक पैकेजर, टेस्ट सर्वर और सिम्युलेटर के रूप में कार्य करता है, जिससे डेवलपर्स WebAssembly (Wasm) का उपयोग करके Python गेम्स और इंटरैक्टिव अनुप्रयोगों को वेब पर ला सकते हैं। मुख्य विशेषताएँ: - सीधा ब्राउज़र निष्पादन: आधुनिक वेब ब्राउज़रों, मोबाइल Safari और Chrome सहित, में Python कोड को सहजता से चलाता है। - Async-Aware लूप: अनुप्रयोग के मुख्य लूप को async-aware होना आवश्यक है (asyncio का उपयोग करके)। - इंटरैक्टिव REPL: सीधे ब्राउज़र में परीक्षण और डिबगिंग के लिए एक इंटरैक्टिव टर्मिनल और REPL वातावरण प्रदान करता है। - कमांड-लाइन इंटरफ़ेस: बिल्डिंग, पैकेजिंग, ऐप नाम, आइकन, टेम्पलेट्स को अनुकूलित करने और SSL को संभालने के विकल्पों के साथ एक समृद्ध CLI प्रदान करता है। - CPython और Pygame समर्थन: विशेष रूप से pygame-ce (pygame कम्युनिटी एडिशन) और पूर्व-निर्मित CPython संस्करणों (3.14 तक) का समर्थन करता है। - एसेट अनुकूलन: नेटवर्क ट्रांसफर को कम करने और लोडिंग समय को बेहतर बनाने के लिए एक एसेट्स ऑप्टिमाइज़र और कैश प्रबंधन शामिल है। त्वरित शुरुआत: pygbag का उपयोग करने के लिए, इसे pip के माध्यम से इंस्टॉल करें और इसे उस फ़ोल्डर पर चलाएँ जिसमें async लूप के साथ main.py हो: pip3 install pygbag --user --upgrade pygbag your.app.folder फिर, एक आधुनिक ब्राउज़र में स्थानीय टेस्ट सर्वर URL (डिफ़ॉल्ट http://localhost:8000) पर जाएँ। संगतता: - V8-आधारित ब्राउज़र (Chromium, Brave, Chrome) को बेसलाइन WebAssembly लोडिंग प्रतिबंधों के कारण प्राथमिकता दी जाती है। - मोबाइल Safari के लिए, iOS 15.x या बाद का संस्करण आवश्यक है। शुरू में ध्वनि प्लेबैक से बचना चाहिए, और --ume_block 0 की सिफारिश की जाती है।