itchy 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. itchy-0.1.0/.gitignore +10 -0
  2. itchy-0.1.0/PKG-INFO +57 -0
  3. itchy-0.1.0/README.md +36 -0
  4. itchy-0.1.0/bun.lock +468 -0
  5. itchy-0.1.0/bunw +7 -0
  6. itchy-0.1.0/docs/api.md +109 -0
  7. itchy-0.1.0/docs/architecture.md +32 -0
  8. itchy-0.1.0/docs/assets.md +42 -0
  9. itchy-0.1.0/docs/build.md +39 -0
  10. itchy-0.1.0/docs/cli.md +28 -0
  11. itchy-0.1.0/docs/documentation.md +29 -0
  12. itchy-0.1.0/docs/game-structure.md +46 -0
  13. itchy-0.1.0/docs/getting-started.md +43 -0
  14. itchy-0.1.0/docs/index.md +40 -0
  15. itchy-0.1.0/docs/logic.md +60 -0
  16. itchy-0.1.0/docs/scratch-examples.md +62 -0
  17. itchy-0.1.0/docs/sequences.md +67 -0
  18. itchy-0.1.0/docs/testing.md +46 -0
  19. itchy-0.1.0/games/__init__.py +0 -0
  20. itchy-0.1.0/games/assets/coin.png +0 -0
  21. itchy-0.1.0/games/assets/collect.wav +0 -0
  22. itchy-0.1.0/games/assets/player.svg +5 -0
  23. itchy-0.1.0/games/coin_runner.py +37 -0
  24. itchy-0.1.0/games/hide_and_seek.py +31 -0
  25. itchy-0.1.0/games/logic_playground.py +29 -0
  26. itchy-0.1.0/itchy/__init__.py +1 -0
  27. itchy-0.1.0/itchy/build.py +93 -0
  28. itchy-0.1.0/itchy/cli.py +52 -0
  29. itchy-0.1.0/itchy/compiler.py +400 -0
  30. itchy-0.1.0/itchy/game.py +703 -0
  31. itchy-0.1.0/itchy/project.py +106 -0
  32. itchy-0.1.0/itchy/py.typed +0 -0
  33. itchy-0.1.0/itchy/server.py +94 -0
  34. itchy-0.1.0/itchy/setup.py +72 -0
  35. itchy-0.1.0/itchy/testing.py +86 -0
  36. itchy-0.1.0/package.json +23 -0
  37. itchy-0.1.0/pyproject.toml +60 -0
  38. itchy-0.1.0/requirements-docs.txt +1 -0
  39. itchy-0.1.0/runner/audio.js +2 -0
  40. itchy-0.1.0/runner/browser-test.js +85 -0
  41. itchy-0.1.0/runner/runtime.js +18 -0
  42. itchy-0.1.0/runner/scenario.js +26 -0
  43. itchy-0.1.0/tests/test_assets.py +45 -0
  44. itchy-0.1.0/tests/test_game.py +59 -0
  45. itchy-0.1.0/tests/test_logic.py +68 -0
  46. itchy-0.1.0/tests/test_native.py +101 -0
  47. itchy-0.1.0/tests/test_project.py +28 -0
  48. itchy-0.1.0/tests/test_typing.py +28 -0
  49. itchy-0.1.0/uv.lock +411 -0
  50. itchy-0.1.0/web/index.html +47 -0
  51. itchy-0.1.0/zensical.toml +117 -0
itchy-0.1.0/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ node_modules/
2
+ .tools/
3
+ dist/
4
+ .venv/
5
+ __pycache__/
6
+ .pytest_cache/
7
+ *.egg-info/
8
+ site/
9
+ .cache/
10
+ .venv-docs/
itchy-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,57 @@
1
+ Metadata-Version: 2.5
2
+ Name: itchy
3
+ Version: 0.1.0
4
+ Summary: Typed Python game authoring and native Scratch project generation
5
+ Project-URL: Homepage, https://github.com/vivainio/itchy
6
+ Project-URL: Documentation, https://vivainio.github.io/itchy/
7
+ Project-URL: Repository, https://github.com/vivainio/itchy
8
+ Project-URL: Issues, https://github.com/vivainio/itchy/issues
9
+ Keywords: compiler,education,games,scratch
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
17
+ Classifier: Topic :: Education
18
+ Classifier: Topic :: Games/Entertainment
19
+ Requires-Python: >=3.12
20
+ Description-Content-Type: text/markdown
21
+
22
+ # itchy
23
+
24
+ Write typed Python games, generate native Scratch blocks, and export self-contained `.sb3` projects.
25
+
26
+ Install with [uv](https://docs.astral.sh/uv/) and Python 3.12 or newer:
27
+
28
+ ```sh
29
+ uv tool install itchy
30
+ mkdir my-game
31
+ cd my-game
32
+ itchy init
33
+ itchy run
34
+ ```
35
+
36
+ `itchy init` creates a starter `game.py`, an SVG costume, and project configuration in an empty directory. Edit `game.py` to create your game; its comments link to the **[itchy book](https://vivainio.github.io/itchy/)**. `itchy run` prepares the Scratch runtime and opens your game in a local browser. The first run needs internet access to install runtime dependencies.
37
+
38
+ ```sh
39
+ itchy run --no-open # Serve without opening a browser
40
+ itchy run --port 4400 # Choose a port
41
+ itchy build # Export dist/game.sb3 and a shareable browser preview
42
+ ```
43
+
44
+ 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.
45
+
46
+ For development of itchy itself:
47
+
48
+ ```sh
49
+ git clone https://github.com/vivainio/itchy.git
50
+ cd itchy
51
+ uv sync
52
+ source .venv/bin/activate
53
+ itchy check
54
+ itchy test --browser
55
+ ```
56
+
57
+ The book's Markdown sources are in [`docs/`](docs/), with navigation and theme in [`zensical.toml`](zensical.toml).
itchy-0.1.0/README.md ADDED
@@ -0,0 +1,36 @@
1
+ # itchy
2
+
3
+ Write typed Python games, generate native Scratch blocks, and export self-contained `.sb3` projects.
4
+
5
+ Install with [uv](https://docs.astral.sh/uv/) and Python 3.12 or newer:
6
+
7
+ ```sh
8
+ uv tool install itchy
9
+ mkdir my-game
10
+ cd my-game
11
+ itchy init
12
+ itchy run
13
+ ```
14
+
15
+ `itchy init` creates a starter `game.py`, an SVG costume, and project configuration in an empty directory. Edit `game.py` to create your game; its comments link to the **[itchy book](https://vivainio.github.io/itchy/)**. `itchy run` prepares the Scratch runtime and opens your game in a local browser. The first run needs internet access to install runtime dependencies.
16
+
17
+ ```sh
18
+ itchy run --no-open # Serve without opening a browser
19
+ itchy run --port 4400 # Choose a port
20
+ itchy build # Export dist/game.sb3 and a shareable browser preview
21
+ ```
22
+
23
+ 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.
24
+
25
+ For development of itchy itself:
26
+
27
+ ```sh
28
+ git clone https://github.com/vivainio/itchy.git
29
+ cd itchy
30
+ uv sync
31
+ source .venv/bin/activate
32
+ itchy check
33
+ itchy test --browser
34
+ ```
35
+
36
+ The book's Markdown sources are in [`docs/`](docs/), with navigation and theme in [`zensical.toml`](zensical.toml).