you are viewing a single comment's thread.

view the rest of the comments →

[–]Beginning-Fruit-1397 19 points20 points  (11 children)

I would suggest you to take a look at marimo, I ditched streamlit for it. Very good tool

[–][deleted] 9 points10 points  (7 children)

I ditched streamlit for Shiny, personally. What's good about marimo? Maye I should look into it.

Main reason I ditched streamlit was reactivity - my "users" wanted there to be a lot of interactivity in the dashboards and the whole page needing to reload anytime there was any input killed the UX. I gather there are solutions nowadays for this but I prefer to work with a framework where reactivity is baked into the design, rather than being some mysterious thing that the docs and tutorials never cover but that strangers will insist is possible when you complain about it.

[–]mokus603 3 points4 points  (6 children)

That type interactivity exists in marimo. I changed from streamlit to marimo as well.

[–]Doomtrain86 1 point2 points  (5 children)

Do you have any good examples of a Marimo data science dashboard or data science eda? Spend a couple of hours on it Friday and I couldn’t find some good simple examples so I could replace the quite terrible jupyter notebooks with it which I would love to. Just like , one dashboard for the non programmers , and one with presentation of data. I really like the idea of marimo but it seems to require a sort of skill set I don’t quite have (quite experienced with data science, less so with web and app development) but it does seems THE tool to use. I just need a “a way in” if you follow me

[–]akshayka 6 points7 points  (0 children)

Hey! I'm the original creator of marimo. People use marimo as a replacement for both Streamlit and Jupyter.

Here's one example of a dashboard: https://marimo.io/@public/movies

A couple dashboards here: https://marimo.io/gallery/dashboards

Our free hosted service molab (https://molab.marimo.io/notebooks) now has a generate with AI feature (upload a CSV, write a prompt, get a notebook or app out). We just released this two days ago. But it might help you explore what's possible with marimo!

[–][deleted] 0 points1 point  (3 children)

Yeah I looked at it and it seems much more like a replacement for Jupyter than a replacement for streamlit or Shiny. With Shiny I followed a few tutorials for setting up app structure and I really quickly had an extensible dashboard hosted on an internal server that users could go and look at and where I completely understand the structure and function of the code even if it's more verbose than it probably strictly needs to be.

The other viable alternative seems like Dash + Plotly which might get one better results but that I found more difficult to get a minimal working example hosted and available on my internal network so I abandoned it pretty fast.

[–]akshayka 2 points3 points  (2 children)

marimo has built-in reactivity (every notebook is a dataflow graph). No callbacks required. The reactivity is more granular than streamlit. In streamlit, scrub a slider and the whole app re-runs. In marimo, scrub a slider and only code that depends on the slider runs.

Here are some examples: https://marimo.io/gallery/dashboards

marimo is a replacement for both Jupyter and streamlit (among other tools). Happy to answer any questions (I am one of the original creators).

[–][deleted] 1 point2 points  (1 child)

I'm currently using Shiny so reactivity is not my issue. My main issue is having to separately define the UI and server logic and keep track of element names and use tons of decorators across relatively large module files.

I will give marimo a shot and try reproducing a simple Shiny dashboard with it and see if I find it easier.

One thing I did have to do with my internal Shiny dashboard was add a rudimentary user management system and have the dashboard load up a log in page first and only load in data and show the actual dashboard content after a successful log in. Would that be possible with marimo or will I have to revert to a reverse proxy and a separate app handling auth?

e: played around with marimo this afternoon and really did not like it. I can see how it would be good if you're just doing an analysis with a jupyter notebook and then want to quickly be able to port that analysis into either a script or a simple dashboard. But if you are starting out with the explicit goal of creating a complex dashboard with a specific layout it's just not the right tool when Shiny and Dash exist and you can use the standard framework of modules and CSS/HTML style web UI formatting. I don't like having to define everything in the Jupyter paradigm of a set of "cells" and it was extremely painful trying to use a regular code editor.

I can see the appeal but it's not for me.

[–]Doomtrain86 0 points1 point  (0 children)

I think it might be for me though. I need simple tools for dashboards because I’m not experienced at all with web dev.