Skip to content

Features

Rendering Paths

One API, three output targets — PyWry automatically selects the right one:

Environment Path Backend
Desktop Native Window PyTauri + OS webview
Jupyter + anywidget Notebook Widget anywidget comms
Jupyter (fallback) Inline IFrame FastAPI server
Headless/SSH Browser Mode FastAPI + browser

Core Capabilities

Feature Description
Native Windows OS webview (WebView2/WebKit) — a few MBs vs Electron's 150MB+
Jupyter Widgets anywidget with traitlet sync, IFrame fallback
Browser Mode FastAPI + WebSocket, optional Redis for scaling
Toolbar System 18 Pydantic components, 7 layout positions
Two-Way Events Python↔JS communication, pre-wired Plotly/AG Grid events
Plotly Charts Pre-wired plot events, custom modebar buttons
AG Grid Tables Pandas→AG Grid conversion, grid events, editing
Toast Notifications info, success, warning, error, confirm
Theming Light/dark modes, 60+ CSS variables
Secrets Server-side storage, never rendered in HTML
Security Token auth, CSP headers, production presets
Configuration TOML files, env vars, layered precedence
Hot Reload Live CSS/JS updates during development
Deploy Mode Redis backend for horizontal scaling
Tauri Plugins 19 bundled plugins — clipboard, notifications, HTTP, and more

Platform Support

Platform Native Window Notebook Browser
macOS WebKit anywidget/IFrame FastAPI
Windows WebView2 anywidget/IFrame FastAPI
Linux WebKit2GTK anywidget/IFrame FastAPI

Configuration Precedence

Settings are merged in order (highest priority last):

  1. Built-in defaults
  2. pyproject.toml [tool.pywry]
  3. pywry.toml
  4. ~/.config/pywry/config.toml
  5. Environment variables PYWRY_*

See the Configuration Guide for details.