reflex README

The project's README from github.com/reflex-dev/reflex. As one markdown file: README.md.

Reflex Logo

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

PyPI version versions Documentation PyPI Downloads Discord Twitter


[!NOTE] Build faster with Reflex:


Introduction

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

Key features:

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

Create a project, add Reflex, and start the development server with uv:

mkdir my_app_name
cd my_app_name
uv init

uv add reflex
uv run reflex init
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.

🫧 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.

Preview of an image generation app built with Reflex
import reflex as rx
import openai

client = openai.AsyncOpenAI()


class State(rx.State):
    prompt: str = ""
    image_url: str = ""
    processing: bool = False

    @rx.event
    def set_prompt(self, value: str):
        self.prompt = value

    @rx.event
    async def generate(self):
        self.processing = True
        yield
        response = await client.images.generate(
            model="gpt-image-1.5",
            prompt=self.prompt,
        )
        self.image_url = f"data:image/png;base64,{response.data[0].b64_json}"
        self.processing = False


def index():
    return rx.vstack(
        rx.heading("Image Generator"),
        rx.input(placeholder="Enter a prompt...", on_change=State.set_prompt),
        rx.button("Generate", on_click=State.generate, loading=State.processing),
        rx.image(src=State.image_url),
    )


app = rx.App()
app.add_page(index, title="Reflex:Image Generation")

All Thanks To Our Contributors:

reflex (reflex-dev/reflex)

Searching Database…

29K ·GitHub
Что это такое?Reflex — это библиотека для создания фулстек-веб-приложений на чистом Python: и фронтенд, и бэкенд вы пишете на Python, без необходимости учить JavaScript.
Даже фронтенд? Мне вообще не придётся писать на JavaScript?Нет — чистый Python и есть главная фишка: фронтенд и бэкенд вашего приложения целиком пишутся на Python.
Как запустить своё первое приложение?Установите пакет reflex в виртуальное окружение, затем создайте проект, добавьте Reflex и запустите dev-сервер с помощью uv — отредактируйте myappname/myappname.py, и изменения сразу появятся благодаря fast refresh.
Что нужно установить заранее?Python и пакет reflex; в README настоятельно рекомендуется виртуальное окружение, чтобы команда reflex была доступна в PATH, а в quickstart используется uv.
Это для быстрых прототипов или для сложных серьёзных приложений?И для того, и для другого: Reflex прост в освоении, но при этом масштабируется до сложных приложений, а на отдельной странице с архитектурой объясняется, как всё устроено внутри.
Как выглядит настоящее приложение, созданное на Reflex?В примере из README — приложение для генерации картинок: вы описываете интерфейс, управляете состоянием в классе Python и вызываете модель для изображений из обработчика событий.
Что такое AI Builder?Это продукт Reflex, который генерирует фулстек-приложения на Reflex за секунды; он перечислен рядом с Agent Toolkit и App Management как инструмент для более быстрой разработки.
Что такое Agent Toolkit?Он подключает MCP и Skills к вашему помощнику для программирования, чтобы ИИ-агенты могли работать с Reflex, а App Management занимается развёртыванием ваших Reflex-приложений и управлением ими.
Как выложить готовое приложение в интернет?В README говорится о развёртывании за секунды, а сервис App Management разворачивает ваши Reflex-приложения и управляет ими.
What are similar projects?wasp, nuxt, router, django, elpis, datapages, streamlit, gin-vue-admin
Creator
reflex-dev
Size
196.4 MB
Stars
29K
Age
3y
Commits · 90 Days