Skip to main content

Python + React UI framework for building reactive web applications

Project description

Refast

Python + React UI Framework for Building Reactive Web Applications

Refast is a framework that enables building reactive web applications with Python-first development. It uses FastAPI for the backend and React with shadcn/ui for the frontend.

Features

  • Python-First Development: Build your UI logic entirely in Python
  • Reactive Components: Real-time updates via WebSocket
  • shadcn/ui Integration: Beautiful, accessible components out of the box
  • FastAPI Integration: Plug into any existing FastAPI application
  • Type Safety: Full type hints and Pydantic validation throughout

Installation

pip install refast

Quick Start

from refast import RefastApp, Context

ui = RefastApp(title="My App")

@ui.page("/")
def home(ctx: Context):
    return Container(
        Text("Hello, World!"),
        Button("Click me", on_click=ctx.callback(handle_click))
    )

async def handle_click(ctx: Context):
    await ctx.show_toast("Button clicked!")

# Mount to FastAPI
from fastapi import FastAPI
app = FastAPI()
app.include_router(ui.router, prefix="/ui")

Development

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/

# Run linting
ruff check src/

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

refast-0.0.7.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

refast-0.0.7-py3-none-any.whl (1.9 MB view details)

Uploaded Python 3

File details

Details for the file refast-0.0.7.tar.gz.

File metadata

  • Download URL: refast-0.0.7.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for refast-0.0.7.tar.gz
Algorithm Hash digest
SHA256 364f0e19cc0b5ec1ab2860d28de88148ce248a21e25af7a9d98c3e60ee954efa
MD5 8cfda22b969a5cc84407365a8f0eefe4
BLAKE2b-256 2e3780dc0310bba89ebfaa7d5e2c1ca9a6a7ef26d9110e82d0fe7e95f69b654d

See more details on using hashes here.

File details

Details for the file refast-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: refast-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for refast-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 058e55b264a55f10a28d64de4fdd8eafb5c98a51af81422363e6c9ad118d7715
MD5 6b711f167d7cf65227a4870725e55415
BLAKE2b-256 2a6c8c0d1955d198e9346b8d1253228be33e8adf3aefe37a1a501a3e96a2072d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page