Frontend. Backend. Pure Python.
The open-source framework to build and deploy web apps - no Javascript required.
$ pip install reflex
import reflex as rx
class FormState(rx.State):
def submit(self, form_data):
return rx.toast(form_data)
def form() -> rx.Component:
return rx.card(
rx.form(
rx.hstack(
rx.image(src="/envelope.png"),
rx.vstack(
rx.heading("Send us a message"),
rx.text(
"Fill the form and we’ll back to you shortly.",
),
),
),
rx.vstack(
rx.text(
"Name ",
rx.text.span("*", color="red"),
),
rx.input(
name="name",
required=True,
),
),
rx.vstack(
rx.text(
"Email ",
rx.text.span("*", color="red"),
),
rx.input(
name="email",
type="email",
required=True,
),
),
rx.vstack(
rx.text("Message"),
rx.textarea(
name="message",
),
),
rx.button("Send", type="submit"),
on_submit=FormState.submit,
)
)
Build your entire app in Python
Turn your ideas into apps lightning fast
100K+
Apps built with Reflex
60+ built-in components
Extensible by design. Wrap and use any React component
Theming system
Give your app a unified look and feel
Customizable UI
Tweak and style components to your liking
Turn off the lights
Toggle between light and dark mode
Fully responsive
Your app looks good on every device
Wrap React components
Use Reflex with Spline, Framer Motion, Google Auth, Aggrid, and more
Skip the boilerplate
Seamless frontend-backend integration
It's just Python
Define and manage state with Python classes and functions
PyPI
Use any Python library with Reflex
Database management
Use our built-in database or connect your own with a single line
Auth
Secure your app with any auth provider - no vendor lock-in
Check out the docs
API routes, background jobs, shared state, file uploads, cookies and more...
Deploy your app with a single command
Performant, secure, and scalable
Stars
19,000+
Contributors
150+
Discord
5,500+
$ pip install reflex
$ reflex init
$ reflex run