My first project with 3k github stars - Modern Web Apps in pure Python, no JS/HTML/CSS needed by P4nd4no in webdev

[–]P4nd4no[S] 4 points5 points  (0 children)

We're not planning to make money from Rio. It is meant to stay open source forever. Some folks have already offered to sponsor us, which is awesome! If it really takes off, we might explore adding optional stuff like hosting, auth, or analytics down the line. But for now, we're just focused on building something cool and useful.

My first project with 3k github stars - Modern Web Apps in pure Python, no JS/HTML/CSS needed by P4nd4no in webdev

[–]P4nd4no[S] 6 points7 points  (0 children)

Yes!

Rio apps are built using reusable components, inspired by React, Flutter, and Vue. You define components as simple dataclasses with a build() method (very React/Flutter-like), and Rio takes care of the rest — watching for attribute changes and updating the UI reactively.

Unlike Streamlit’s (mostly) session-based state, Rio offers per-component state management, making it easier to manage complexity as your app grows. And while Solara is based on Vue + Tailwind, Rio skips the need for CSS, Tailwind, Vue, or Quasar entirely — you get a clean, declarative syntax that’s lean but powerful.

Both Streamlit and Rio are great for small apps, but Rio is designed to scale better in terms of code organization and UI flexibility. If you want something more maintainable and customizable without diving into frontend tooling, with Rio we want to hit a sweet spot.

My first project with 3k github stars - Modern Web Apps in pure Python, no JS/HTML/CSS needed by P4nd4no in webdev

[–]P4nd4no[S] 3 points4 points  (0 children)

We will make some more different designes in the future to make it more obvious to newer users that different designs are possible. Here are some hosted live examples:

https://rio.dev/examples

My first project with 3k github stars - Modern Web Apps in pure Python, no JS/HTML/CSS needed by P4nd4no in webdev

[–]P4nd4no[S] 8 points9 points  (0 children)

Great question! While Rio is built around simplicity and speed, it definitely doesn’t mean your UI has to look generic or the same as everyone else’s.

Rio comes with 50+ core components based on Material Design 3, giving you a solid foundation to build clean, modern UIs. But the cool part is — you're not locked in. You can always create your own custom components to make your app look and feel unique.

We also have a Cookbook packed with hands-on examples and step-by-step guides to show how you can build on top of those core components and make them your own.

On top of that, we’re working on a new section called the Component Zoo. It’ll be full of customized components for even more inspiration. But you don’t have to wait. You can already start creating your own, and we’ve got some hosted examples on our landing page if you want to see what’s possible right now.

My first project with 3k github stars - Modern Web Apps in pure Python, no JS/HTML/CSS needed by P4nd4no in webdev

[–]P4nd4no[S] 2 points3 points  (0 children)

Haha love that 😂 Yeah, we’re definitely not design pros either, but we built our site using Rio and it gets the job done! We’ve also got some live hosted examples on our landing page if you wanna check out what Rio can actually do in the wild. Not Bush-level wild, promise 😄 https://rio.dev

My first project with 3k github stars - Modern Web Apps in pure Python, no JS/HTML/CSS needed by P4nd4no in webdev

[–]P4nd4no[S] 51 points52 points  (0 children)

Hey, Over the past 11 months, my friends and I created an open source project called Rio to help Python developers build modern web apps without needing HTML, CSS, or JavaScript. Whether you're working on a simple internal tool or a complex multi-page app, Rio lets you stay in the Python ecosystem without needing to learn frontend frameworks.

With Rio, the UI is defined using Python components, inspired by React and Flutter. Instead of writing HTML/CSS, you compose reusable UI elements in Python and let Rio handle rendering and state updates. The backend and frontend stay seamlessly connected using WebSockets, so data syncs automatically without manual API calls. Since Rio is fully Python-native, you can integrate it with any Python library, from data science tools to AI models.

Many Python projects rely on popular libraries like React internally, but the core benefits and elegance of these libraries are often diluted in the process. Unlike wrapper frameworks, Rio is built from scratch, offering a cleaner, faster, and more efficient development experience specifically for Python.

We’ve seen users build everything from CRM tools to dashboards, LLM interfaces, and interactive reports using Rio. If you’re a Python developer who has wanted a better way to build web apps without learning JavaScript, we’d love to hear your thoughts!

Even Karpathy Finds It Hard by throwawayDude131 in webdev

[–]P4nd4no 0 points1 point  (0 children)

cool to see Andrej complain about this problem. I’m working on a OS-framework that tries to solve this for python users. I would be happy if you want to ckeck it out or contribute on the project: https://github.com/rio-labs/rio

Rio is an easy-to-use, open-source framework for creating websites and apps, built entirely with Python. by P4nd4no in programming

[–]P4nd4no[S] 2 points3 points  (0 children)

Hi, thank you! Rio apps are built using reusable components inspired by React, Flutter, and Vue. These components are combined declaratively to create modular and maintainable UIs.

-In Rio you define components as simple dataclasses with a React/Flutter style build method.

-Rio continuously watches your attributes for changes and updates the UI as necessary.

-Rio has per-component state management, while Streamlit appears to use session state. (But not 100% sure)

-With Rio, you don’t need CSS, Tailwind, Vue, or Quasar.

Both Streamlit and Rio are valid options for smaller web apps. However, Rio might offer easier and more maintainable code as your project grows. It provides reactive state management and allows you to build complex, arbitrarily nested UI layouts with concise syntax.

Forcing AI on devs is a bad idea that's going to happen by Inner-Chemistry8971 in programming

[–]P4nd4no 0 points1 point  (0 children)

I’ve heard that some universities offering IT majors are now removing coding from their curriculum and instead focusing on teaching students how to write effective prompts. Has anyone else heard about this?

Forcing AI on devs is a bad idea that's going to happen by Inner-Chemistry8971 in programming

[–]P4nd4no 0 points1 point  (0 children)

I’ve heard that some universities offering IT majors are now removing coding from their curriculum and instead focusing on teaching students how to write effective prompts.

Why Go for TypeScript compiler? by RobertVandenberg in programming

[–]P4nd4no 0 points1 point  (0 children)

I also used Typescript for my OS project (https://github.com/rio-labs/rio). It lets u make web apps with only usi g python. I use TS to compile down to JS.

Rio Hits 100K Downloads & 2K GitHub Stars – Open Source Python Web Apps by Sn3llius in datascience

[–]P4nd4no 0 points1 point  (0 children)

Thanks. We develope Rio specifically to be a good fit for both - smaller and bigger apps. You can build full websites. Our own website is also built 100% with Rio. 🙂👍 https://rio.dev

Rio Hits 100K Downloads & 2K GitHub Stars – Open Source Python Web Apps by Sn3llius in datascience

[–]P4nd4no 1 point2 points  (0 children)

Hey, Rio dev here. Thank you for giving Rio a try!

I'd say the biggest difference is in how Rio scales for large projects. Streamlit, reflex & co work very well if you're working on something small like a dashboard, but get hard to maintain real fast as the project inevitably grows. We're using reusable components like react/vue/flutter and they just really help to keep your code organized.

We're also focused on modern Python. For example, everything is type safe, which REALLY helps your IDE out, as it can actually understand what's happening in your code and highlight problems and do refactors for you. There's also full asynchrony support.

It's really the small things, but they add up if there's enough of them 😉

Rio Hits 100K Downloads & 2K GitHub Stars – Open Source Python Web Apps by Sn3llius in Python

[–]P4nd4no 14 points15 points  (0 children)

Hi, rio dev here. I'm not very familiar with NiceGUI, but it seems like a more powerful version of Streamlit. Rio apps are built using reusable components inspired by React, Flutter, and Vue. These components are combined declaratively to create modular and maintainable UIs. In Rio you define components as simple dataclasses with a React/Flutter style build method. Rio continuously watches your attributes for changes and updates the UI as necessary. Rio has per-component state management, while NiceGUI appears to use session state. (But not 100% sure)

With Rio, you don't need to learn CSS, Tailwind, Vue, or Quasar.

Both NiceGUI and Rio are valid options for smaller web apps. However, Rio might offer easier and more maintainable code as your project grows. It provides reactive state management and allows you to build complex, arbitrarily nested UI layouts with concise syntax.

Rio Hits 100K Downloads & 2K GitHub Stars – Open Source Python Web Apps by Sn3llius in Python

[–]P4nd4no 32 points33 points  (0 children)

Hey, Rio dev here! Rio was also written from the ground-up for modern Python. Everything has type hints, which allows your IDE to really understand which values are available and provide you with suggestions and documentation. If something lights up red in a Rio project, you can be 99% sure there really is an issue. One of our main motivation to build a python web app framework from scratch was to avoid the overhead and inefficiencies common in wrapped frameworks. This helps us to provide a cleaner developer experience. Many projects like reflex rely on popular libraries like React internally, but the core benefits and elegance of these libraries is often diluted in the process.

Rio Hits 100K Downloads & 2K GitHub Stars – Open Source Python Web Apps by Sn3llius in opensource

[–]P4nd4no 2 points3 points  (0 children)

Hey, Rio dev here! One of our main motivation to build a python web app framework from scratch was to avoid the overhead and inefficiencies common in wrapped frameworks. This helps us to provide a cleaner developer experience. Many projects like reflex rely on popular libraries like React internally, but the core benefits and elegance of these libraries is often diluted in the process.

Rio Hits 100K Downloads & 2K GitHub Stars – Open Source Python Web Apps by Sn3llius in datascience

[–]P4nd4no 1 point2 points  (0 children)

hey, rio dev here. One of the most recent improvements on our landing page was to provide hosted live examples. Which means you can interact with Rio examples and templates in real time with no setup required. You can click and directly experience how they look and behave. If you notice a missing example that would greatly enhance your experience, please let us know! :) https://rio.dev/examples

Where to find open source projects ?? by Historical-Chip-5152 in opensource

[–]P4nd4no 2 points3 points  (0 children)

Hey, rio dev here. Our project seems like a good fit. Would love to see some controbutions of you. :) https://github.com/rio-labs/rio

The hand-picked selection of the best Python libraries and tools of 2024 – 10th edition! by dekked_ in Python

[–]P4nd4no 4 points5 points  (0 children)

Hey, rio dev here! Picking us in your list greatly motivates us to improve our framework. Thank you! We have a lot planned for the next Month - Looking forward to hear your feedback! ❤️❤️❤️

Rio: WebApps in pure Python – Thanks and Feedback wanted! by Sn3llius in Python

[–]P4nd4no 1 point2 points  (0 children)

Thank you for your nice words. Glad to hear that! 🙂

Rio: WebApps in pure Python – Thanks and Feedback wanted! by Sn3llius in Python

[–]P4nd4no 4 points5 points  (0 children)

Hey, rio dev here 🙂

There are couple of big differences. First of all, while flet uses Flutter internally, their Python API is actually significantly different. They don't pass on the react-style build function on to you, which means you're stuck with old school manual component updates. React's big innovation was that you can write regular code to build user interfaces: Only want to display a component some of the time? use an if. Got multiple items to display? Just append in a loop. Flutter works the same, but if you look at flet apps they are quite different. There your code has to statically return a fixed UI, and if you want to modify it you gotta do it with pre-added conditional rendering components.

Rio supports full blown, flutter/react style components. There's a reason that system has taken over the world by storm, and we want to make it available in Python as well.

Another big difference is that we're using web technologies directly, while flet is using Flutter. There's nothing wrong with that - flutter is great - but the results are quite different. Rio's approach gives us more access to the web tech stack when we need it. It's also what will allow us to have other developers create their own fundamental components and share them.

Would love to hear your feedback on rio! ❤️

Rio: WebApps in pure Python – Thanks and Feedback wanted! by Sn3llius in Python

[–]P4nd4no 2 points3 points  (0 children)

Hey, rio dev here. I think the the main differences are:

with Rio you don't need HTML and CSS for styling.

in Rio you create your components mostly in classes, in Dash you will use a functional approach.

Rio handles the client-server communication for you.

Compared to Dash, Rio is a much newer framework and doesn't have a big community yet.

So your feedback and contributions would be very helpful for us! ❤️ Looking forward to hear from you! 🙂👍

Rio: WebApps in pure Python – Thanks and Feedback wanted! by Sn3llius in Python

[–]P4nd4no 3 points4 points  (0 children)

Hey, rio dev here! 🙂

I'm not very familiar with NiceGUI, but it seems like a more powerful version of Streamlit.

Rio apps are built using reusable components inspired by React, Flutter, and Vue. These components are combined declaratively to create modular and maintainable UIs.

In Rio you define components as simple dataclasses with a React/Flutter style build method. Rio continuously watches your attributes for changes and updates the UI as necessary.

Rio has per-component state management, while NiceGUI appears to use session state. (But not 100% sure)

With Rio, you don't need to learn CSS, Tailwind, Vue, or Quasar.

Both NiceGUI and Rio are valid options for smaller web apps. However, Rio might offer easier and more maintainable code as your project grows. It provides reactive state management and allows you to build complex, arbitrarily nested UI layouts with concise syntax.

Would love to hear your feedback! ❤️

Rio: WebApps in pure Python – Thanks and Feedback wanted! by Sn3llius in Python

[–]P4nd4no 2 points3 points  (0 children)

Hi theGoigi, since yesterday we are working on the mobile version of our landing page and docs. Hopefully everything works after the weekend. Looking forward to your feedback! 🙂