Rio: Build Web and Desktop Apps in Pure Python, No JavaScript Needed
This repository profile is provided by osrepos.com, an open source repository discovery platform.

Summary
Rio is an innovative Python framework that allows developers to create web and desktop applications using pure Python, eliminating the need for HTML, CSS, or JavaScript. It provides a modern, declarative UI approach with over 50 built-in components, making app development efficient and enjoyable. With Rio, you can build powerful, type-safe applications that run seamlessly across different environments.
Repository Information
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Introduction
Rio is an innovative framework that empowers developers to build web and desktop applications entirely in Python. It removes the need for traditional web technologies like HTML, CSS, and JavaScript, offering a streamlined development experience. With Rio, you can create modern, interactive user interfaces using a declarative approach, leveraging Python's simplicity and power.
Installation
Getting started with Rio is straightforward. You can install it using pip:
pip install rio-ui
After installation, you can quickly scaffold a new project using the Rio command-line utility:
rio new my-project --type website --template "Tic-Tac-Toe"
cd my-project
rio run
Examples
Rio adopts a component-based architecture, similar to React, making UI development intuitive. Here's a simple example demonstrating a button click counter:
# Define a component that counts button clicks
class ButtonClicker(rio.Component):
# Define the attributes of the component. Rio will watch these
# for changes and automatically update the GUI.
clicks: int = 0
# Define a method that increments the click count. We'll later
# make a button that calls this method whenever it is pressed.
def _on_press(self) -> None:
self.clicks += 1
# Define the `build` method. This method essentially tells Rio
# what a ButtonClicker component looks like. Whenever the state
# of the ButtonClicker component changes, Rio will call its
# `build` method and update the GUI according to the output.
def build(self) -> rio.Component:
return rio.Column(
rio.Button('Click me', on_press=self._on_press),
rio.Text(f'You clicked the button {self.clicks} time(s)'),
)
# Create an App and tell it to display a ButtonClicker when it starts
app = rio.App(build=ButtonClicker)
app.run_in_browser() # Or `app.run_in_window()` to run as local app!
Why Use Rio
Rio stands out for several compelling reasons:
- 100% Python: Develop full-stack applications without touching HTML, CSS, or JavaScript.
- Declarative UI: Enjoy a modern, intuitive way to build user interfaces.
- Rich Component Library: Access over 50 built-in components for common UI elements.
- Type-Safe: Integrates seamlessly with modern Python tooling, offering instant suggestions and problem highlighting.
- Versatile Deployment: Run your applications locally as desktop apps or deploy them as web applications.
- Open Source: A free and actively developed framework with a supportive community.
Links
Explore Rio further with these official resources:
Related repositories
Similar repositories that may be relevant next.

Tiny8: An Educational 8-bit CPU Simulator with Interactive Visualization
June 19, 2026
Tiny8 is a lightweight and educational 8-bit CPU simulator written in Python. It offers an interactive terminal debugger and graphical animation to visualize program execution, making it ideal for learning computer architecture and assembly programming.

AutoHedge: Build Your Autonomous AI Hedge Fund with Swarm Intelligence
June 15, 2026
AutoHedge is an enterprise-grade autonomous agent hedge fund that leverages swarm intelligence and specialized AI agents. This powerful Python project automates end-to-end market analysis, risk management, and trade execution. It allows users to build and deploy their own AI-driven trading strategies with minimal human intervention.

IPSpot: A Python Library for IP and Geolocation Data Retrieval
June 13, 2026
IPSpot is a powerful Python library designed to retrieve both public and private IPv4 and IPv6 addresses. It also provides detailed geolocation data, such as region, longitude, and latitude, using a reliable fallback mechanism across multiple API providers. This makes it an essential tool for network monitoring and location-based lookups directly from your system.

MOSS-TTS Family: Open-Source High-Fidelity Speech and Sound Generation
May 31, 2026
The MOSS-TTS Family offers an open-source suite of models for high-fidelity, highly expressive speech and sound generation. Designed for complex real-world scenarios, it covers stable long-form speech, multi-speaker dialogue, voice design, environmental sound effects, and real-time streaming TTS. This comprehensive family of models from MOSI.AI and OpenMOSS team provides robust solutions for diverse audio generation needs.
Source repository
Open the original repository on GitHub.