Skip to content

Add production app APIs and a Windows EXE builder - #8

Merged
gefrus112 merged 2 commits into
mainfrom
arena/d535925a-pythonv2
Oct 22, 2026
Merged

gefrus112 merged 2 commits into
mainfrom
arena/d535925a-pythonv2

Conversation

@gefrus112

@gefrus112 gefrus112 commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • add capability-based production app services: arguments, app metadata, strict JSON, sandboxed UTF-8 files, atomic saves, read-only bundled assets, timing, and native dialogs
  • add pyv2 new windows-app, pyv2 check, pyv2 build, and pyv2 doctor
  • generate console or windowed app projects with metadata, VS Code tasks, batch/PowerShell builders, and a Windows GitHub Actions workflow
  • create inspectable Windows build kits with vendored runtime source, PyInstaller recipe, version metadata, SHA-256 manifest, source validation, and unmanaged-directory protection
  • build a real one-file .exe with --native on Windows while reporting the cross-compilation limit honestly elsewhere
  • integrate Windows app projects into Sudbury Studio and add a production-app Playground starter
  • document the full workflow across the homepage, Downloads, reference, tutorial, field guide, README, and editor tooling
  • add a first-party Windows runner that builds and executes the packaged Comet Notes example

Safety and integrity

  • app writes are confined to .pyv2-data during development and %LOCALAPPDATA%\\PythonV2Apps\\APP-ID when packaged
  • absolute paths, traversal, symlink escapes, asset symlinks, oversized text/assets, invalid UTF-8, unsafe JSON integers, and unmanaged output replacement are rejected
  • packaged assets are read-only and normal saves use atomic replacement
  • build kits vendor and hash the exact Python v2 runtime used to prepare them
  • no signing secrets are generated or stored; Authenticode signing remains an explicit distributor responsibility

Validation

  • python3 -m unittest discover -s tests -t . — 108 passed
  • Python, Node, shell, JSON, HTML asset, duplicate-ID, and anchor checks
  • Python/JavaScript parity over 25 programs, including strict JSON and app metadata
  • generated project, app-data persistence, path-sandbox, asset-symlink, manifest, and build-kit smoke tests
  • wheel build/install plus installed CLI, PyHope check, vendored-runtime build-kit validation
  • GitHub Windows workflow builds and runs a real one-file executable

Summary by CodeRabbit

  • New Features
    • Create, validate, and package Python v2 apps, including Windows-ready projects and native Windows executables.
    • Apps can access sandboxed data and assets, save files safely, handle JSON, display dialogs, and read launch arguments and app details.
    • The launcher, browser playground, and VS Code tools now support app-building workflows and starter examples.
    • Installers now run a diagnostic check.
  • Documentation
    • Expanded guides cover app creation, data and asset access, validation, build kits, and Windows executable builds.

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Oct 22, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: cc321f8e-ee37-44c5-8ea1-695faf9275a3
📥 Commits

Reviewing files that changed from the base of the PR and between 9964d09 and c5f538c.

📒 Files selected for processing: 31
  • .github/workflows/windows-exe-smoke.yml
  • .gitignore
  • .vscode/tasks.json
  • README.md
  • docs.html
  • docs/LANGUAGE.md
  • download.html
  • editors/vscode/README.md
  • editors/vscode/snippets/pyv2.json
  • examples/software/comet_notes.pyv2
  • guide.html
  • index.html
  • install.bat
  • install.sh
  • playground.html
  • playground.js
  • pyproject.toml
  • pyv2.js
  • pyv2/__init__.py
  • pyv2/assets/pyv2.js
  • pyv2/builder.py
  • pyv2/cli.py
  • pyv2/interpreter.py
  • pyv2/launcher.py
  • pyv2/runtime.py
  • style.css
  • tests/test_apps.py
  • tests/test_games_site.py
  • tests/test_launcher.py
  • tests/test_parity.py
  • tutorial.html
+--------------------------------------------------------------------------------+
| Please don't use comments to explain what code should be doing. Make it do it. |
+--------------------------------------------------------------------------------+
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
@gefrus112
gefrus112 merged commit d7496c3 into main Oct 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant