Python + React
in one file.

The full-stack Python framework. Async server loaders, React UI, and server actions live together in a single .pyxl file. SSR and file routing come with it.

Get started
$pip install pyxle-framework
pages/dashboard.pyxl
# pages/dashboard.pyxl

@server
async def load(request):
    return {"user": await db.get_user(request)}


import React from 'react';

export default function Dashboard({ data }) {
    return (
        <main>
            <h1>Welcome, {data.user.name}</h1>
        </main>
    );
}

What's in the box

Everything you need, nothing you don't.

File-based routing

Drop a .pyxl file in pages/ and it's a route. Dynamic segments, catch-alls, nested layouts.

Async server loaders

@server functions run on Starlette. Return a dict — it becomes React props. No fetch wiring.

Server actions

Mutate data with @action. Call from React via useAction() — typed POST handlers, zero glue.

SSR + Vite dev

Every page is server-rendered then hydrated. Instant HMR in dev, hashed assets in prod.

Performance

Fast where it matters.

Full benchmark methodology
1,100+req/s
SSR throughput
20k+req/s
POST handling
2msp50
JSON latency
0
Errors at 100c

For AI coding agents

The framework AI agents love.

Tiny CLI surface, zero magic, one file per feature. Built so Claude, Cursor, and Copilot ship real features with a fraction of the context.

Python the whole way

Frontier LLMs write Python with the highest confidence. Backend stays in their strongest mode, and the AI SDK ecosystem (Anthropic, OpenAI, LangChain) is Python-first anyway.

One file per feature

Loader, mutation, and React UI in a single .pyxl file. One read = full feature understanding. No 7-file CRUD edits, no TS/Python type sync.

Machine-parseable errors

pyxle check emits [section] line N: message — one diagnostic per line, exit 0/1. Tight edit → check → fix loops with grep-friendly output.

Get started

Four commands.

Install, scaffold, run. The whole CLI vocabulary fits on one screen.

  1. 1$pip install pyxle-framework
  2. 2$pyxle init my-app && cd my-app
  3. 3$pyxle install
  4. 4$pyxle dev
Stay in the loop

Release notes. Deep dives. No spam.

This form is a live @action — powered by Pyxle itself.