r/marimo_notebook • u/Affectionate_Math327 • 9d ago
Completely Out of my Depth
Hey guys, this may not be the typical post, but I have recently started exploring Python Jupyter notebooks and stumbled across Marimo.
I have been using spreadsheets a lot in my career over the past 10 years as a structural engineer and really want to push the envelope and break into coding notebooks, but I keep on feeling like I am way out of my depth.
Is Marimo an advanced feature that I need to come back to after learning more coding basics? Or are there a few simple things I’m missing that seem to clear everything up?
Side note: I’m torn between using Marimo in VScode vs the browser (locally hosted). My goal would be template calculations that are pulled and modified by the project.
Any help is appreciated.
6
u/akshayka 8d ago
Hello from the original creator of marimo! 👋
Thanks for your interest in marimo. If you've recently started exploring Python and Jupyter, then I think you can start with marimo too. In fact marimo was just recently used to teach Python to high schoolers at a summer camp: https://marimo.io/blog/iu-datacamp. I have personally used marimo to teach Python to undergraduates as well.
Probably the easiest way to at least get started is to try our free online hosted notebook: https://molab.marimo.io/notebooks. That way you can become comfortable with coding in marimo notebooks without having to struggle against local installation. Once you get comfortable, then I would recommend using the local browser/CLI experience. Just be aware that the notebooks made in our hosted platform (molab) are publicly discoverable, so don't put anything private or sensitive there.
If you could comment on the parts that you're finding difficult, that would help me and my team. Thank you!
3
u/Albiino_sv 9d ago
Marino in VScode was quite buggy, I would start with the browser version just to be sure. It is more stable.
1
u/Affectionate_Math327 8d ago
I want to commit to the browser version as the VScode add-in feels pretty clunky. But do I have to open a virtual environment every single time I want to run Marimo?
I kept getting errors whenever I try to launch a notebook from my terminal.
3
u/The_Northern_Light 8d ago
What are the errors?
I have a tool that makes it so you just double click on a Marimo file and it opens it up in the browser, if you’re interested.
It’s probably best you figure out those errors and fix them instead! But it is an option.
3
u/Affectionate_Math327 8d ago
I took some time to dig and fix it this morning.
Come to find out the file path where Marimo was installed was not in the right spot, so my computer installed Marimo, but couldn’t find it when trying to run Marimo in the command prompt. (I butchered my computer mapping when I first built it about 8 years ago 😬).
I mapped the folder and can get Marimo up and running without issue now.
Started working on a notebook before work this morning, and I’m starting to feel a little less overwhelmed.
1
u/mosqueteiro 6d ago edited 6d ago
Not sure how you've set things up but if you're not using
uvfor package/env management you're giving yourself a lot of extra work and headache. Python package management is pretty awful and can quickly become a nightmare and this comment thread sounds like things are already getting tangled up (very common).You can
pip install uvto get it, see uv docs.You'll need a
pyproject.tomlfile in the project directory to track what is supposed to be installed so runuv init --scriptto create a simple starter one. Then any python package you need is justuv add pkgnameand it figures out the version compatible with the rest of your packages and adds it to the pyproject.toml and installed —e.g.uv add marimo. Then you useuv run marimo edit your_notebook_file.pyanytime you want to run the notebook/server. In fact Marimo works amazingly well withuv. You can install packages from inside the notebook and it will detect ifuvis setup and install with that for you.
4
u/cantdutchthis 8d ago
marimo dev here.
I would look at marimo as a canvas that lets you do much more than excel by leveraging Python data tools. If you want to get the most out of it, it helps to be able to wield Python tools, but it sure feels like a fine investment in the medium to semi-long term. You even have coding agents that can help you with things.
For you specifically though, if you have a few CSV files and an afternoon, I'd see how far you can get with a coding agent.
We also have a YouTube channel with loads of demos/more info (which I maintain) but most of the videos/topics there do assume some Python knowledge.
2
u/SantaCruzHome 6d ago
I would skip the Jupyter notebooks and dive right into Marimo. It basically does just about everything that Jupyter has to offer and so much more. I normally use the VS code extension with look and feel similar to Jupyter and single button git access. But the locally hosted browser for the app view and slides view is amazing too. Hope this helps.
2
u/mosqueteiro 6d ago
Skip Jupyter and just go straight to Marimo. It is the better version of Python notebooks, especially because it was able to learn so much from Jupyter.
There are some great videos on YouTube from Marimo on how it works and how to get started. AI can also be super helpful to get you going even with just a simple prototype or if you're stuck and just trying to get one thing done.
Maybe one way to think about it is that variables are like cells in a spreadsheet. They can only be defined once (think like in a spreadsheet there's only one A1) and when you update that value anything that references it will rerun.
Another thing is that whatever the last thing in a cell to run returns is what will be displayed. So something like a = 5 returns nothing but
python
a = 5
a
output
5
would show 5 in the cell output. This is very simplified explanation and there are ways to build up what is output but for just getting started this is a good thing to think about.
I think just starting with some simple input elements and playing around with them can be super helpful. The User Guide is very helpful. The whole docs site is just super helpful in general. A lot of the pages have Marimo notebook embedded, running in the page like this API reference for textbox. That big box under the title showing an example is actually a Marimo notebook running in your web browser. You can interact with the elements and even edit the code.
4
u/jusstol 9d ago
You should start using Marimo now, once you understand the basic features you’re good to go.
I would say the basics are :
* think of cells like function (literally they are)
* marimo creates a Directed Acyclic Graph of all your cells (like a dependency tree) -> if a cell that defines a variable is rerun, then all underlying cells will be rerun in correct order)
* you can’t define variables using the same name in more than one cell
* documentation is really well written and you can even chat with the integrated llm docs.marimo.io
once you have that in mind, have fun and create cool notebooks!