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.6.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.6-py3-none-any.whl (1.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: refast-0.0.6.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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.6.tar.gz
Algorithm Hash digest
SHA256 75d1b2f65c4d97d470a8e21b3136e2685e6869612b651e4c3ab5b13da154cbba
MD5 2b6d1b63c6db9255dcf76e3a24eadcc7
BLAKE2b-256 e9b9d45959c53e82685a83bbf88e14d538308172f6987d16c64c1c5ce666a460

See more details on using hashes here.

File details

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

File metadata

  • Download URL: refast-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 e8536d5113fd827688f8231a9806c4633a6b2821065e9e1ecac1b52ab273d463
MD5 58e559f38dd07aa1fcf33211694f6d81
BLAKE2b-256 406b01651dfa22e1b943aed761aa576162c0c3197d7af785597bb0b01b19de11

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