Home
PyView brings the Phoenix LiveView paradigm to Python: build dynamic, real-time web applications using server-rendered HTML. Keep your state on the server, let the browser do what it does best, and remember what it felt like when building for the web was fun.
Quick Start
cookiecutter gh:ogrodnek/pyview-cookiecutterOr try a single-file app with zero setup.
Live Examples
See PyView in action: examples.pyview.rocks
Documentation
Getting Started
- Getting Started — Installation, first app, project structure
Core Concepts
- LiveView Lifecycle — mount, handle_event, handle_params, handle_info
- Socket and Context — State management, pub/sub, navigation
- Event Handling — Clicks, forms, typed parameters, decorators
- LiveComponents — Stateful, reusable UI components (Python 3.14+)
- Routing — URL patterns, path parameters, route organization
Templating
- Overview — Choose your templating approach
- HTML Templates — Jinja2-like syntax with .html files
- T-String Templates — Python 3.14+ inline templates
Features
- File Uploads — Direct and external (S3) uploads
- Streams — Efficient rendering of large collections
- Sessions & Authentication — Login, sessions, protected routes
- Single-File Apps — Quick prototypes with PEP 723
Example Projects
- pyview-example-ai-chat — AI chat with streaming responses
- pyview-example-auth — Authentication with authlib