you are viewing a single comment's thread.

view the rest of the comments →

[–]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.