Repolode
reflex-dev

reflex-dev/reflex

A Python library for building full-stack web apps, with frontend and backend both written in Python.

Stars
28,970
Forks
1,812
Open issues
371
Last commit
5 hours ago

What is it?

Reflex is a library for building full-stack web applications entirely in Python. Developers define the UI with Python components, keep application state in Python classes, and handle events in Python functions, so no JavaScript is needed for the frontend or backend.

A minimal app is a Python file that declares a state class, event handlers, and a page function. Running the development server serves the app at localhost with fast refresh, so code changes appear as soon as the file is saved. The project includes an example image generation app that calls an external image model from an event handler.

Reflex is installed from PyPI and works with a standard virtual environment or tools such as uv. It is aimed at teams that want to build dashboards, data tools, and internal apps without splitting work across a separate JavaScript stack.

Key features

  • 01Write both frontend UI and backend logic in Python.
  • 02Manage application state with Python classes.
  • 03Define event handlers as Python functions that update the UI.
  • 04Fast refresh during development when source files change.
  • 05Install with pip or uv and run with the reflex CLI.

Use cases

  • Building internal dashboards and data exploration tools for Python teams.
  • Prototyping web apps without learning JavaScript or a frontend framework.
  • Wrapping AI model calls, such as image generation, in a simple web interface.

Quick start

  1. 1

    Create a project folder and initialize it with uv

    mkdir my_app_name cd my_app_name uv init
  2. 2

    Add Reflex to the project

    uv add reflex
  3. 3

    Initialize the Reflex app

    uv run reflex init
  4. 4

    Start the development server and open http://localhost:3000

    uv run reflex run

Things to know

  • The example app calls the OpenAI API, so it needs an OpenAI API key.

Topics

FAQ

What is reflex?
A Python library for building full-stack web apps, with frontend and backend both written in Python. Reflex is a library for building full-stack web applications entirely in Python. Developers define the UI with Python components, keep application state in Python classes, and handle events in Python functions, so no JavaScript is needed for the frontend or backend.
Is reflex free to use? What license does it have?
reflex is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is reflex still maintained?
Actively maintained. The last commit to reflex was on Oct 21, 2026.
What can I use reflex for?
Building internal dashboards and data exploration tools for Python teams. Prototyping web apps without learning JavaScript or a frontend framework. Wrapping AI model calls, such as image generation, in a simple web interface.
How do I install reflex?
Create a project folder and initialize it with uv: mkdir my_app_name cd my_app_name uv init Add Reflex to the project: uv add reflex Initialize the Reflex app: uv run reflex init Start the development server and open http://localhost:3000: uv run reflex run
Where can I get reflex?
The source code and installation instructions are on GitHub: https://github.com/reflex-dev/reflex

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects