Limitations and roadmap
PyWeb is deliberately focused. These are the current limits, so you can decide up front whether they matter for your app.
#Current limitations
- Browser code is a Python subset. See Python in the browser for exactly what compiles. Anything else must live in an
@serverfunction. - npm packages must ship ES modules. CommonJS-only packages and packages built on Node.js modules can't run in the browser; see npm packages.
- Dev reload is a full page reload. State is not preserved across edits.
#Released so far
- 0.4: npm packages without Node.js, layouts and client-side navigation, page head tags and
.pyweberror pages, typed query parameters, streaming server functions and<Markdown>for AI apps, live queries, and the dashboard, site and AI chat examples. - 0.3: hydration, live updates over Server-Sent Events, multi-file apps, the
pyweb lsplanguage server and VS Code extension, the browser playground, faster server rendering, and screenshot and test tools for AI assistants. - 0.2: tools for building with AI assistants: the
pyweb mcpserver, an AI guide, project templates withAGENTS.md/CLAUDE.md, andllms.txt. - 0.1: the compiler, reactive runtime, server rendering, typed RPC, sessions, database layer and CLI.
See the changelog for details.
#Roadmap
Planned, roughly in order. Nothing here is promised for a date.
- Partial live updates: send only the rows that changed instead of a live query's whole result.
- Form helpers: validation shared between the server and the browser.
Ideas, bug reports and pull requests are welcome; see CONTRIBUTING.md.