Skip to main content

MVP Runtime

The current MVP is a Chromium-backed local app runtime with a Python frontend host. It proves the app shape before the final Chromium/Blink native binding work is done.

MVP behavior:

  • app entry is loaded from pywee.toml;
  • Chromium is managed by PyWee and resolved from package data or the runtime cache;
  • the app root is served through a local app server so app-local assets resolve;
  • <script type="python"> is discovered and executed for trusted apps;
  • Python can mutate the live page DOM and register event callbacks;
  • Python uses the active Python environment that launched pywee;
  • requirements are declared in pywee.toml and installed through pywee pip;
  • app-local Python modules are removed from sys.modules after script execution;
  • no PyWee permission filtering is applied to Python.

Packaging behavior:

  • normal Python wheel builds do not embed Chromium;
  • pywee chromium install and first run download the locked browser runtime into the PyWee cache;
  • offline bundled wheels can still be built with PYWEE_BUNDLE_CHROMIUM=1;
  • each runtime directory contains .pywee-chromium.json with provider, platform, revision, URL, and SHA256 metadata;
  • runtime startup never falls back to a system browser.

Locked distribution platforms: linux-x64, linux-arm64, macos-x64, macos-arm64, and windows-x64. windows-arm64 remains blocked until a Chromium runtime provider with complete generated credits is available.

Still needed for the product architecture:

  • a Python runtime embedded in Chromium renderer processes;
  • direct native DOM/WebIDL bindings;
  • DevTools integration for Python;
  • production-grade installers and platform packaging;
  • platform-specific runtime wheels for all supported OS/architecture pairs.