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.

Rio: Build Web and Desktop Apps in Pure Python, No JavaScript Needed

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

Analyzed by OSRepos on March 9, 2026

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

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.

8-bit-computerassemblervisualization
AutoHedge: Build Your Autonomous AI Hedge Fund with Swarm Intelligence

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.

PythonAIHedge Fund
IPSpot: A Python Library for IP and Geolocation Data Retrieval

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.

PythonIP AddressGeolocation
MOSS-TTS Family: Open-Source High-Fidelity Speech and Sound Generation

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.

audioaudio-tokenizerllm

Source repository

Open the original repository on GitHub.

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️