Об этом проекте

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.