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]"
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
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
- 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)
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)
You can run the program here :
Connect me on LinkedIn
Follow and like for more .
Top comments (4)
While the concept is interesting? The thought of implementing this in a real world scenario makes me slightly nauseous.
Agree, but the library is still in development.
soo... ReactPy is using python languange but thinking like react?
Yes kind of.