# reactive-python/reactpy

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/reactive-python-reactpy).**

8,138 stars · 327 forks · Python · MIT

## Links

- GitHub: https://github.com/reactive-python/reactpy
- Homepage: https://reactpy.dev
- awesome-repositories: https://awesome-repositories.com/repository/reactive-python-reactpy.md

## Description

Reactpy is a Python web component framework and server-side UI library used to build interactive web interfaces. It allows for the creation of structured web layouts and visual logic within Python, removing the requirement to write client-side JavaScript.

The framework utilizes a component-based model with reactive state management, where the user interface automatically updates in response to changes in the underlying Python state. It employs a virtual-DOM diffing process and WebSocket-based syncing to push real-time updates from the server to the browser.

The system functions as an integration layer that attaches reactive interfaces to existing Python backend servers and web frameworks. This enables the composition of reusable components that manage their own behavior and state through a declarative hierarchy.

## Tags

### Web Development

- [JavaScript-Free Web Interfaces](https://awesome-repositories.com/f/web-development/javascript-free-web-interfaces.md) — Allows the definition of structured web layouts and interactive visual logic entirely in Python. ([source](https://github.com/reactive-python/reactpy/blob/main/README.md))
- [Python Web Frameworks](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/language-specific-ecosystems/python-web-frameworks.md) — Provides a framework for developing interactive web user interfaces using the Python language.
- [Declarative UI Composition](https://awesome-repositories.com/f/web-development/declarative-ui-composition.md) — Allows building complex interfaces by nesting Python functions as declarative UI primitives.
- [Component State Management](https://awesome-repositories.com/f/web-development/frontend-development-tools/state-data-management/component-lifecycle-utilities/component-state-management.md) — Provides mechanisms to manage data and state within individual UI components that react to user input.
- [Backend Frameworks](https://awesome-repositories.com/f/web-development/backend-frameworks.md) — Integrates custom reactive frontends with established Python backend frameworks for data delivery.
- [WebSocket State Synchronization](https://awesome-repositories.com/f/web-development/state-syncing-reactivity/websocket-state-synchronization.md) — Utilizes WebSockets to push real-time state updates from the server to the client interface.
- [Virtual DOM Diffing](https://awesome-repositories.com/f/web-development/virtual-dom-diffing.md) — Uses a virtual-DOM diffing algorithm to calculate the minimal set of updates required for the browser.
- [Web Framework Integrations](https://awesome-repositories.com/f/web-development/web-framework-integrations.md) — Provides a standardized interface to integrate reactive components into various Python web servers and frameworks.

### Part of an Awesome List

- [Reactive Web Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/reactive-web-frameworks.md) — Implements a reactive workflow where the UI automatically synchronizes with the underlying Python state.
- [Full-stack Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/full-stack-frameworks.md) — React-like component development in Python.

### User Interface & Experience

- [Component-Based UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/component-based-ui-frameworks.md) — Employs a modular architectural paradigm to build web pages through reusable UI components.
- [State-Driven UI Rendering](https://awesome-repositories.com/f/user-interface-experience/event-driven-state-managers/event-driven-state-synchronizers/ui-state-recomposition/state-driven-ui-rendering.md) — Implements a system where the UI is automatically rendered and updated based on server-side state changes.
- [Python-Based UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/python-based-ui-frameworks.md) — A framework for building full interactive web interfaces using only Python code.
- [Server-Side Components](https://awesome-repositories.com/f/user-interface-experience/ui-component-libraries/server-side-components.md) — Defines UI hierarchies and manages visual logic on the server to eliminate the need for client-side JavaScript.
- [Reactive Components](https://awesome-repositories.com/f/user-interface-experience/user-interface-components/reactive-components.md) — Enables the creation of independent, state-managed components that drive interactive user interfaces. ([source](https://github.com/reactive-python/reactpy#readme))
