GitHub

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 @server function.
  • 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 .pyweb error 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 lsp language 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 mcp server, an AI guide, project templates with AGENTS.md/CLAUDE.md, and llms.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.

  1. Partial live updates: send only the rows that changed instead of a live query's whole result.
  2. Form helpers: validation shared between the server and the browser.

Ideas, bug reports and pull requests are welcome; see CONTRIBUTING.md.

Edit this page on GitHub