Об этом проекте
Pygbag — это универсальный инструмент, предназначенный для упаковки и запуска Python и Pygame приложений непосредственно в современных веб-браузерах, включая мобильные версии. Он служит упаковщиком, тестовым сервером и симулятором, позволяя разработчикам переносить Python игры и интерактивные приложения в веб с помощью WebAssembly (Wasm).
Ключевые особенности:
- Прямое выполнение в браузере: Бесшовно запускает Python код в современных веб-браузерах, включая мобильные Safari и Chrome.
- Цикл с поддержкой async: Требует, чтобы главный цикл приложения был async-совместимым (с использованием asyncio).
- Интерактивный REPL: Предлагает интерактивный терминал и среду REPL для тестирования и отладки непосредственно в браузере.
- Интерфейс командной строки: Предоставляет богатый CLI с опциями для сборки, упаковки, настройки имен приложений, иконок, шаблонов и обработки SSL.
- Поддержка CPython и Pygame: Специально поддерживает pygame-ce (community edition) и предварительно собранные версии CPython (до 3.14).
- Оптимизация ресурсов: Включает оптимизатор ресурсов и управление кэшем для уменьшения сетевой передачи и улучшения времени загрузки.
Быстрый старт:
Чтобы использовать pygbag, установите его через pip и запустите против папки, содержащей main.py с async циклом:
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.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.