প্রকল্প সম্পর্কে

Pygbag একটি বহুমুখী টুল যা পাইথন এবং Pygame অ্যাপ্লিকেশন সরাসরি আধুনিক ওয়েব ব্রাউজারে, মোবাইল সংস্করণসহ, প্যাকেজ ও চালানোর জন্য ডিজাইন করা হয়েছে। এটি একটি প্যাকেজার, টেস্ট সার্ভার এবং সিমুলেটর হিসেবে কাজ করে, যা ডেভেলপারদের WebAssembly (Wasm) ব্যবহার করে পাইথন গেম এবং ইন্টারঅ্যাকটিভ অ্যাপ্লিকেশন ওয়েবে আনার সুযোগ দেয়। মূল বৈশিষ্ট্য: - সরাসরি ব্রাউজার এক্সিকিউশন: আধুনিক ওয়েব ব্রাউজারে, মোবাইল Safari এবং Chrome সহ, পাইথন কোড নির্বিঘ্নে চালায়। - 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) যান। সামঞ্জস্যতা: - বেসলাইন WebAssembly লোডিং সীমাবদ্ধতার কারণে V8-ভিত্তিক ব্রাউজার (Chromium, Brave, Chrome) পছন্দনীয়। - মোবাইল Safari-এর জন্য, iOS 15.x বা তার পরবর্তী সংস্করণ প্রয়োজন। শুরুতেই সাউন্ড প্লেব্যাক এড়ানো উচিত, এবং --ume_block 0 সুপারিশ করা হয়।