It's React, but in Python
fb9c57f073
- Change `reactpy.backends.utils.find_all_implementations()` to first try to import `<backend_name>` before importing `reactpy.backend.<backend_name>` - Allows for missing sub-dependencies to not cause `reactpy.run` to silently fail - Import `uvicorn` directly within `serve_with_uvicorn` in order to defer import. - Allows for `ModuleNotFound: Could not import uvicorn` exception to tell the user what went wrong - Added `CommonOptions.serve_index_route: bool` - Allows us to not clutter the route patterns when it's not needed - There are real circumstances where a user might want the index route to 404 - Fix bug where in-use ports are being assigned on Windows. - Removes `allow_reuse_waiting_ports` parameter on `find_available_port()` - Rename `BackendImplementation` to `BackendProtocol` - Change load order of `SUPPORTED_PACKAGES` so that `FastAPI` has a chance to run before `starlette` - Rename `SUPPORTED_PACKAGES` to `SUPPORTED_BACKENDS` - Refactor `reactpy.backend.*` code to be more human readable - Use f-strings where possible - Merge `if` statements where possible - Use `contextlib.supress` where possible - Remove defunct `requirements.txt` file |
||
---|---|---|
.github | ||
branding | ||
docs | ||
src | ||
.gitignore | ||
.pre-commit-config.yaml | ||
CODE_OF_CONDUCT.md | ||
LICENSE | ||
pyproject.toml | ||
README.md | ||
tasks.py |
ReactPy
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.
Supported Backends | |
---|---|
Built-in | External |
Flask, FastAPI, Sanic, Tornado | Django, Jupyter, Plotly-Dash |
At a Glance
To get a rough idea of how to write apps in ReactPy, take a look at this tiny Hello World application.
from reactpy import component, html, run
@component
def hello_world():
return html.h1("Hello, World!")
run(hello_world)
Resources
Follow the links below to find out more about this project.