{% extends "main.html" %} {% block content %}{% endblock %} {% block tabs %}

{{ config.site_name }}

{{ config.site_description }}

Create user interfaces from components

ReactPy lets you build user interfaces out of individual pieces called components. Create your own ReactPy components like thumbnail, like_button, and video. Then combine them into entire screens, pages, and apps.

{% with image="create-user-interfaces.png", class="pop-left" %} {% include "home-code-examples/code-block.html" %} {% endwith %} {% include "home-code-examples/create-user-interfaces-demo.html" %}

Whether you work on your own or with thousands of other developers, using React feels the same. It is designed to let you seamlessly combine components written by independent people, teams, and organizations.

Write components with pure Python code

ReactPy components are Python functions. Want to show some content conditionally? Use an if statement. Displaying a list? Try using list comprehension. Learning ReactPy is learning programming.

{% with image="write-components-with-python.png", class="pop-left" %} {% include "home-code-examples/code-block.html" %} {% endwith %} {% include "home-code-examples/write-components-with-python-demo.html" %}

Add interactivity wherever you need it

ReactPy components receive data and return what should appear on the screen. You can pass them new data in response to an interaction, like when the user types into an input. ReactPy will then update the screen to match the new data.

{% with image="add-interactivity.png" %} {% include "home-code-examples/code-block.html" %} {% endwith %} {% include "home-code-examples/add-interactivity-demo.html" %}

You don't have to build your whole page in ReactPy. Add React to your existing HTML page, and render interactive ReactPy components anywhere on it.

Go full-stack with the Django framework

ReactPy is a library. It lets you put components together, but it doesn't prescribe how to do routing and data fetching. To build an entire app with ReactPy, we recommend a backend framework like Django.

Get Started
{% endblock %}