Skip to content

reflex-dev/reflex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3,085 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Reflex Logo

✨ Performant, customizable web apps in pure Python. Deploy in seconds. ✨

PyPI version versions Documentation PyPI Downloads Discord Twitter


Note

πŸš€ Try Reflex Build – our AI-powered app builder that generates full-stack Reflex applications in seconds.


Introduction

Reflex is a library to build full-stack web apps in pure Python.

Key features:

  • Pure Python - Write your app's frontend and backend all in Python, no need to learn Javascript.
  • Full Flexibility - Reflex is easy to get started with, but can also scale to complex apps.
  • Deploy Instantly - After building, deploy your app with a single command or host it on your own server.

See our architecture page to learn how Reflex works under the hood.

βš™οΈ Installation

Important: We strongly recommend using a virtual environment to ensure the reflex command is available in your PATH.

πŸ₯³ Create your first app

1. Create the project directory

Replace my_app_name with your project name:

mkdir my_app_name
cd my_app_name

2. Install uv

Reflex recommends uv for managing your project environment and dependencies. See the uv installation docs for your platform.

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

3. Initialize the Python project

uv init

4. Add Reflex

Reflex requires Python 3.10+:

uv add reflex

5. Initialize the project

This command initializes a template app in your new directory:

uv run reflex init

6. Run the app

You can run this app in development mode:

uv run reflex run

You should see your app running at http://localhost:3000.

Now you can modify the source code in my_app_name/my_app_name.py. Reflex has fast refreshes so you can see your changes instantly when you save your code.

Troubleshooting

If the reflex command is not on your PATH, run it through uv instead: uv run reflex init and uv run reflex run

🫧 Example App

Build an image generation app in Python with Reflex: define the UI, manage state in a class, and call an image model from an event handler.

reflex-dalle-video-2x.mp4

πŸ“‘ Resources

πŸ“‘ Docs Β  | Β  πŸ—žοΈ Blog Β  | Β  πŸ“± Component Library Β  | Β  πŸ–ΌοΈ Templates Β  | Β  πŸ›Έ Deployment Β 

βœ… Status

Reflex launched in December 2022 with the name Pynecone.

πŸš€ Introducing Reflex Build β€” Our AI-Powered Builder Reflex Build uses AI to generate complete full-stack Python applications. It helps you quickly create, customize, and refine your Reflex apps β€” from frontend components to backend logic β€” so you can focus on your ideas instead of boilerplate code. Whether you’re prototyping or scaling, Reflex Build accelerates development by intelligently scaffolding and optimizing your app’s entire stack.

Alongside this, Reflex Cloud launched in 2025 to offer the best hosting experience for your Reflex apps. We’re continuously improving the platform with new features and capabilities.

Reflex has new releases and features coming every week! Make sure to ⭐ star and πŸ‘€ watch this repository to stay up to date.

Contributing

We welcome contributions of any size! Below are some good ways to get started in the Reflex community.

  • Join Our Discord: Our Discord is the best place to get help on your Reflex project and to discuss how you can contribute.
  • GitHub Discussions: A great way to talk about features you want added or things that are confusing/need clarification.
  • GitHub Issues: Issues are an excellent way to report bugs. Additionally, you can try and solve an existing issue and submit a PR.

We are actively looking for contributors, no matter your skill level or experience. To contribute check out CONTRIBUTING.md

All Thanks To Our Contributors:

License

Reflex is open-source and licensed under the Apache License 2.0.