marimo in a Classroom
As a student, discovering marimo has been a game-changer.
This open-source reactive Python notebook transforms data analysis, making code more intuitive and accessible in a classroom. From interactive graphs to simplified memory management between cell blocks, this new platform elevates the coding experience, emphasizing reliable and reproducible science.

Hi fellow coders! I am Melody Nguyen, an undergraduate studying Business Analytics, Computer Science and Digital Marketing at Pace University in New York City.
As a research intern at SLAC National Accelerator Laboratory, I used marimo to analyze extreme weather events, supporting the development of resilient renewable energy. The seamless performance of marimo truly blew my mind.

Benefits of Using marimo
- Interactive Graphs: Easily zoom in and out to explore your data in detail and select specific plots.
- UI Features: Compare datasets with toggle buttons, numerical scales, and more!
- Less bugs: No hidden states between cell blocks — your progress is up-to-date.
- Live Comparison Between Variables: Perfect for lab work, in-depth data analysis, or experimentation.
- Easier Analysis and Visualization: Clarifies complex concepts, and helps illustrate patterns for visual learners, especially for students.

A New Coder's Experience
Before my summer internship at SLAC, I had only taken one Python class, which opened up an exciting world. Still, I was nervous about the learning curve. Thankfully, marimo made it easy.
Designed for modern developers, marimo ensures reproducibility by executing code in a deterministic order and contains auto-imports for libraries like pandas and matplotlib. This makes everything run smoothly and reduces the need to search for external packages.
When you run a cell, Marimo automatically executes all other cells referencing the global variables it defines. You don’t need to think about running cells in a specific sequence. The interconnected cells auto-calculate and react to changes, ensuring the latest data is always used and solving the hidden state problem in traditional notebooks like Jupyter – a lifesaver for consistent results for big projects or when running low on time for a final exam.

Experimenting with Marimo
In my case study, I focused on measuring the magnitude of the California August 2020 heat wave to illustrate the growing intensity of extreme weather events driven by climate change. Utilizing marimo’s features like reusable functions, I calculated temperature, wind speed, and solar irradiance deviations across different years and locations. marimo’s tools provided clear visual evidence to reinforce my findings on abnormal weather patterns.

Fun Functions
- mo.dataframe: Visualize and manipulate data frames seamlessly.
- mo.ui.slider: Zoom in to see specific portions of your data with ease.
- mo.vstack and mo.hstack: Layout outputs.
- mo.ui.dropdown: Live comparison of variables.
mo.ui.table: A table component with selectable rows.
Toggling between notebook mode and app mode made it easy to check for consistency in my code across various nodes, and the interactive graphs to zoom in and narrow down specific time frames I wanted to focus on.

Along the way, I even created some accidental marimo art—one I call my beautiful Picasso painting. A fun reminder to enjoy the learning process and utilize new technology like marimo to step up your coding game.
Improved Data Analysis
As I created functions to calculate monthly integrals and identify temperature spikes, I tracked my progress thanks to marimo’s seamless connection with GitHub. Built for collaboration, marimo stores notebooks as pure Python files. This means small code changes create small git diffs, and the code is syntax-highlighted and formattable with existing tools – ideal for version control and team projects.

My mentor, Bennet Meyers, Stanford PhD and staff scientist in the lab, was able to help me with code review by breaking down step-by-step processes and ensuring my code would work successfully before building off of it—a vitally important factor in collaborative environments. With marimo, the potential for growth as a student is boundless.

Try It Out Today!
Whether you are a seasoned coder or just starting, marimo is the future of Python. marimo makes data analysis fun, intuitive, and highly effective. Give it a try this fall semester to see for yourself!