Skip to main content

itchy

Write typed Python games, generate native Scratch blocks, and export self-contained .sb3 projects.

Install with uv and Python 3.12 or newer:

uv tool install itchy
mkdir my-game
cd my-game
itchy init
itchy run

itchy init creates a starter with two sprite modules, a stage, shared variable/list/message modules, SVG costumes, and project configuration in an empty directory. Edit the sprite modules to create your game; its comments link to the itchy book. itchy run prepares the Scratch runtime and opens your game in a local browser. The first run needs internet access to install runtime dependencies.

To translate a Scratch project into Python, run itchy import my-game.sb3 [directory]. This creates readable Python using itchy's purpose-built builders where available, copies costumes and sounds to assets/, and records unresolved source blocks and remaining generic fallbacks in IMPORT_NOTES.md. Custom blocks are reconstructed as Python Procedure objects. Run itchy build to export a new .sb3 from the Python source.

itchy run --no-open       # Serve without opening a browser
itchy run --port 4400     # Choose a port
itchy build               # Export dist/game.sb3 and a shareable browser preview

Open an exported .sb3 in Scratch with File → Load from your computer. Generated projects use standard Scratch blocks; Scratch website import is not yet automatically verified.

For development of itchy itself:

git clone https://github.com/vivainio/itchy.git
cd itchy
uv sync
source .venv/bin/activate
itchy check
itchy test --browser

The book's Markdown sources are in docs/, with navigation and theme in zensical.toml.

Keep local Scratch test projects as test-apps/*.sb3 (the entire directory is gitignored). Run uv run python scripts/rebuild_test_apps.py to delete and recreate each matching test-apps/<name>-python/ directory, run ty check against the checkout's environment, then build its dist/game.sb3 and browser preview. The source .sb3 files are preserved; edits in the generated Python directories are discarded.

Metadata

Release files for itchy 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for itchy 0.2.0
File Size Uploaded
itchy-0.2.0.tar.gz 126.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for itchy 0.2.0
File Interpreter ABI Platform
itchy-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 197.5 kB

Release files / itchy-0.2.0.tar.gz

Download URL itchy-0.2.0.tar.gz
Size 126.6 kB
Tags Source
SHA-256 checksum
How to use checksums
f4c7197ee7b33d22c794e8b0cacd69fbfb79330f50be79e9141e6c86daa248f7
BLAKE2b-256 checksum
How to use checksums
87aacaa58f1c7137623cf8837d83ffdd652bdbfe1a7ae3707fd60f9a15de6f4d
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 Oct 11, 2026.

Transparency log

Release files / itchy-0.2.0-py3-none-any.whl

Download URL itchy-0.2.0-py3-none-any.whl
Size 70.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5d082bf97f59f4f1aff0b4dcfe90b9d1acc13aad71040ad1859b1e34ac98e73b
BLAKE2b-256 checksum
How to use checksums
156bc09f1231a98def84829352fc5cce582ef601913e3a921ab841646f538bb0
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 Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page