Reactive web apps. Pure Python.

Build interactive web apps entirely in Python. Pulse renders your code to a React frontend and keeps it in sync over WebSocket. No JavaScript required.

app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import pulse as ps

# Wrap any React component
Button = ps.react_component(
    ps.Import("Button", "@mantine/core")
)

class Counter(ps.State):
    count: int = 0
    def inc(self):
        self.count += 1

@ps.component
def App():
    with ps.init():
        state = Counter()
    return ps.div(
        ps.h1(f"Count: {state.count}"),
        Button("+1", onClick=state.inc),
    )

Pure Python

Components, state, events—all Python. Use pandas, SQLAlchemy, or any library directly in your UI code.

React-powered

Renders to a real React frontend. Access the full ecosystem of component libraries when you need them.

Server-driven

State lives on the server. Changes sync instantly over WebSocket. No API layer to build.

Built for Python developers

Dashboards, internal tools, data apps

Ship production web apps without learning a frontend framework. One codebase, one language.