pygodide turns Pygame projects into browser apps using Pyodide with one command, no edits to your source code, and achieving 2.5x more FPS than pygbag (in certain cases).
Pronounced "pie-go-died"
Loading screen | FPS vs pygbag
Quick Start
From your project's root directory, run the following commands:
Install
# Or add to your pyproject.toml and `uv sync`
pip install pygodide
Build
# Produces the web-hostable build/ directory
pygodide build .
# For an itch.io zip file
pygodide build . --zip
Serve
# Hosts the build/ directory locally
pygodide serve .
Open http://localhost:8000 in your browser.
Troubleshooting
If anything went wrong, work through the instructions page first (config, async, smoke tests, and common failures).
If you still cannot get your game running in the browser, open a
"My project didn't convert" issue
so we can improve pygodide for everyone. Paste build/pygodide-build.log into
the form.
Examples and Live Demos
Sample projects live under
test_targets/, and a few of them are uploaded to itch.io.
Try one locally:
git clone https://github.com/Elan456/pygodide.git
cd pygodide
pip install pygodide
pygodide build test_targets/ball_bouncing
pygodide serve test_targets/ball_bouncing
Before every release, each target under test_targets/ is automatically verified using a headless browser to catch regressions. All features shown in the test targets are maintained as first-class features.
Contributing
git clone https://github.com/Elan456/pygodide.git
cd pygodide
uv sync --dev
uv run playwright install chromium
uv run pre-commit install --hook-type pre-commit --hook-type pre-push
The dev group includes pygodide[smoke], so Playwright is installed with
uv sync --dev. You still need playwright install chromium once for browser
binaries.
Run the same checks as CI:
uv run ruff format --check .
uv run ruff check .
uv run pytest
Smoke tests (from this repo)
uv run playwright install chromium # once
uv run pygodide smoke /path/to/your/pygame/project
uv run pygodide smoke test_targets --suite
Be sure to read AGENTS.md; it is written for both human contributors and AI tools.
Metadata
Release files for pygodide 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pygodide-0.1.0.tar.gz | 521.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pygodide-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 582.3 kB
Release files / pygodide-0.1.0.tar.gz
| Download URL | pygodide-0.1.0.tar.gz |
|---|---|
| Size | 521.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a8a82571beff74dff0b7ae5485520cb57ce80551602da8f29fea29b0ab7ad429
|
|
BLAKE2b-256 checksum How to use checksums |
616c77882993111ad5abe9f56c6905b206427e3116b015c32ec52c472b1fbf33
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 6, 2026.
Transparency logRelease files / pygodide-0.1.0-py3-none-any.whl
| Download URL | pygodide-0.1.0-py3-none-any.whl |
|---|---|
| Size | 60.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49be791ffef315fd0d0c5d69ec1b93a528d2aca1bdd787114c0489ab6e923016
|
|
BLAKE2b-256 checksum How to use checksums |
6880db4220c742f7bb041b1b41476eb462f1c5578af053620a6cb0217e02ddfe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 6, 2026.
Transparency log