DEV Community

Cover image for ReactPy = React + Python ?
Aniket
Aniket

Posted on

ReactPy = React + Python ?

Ever heard of writing a React App in Python, this is what ReactPy is all about.

ReactPy is a library for building user interfaces in Python without Javascript. ReactPy interfaces are made from components that look and behave similar to those found in ReactJS. Designed with simplicity in mind, ReactPy can be used by those without web development experience while also being powerful enough to grow with your ambitions.


Let's start by installing ReactPy :-

To start using ReactPy, you'll first need to install it. Depending on your choice of backend, you can install ReactPy along with the corresponding backend implementation. Here's how you can do it:

Installing with Starlette Backend

pip install "reactpy[starlette]"
Enter fullscreen mode Exit fullscreen mode

You can substitute starlette with any other backend as you want, example: FastAPI , Flask , Django , etc

Installing a Pure Version of ReactPy

If you prefer a "pure" version of ReactPy without a specific backend, you can install it without any extras :

pip install reactpy
Enter fullscreen mode Exit fullscreen mode

This option is useful if you plan to use a custom backend or if you want to manually manage dependencies for your chosen backend.


"Hello, World!"

Let's get started by creating the first App using ReactPy

To get started, setup your coding environment as you want such as an IDE, preferrably use VScode or Replit's ReactPy.

Configuring Your ReactPy Application

To run ReactPy in production, you'll need to configure your chosen backend with a ReactPy view. The following steps demonstrate how to set up and run ReactPy with a sample backend. Remember that the process may vary depending on your chosen backend, but the basic structure remains consistent.

  • Import Necessary Modules: Import the required modules from your chosen backend and ReactPy.
from reactpy import component, html
from reactpy.backend.my_chosen_backend import configure
Enter fullscreen mode Exit fullscreen mode
  • Define Your React Component: Create a React component using ReactPy. This component will be the core of your web application. In this example, we create a simple "Hello, world!" component.
@component
def HelloWorld():
    return html.h1("Hello, world!")

run(HelloWorld)
Enter fullscreen mode Exit fullscreen mode

Suppose you're using Flask Framework

from reactpy import component, html
from reactpy.backend.flask import configure
from flask import Flask

@component
def HelloWorld():
    return html.h1("Hello, World!")

app = Flask(__name__)
configure(app, HelloWorld)
Enter fullscreen mode Exit fullscreen mode

You can run the program here :


Connect me on LinkedIn

Follow and like for more .

Top comments (4)

Collapse
 
alogan5201 profile image
alogan5201

While the concept is interesting? The thought of implementing this in a real world scenario makes me slightly nauseous.

Collapse
 
aniiket profile image
Aniket

Agree, but the library is still in development.

Collapse
 
khairunnisaas profile image
Khairunnisaas

soo... ReactPy is using python languange but thinking like react?

Collapse
 
aniiket profile image
Aniket

Yes kind of.