PyWry wants to be the one Python UI framework that works everywhere. Desktop apps, Jupyter notebooks, web browsers. Same code, three targets. Built on PyWry, which wraps Tauri's Rust runtime for Python, it uses native OS webviews instead of bundling Chromium like Electron does. The result is a smaller footprint. Simon Willison noted that much of the heavy lifting comes from a vendored 30.8MB binary from the pytauri_wheel project, which is the entire Tauri runtime pre-compiled and ready to go.
For the AI agent crowd, the interesting piece is MCP integration. PyWry ships a Model Context Protocol server with a Claude Code plugin. Agents interact with components, trigger events, and manage state through a standardized protocol. No custom glue code. That's a practical choice for anyone building agent-driven interfaces.
The framework includes built-in support for AgGrid, Plotly, and TradingView. Two-way Python-JavaScript bridging means live data flows between backend and frontend. No REST endpoints. No polling. OAuth2 with Redis-backed RBAC comes baked in. You can prototype in Jupyter via anywidget, deploy to browser through FastAPI WebSockets, or compile to standalone. Same code each time.
The catch is that vendored binary. 30.8MB as a single-file dependency complicates packaging workflows. And Hacker News commenters were quick to point out that calling this a "rendering engine" is generous. It's a UI toolkit deploying web tech to desktop via Tauri. Fair point. But if you need Python-native cross-platform UIs with agent integration from day one, PyWry fills a gap nobody else is targeting right now.