https://github.com/rio-labs/rio Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + GitHub Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions By size + Enterprise + Teams + Startups By industry + Healthcare + Financial services + Manufacturing By use case + CI/CD & Automation + DevOps + DevSecOps * Resources Topics + AI + DevOps + Security + Software Development + View all Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up Reseting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} rio-labs / rio Public * Notifications You must be signed in to change notification settings * Fork 27 * Star 901 WebApps in pure Python. No JavaScript, HTML and CSS needed rio.dev License Apache-2.0 license 901 stars 27 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 49 * Pull requests 0 * Discussions * Projects 0 * Wiki * Security * Insights Additional navigation options * Code * Issues * Pull requests * Discussions * Projects * Wiki * Security * Insights rio-labs/rio This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main BranchesTags Go to file Code Folders and files Last commit Last Name Name message commit date Latest commit History 863 Commits .github .github assets assets frontend frontend raw_icons raw_icons rio rio scripts scripts tests tests .gitignore .gitignore .pre-commit-config.yaml .pre-commit-config.yaml .prettierrc .prettierrc .sassrc .sassrc CODE_OF_CONDUCT.md CODE_OF_CONDUCT.md CONTRIBUTING.md CONTRIBUTING.md LICENSE.txt LICENSE.txt README.md README.md SECURITY.md SECURITY.md changelog.md changelog.md package.json package.json pyproject.toml pyproject.toml vite.config.mjs vite.config.mjs View all files Repository files navigation * README * Code of conduct * Apache-2.0 license * Security Rio Logo Rio is an easy to use framework for creating websites and apps and is based entirely on Python. You won't need a single line of HTML, CSS, or JavaScript to create beautiful, modern apps. Tutorial - Examples - Discord - Docs - Source Code Rio brings React-style components to Python. Pull from a wealth of built-in components and combine them to create your own custom components. Then combine those into entire apps. Best of all, Rio apps can run both locally on your machine and on the web. Rio Version Python Version License GitHub Stars Downloads Image Generation Example Features * Modern, declarative UI framework * 100% Python - Zero HTML, CSS, or JavaScript required * Over 50 Built-in components for common UI elements, such as rio.Switch, rio.Button, and rio.Text, and many more * Integrates with modern Python tooling: Thanks to being entirely Type Safe editors can give you instant suggestions and highlight problems right away * Apps can run both locally and on the web * Dev tools included * Open Source & Free forever Example [?][?] # 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! Installation [?] Rio is available on PyPI, so you can install it using pip: pip install rio-ui Getting Started Rio comes with a very helpful command line utility to help you out. Create a new project in one short command: rio new You can choose from a variety of built-in templates to get you started. Here's a complete example to create a project based on the tic-tac-toe template: rio new my-project --type website --template "Tic-Tac-Toe" cd my-project rio run You'll have your first app up and running in seconds! Status: In Development Rio is still in development. We're working hard to bring you the best possible experience. If you have any feedback, please let us know on our Discord server. Contributing Every project thrives with a helping hand, and that's especially true for Rio. There are lots of ways to jump in, like adding new features, fixing bugs, or just sharing your ideas. Check out our Contributing Guide when submitting a Pull Request to the project. Rio keeps getting better with new features rolling out every week. Star and watch this repo to stay in the loop! Unless you explicitly state otherwise, any contribution submitted for inclusion in Rio shall be licensed under the terms of the Apache-2.0 license, without any additional terms or conditions. Community Support Join the Rio adventure and be part of an awesome fellowship! Here is how to get in touch: * Discord (Level up your Rio skills! Join our Discord server to chat with other developers and discuss how to contribute.) * GitHub (Spot a bug? Issues are the perfect place to let us know. Feeling super-helpful? Try fixing an existing issue and submit a PR!) * Community Forum (Join our community forum on Github for asking questions and discussions) * Feature Requests (Cleanest way to request a feature on GitHub) For general help using Rio, please refer to the official Rio documentation. About WebApps in pure Python. No JavaScript, HTML and CSS needed rio.dev Topics python data-science machine-learning ui deep-learning data-visualization webapp data-analysis Resources Readme License Apache-2.0 license Code of conduct Code of conduct Security policy Security policy Activity Custom properties Stars 901 stars Watchers 11 watching Forks 27 forks Report repository Releases 8 Rio 0.9.2 Latest Jul 25, 2024 + 7 releases Contributors 9 * @mad-moo * @Aran-Fey * @Sn3llius * @JJFlorian * @16amattice * @P4nd4no * @shubham-kshetre * @mahiro72 * @grayeul Languages * Python 69.0% * TypeScript 26.0% * SCSS 4.8% * CSS 0.1% * HTML 0.1% * JavaScript 0.0% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.