{"name":"Rio: Build Web and Desktop Apps in Pure Python, No JavaScript Needed","description":"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.","github":"https://github.com/rio-labs/rio","url":"https://osrepos.com/repo/rio-labs-rio","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/rio-labs-rio","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/rio-labs-rio.md","json":"https://osrepos.com/repo/rio-labs-rio.json","topics":["Python","Web Development","GUI Framework","App Development","Data Science","Machine Learning","Developer Tools","Declarative UI"],"keywords":["Python","Web Development","GUI Framework","App Development","Data Science","Machine Learning","Developer Tools","Declarative UI"],"stars":null,"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.","content":"## Introduction\nRio 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.\n\n## Installation\nGetting started with Rio is straightforward. You can install it using pip:\n\nbash\npip install rio-ui\n\n\nAfter installation, you can quickly scaffold a new project using the Rio command-line utility:\n\nbash\nrio new my-project --type website --template \"Tic-Tac-Toe\"\ncd my-project\nrio run\n\n\n## Examples\nRio adopts a component-based architecture, similar to React, making UI development intuitive. Here's a simple example demonstrating a button click counter:\n\npython\n# Define a component that counts button clicks\nclass ButtonClicker(rio.Component):\n    # Define the attributes of the component. Rio will watch these\n    # for changes and automatically update the GUI.\n    clicks: int = 0\n\n    # Define a method that increments the click count. We'll later\n    # make a button that calls this method whenever it is pressed.\n    def _on_press(self) -> None:\n        self.clicks += 1\n\n    # Define the `build` method. This method essentially tells Rio\n    # what a ButtonClicker component looks like. Whenever the state\n    # of the ButtonClicker component changes, Rio will call its\n    # `build` method and update the GUI according to the output.\n    def build(self) -> rio.Component:\n        return rio.Column(\n            rio.Button('Click me', on_press=self._on_press),\n            rio.Text(f'You clicked the button {self.clicks} time(s)'),\n        )\n\n# Create an App and tell it to display a ButtonClicker when it starts\napp = rio.App(build=ButtonClicker)\napp.run_in_browser()  # Or `app.run_in_window()` to run as local app!\n\n\n## Why Use Rio\nRio stands out for several compelling reasons:\n*   **100% Python**: Develop full-stack applications without touching HTML, CSS, or JavaScript.\n*   **Declarative UI**: Enjoy a modern, intuitive way to build user interfaces.\n*   **Rich Component Library**: Access over 50 built-in components for common UI elements.\n*   **Type-Safe**: Integrates seamlessly with modern Python tooling, offering instant suggestions and problem highlighting.\n*   **Versatile Deployment**: Run your applications locally as desktop apps or deploy them as web applications.\n*   **Open Source**: A free and actively developed framework with a supportive community.\n\n## Links\nExplore Rio further with these official resources:\n*   [Tutorial](https://rio.dev/get-started?s=pl1)\n*   [Examples](https://rio.dev/examples?s=g8r)\n*   [Discord](https://discord.gg/7ejXaPwhyH)\n*   [Documentation](https://rio.dev/docs?s=o1z)\n*   [Source Code](https://github.com/rio-labs/rio)","metrics":{"detailViews":2,"githubClicks":2},"dates":{"published":null,"modified":"2026-03-09T01:29:31.000Z"}}