Skip to content

Releases: marimo-team/marimo

0.6.4

23 May 17:53
fc53164
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.6.3...0.6.4

0.6.3

23 May 04:46
a0fd9a0
Compare
Choose a tag to compare

What's Changed

A small fix for mo.ui.table.

Full Changelog: 0.6.2...0.6.3

0.6.2

22 May 23:46
3d96206
Compare
Choose a tag to compare

What's Changed

Small fixes.

Full Changelog: 0.6.1...0.6.2

0.6.1

22 May 21:58
91e1528
Compare
Choose a tag to compare

What's Changed

Highlights

This change includes many quality-of-life improvements to the marimo editor.

📝 Improved markdown editing. The markdown editor now includes basic keyboard shortcuts for bolding text, italicizing, inserting links and more. "Markdown cells", i.e. cells that have a single mo.md expression, automatically render with the markdown editor. We've also added a "add markdown cell" button to the bottom of the cell array for convenience.

📑 Go-to definition. Use Ctrl/Cmd+Click on a variable to automatically jump to its definition!

📣 Markdown admonitions. Admonitions in markdown are now supported! For example:

mo.md(
  r"""
      !!! {hint} "Here's a hint!"
          You can now use admonitions in marimo.
   """
)

See the Python markdown docs for more info on syntax.

🤖 Generate with AI button. If you have AI completions enabled, at the bottom of the cell array you'll now see a "Generate with AI" button.

🗺 Routes. Use mo.routes to create a list of routes that are switched based on the URL path. This is helpful if your working on a marimo notebook that will be deployed as an app -- you can use it in conjunction with mo.sidebar to create multipage apps.

All changes

New Contributors

Welcome to the marimo family!

Full Changelog: 0.6.0...0.6.1

0.6.0

17 May 05:55
4d60452
Compare
Choose a tag to compare

What's Changed

Version 0.6.0 includes two big new features — first-class markdown support and token-authentication — and small quality of life improvements.

Highlights

marimo ❤️ markdown: marimo edit nb.md. marimo now supports markdown as a first-class file format. This means that if you're working on notebook that's heavy on text, you can write your notebook in markdown using an editor of your choice (VSCode, vim — anything you like!). Save it as nb.md, then fire up the marimo editor to interact with it — marimo edit nb.md — or run it as an app with marimo run nb.md.

When working with markdown, create a notebook cell using a special fenced code block that starts with {python} (note the braces!).

```{python}
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
```

Here's a full example:

# Hello, world!                                                                  
                                                                                 
This is a markdown powered notebook.                                             
                                                                                 
```{python}                                                              
import random                                                                    
random.randint(0, 1000)                                                          
```                                                                              
                                                                                 
```{python, hide_code=true} 
import marimo as mo 
```

The markdown file format is not meant as a replacement for the Python one, but it gives you the flexibility to choose the format that's best for your workflow. You can convert markdown notebooks to Python with

marimo convert nb.md > nb.py

and export Python to markdown with

marimo convert nb.py > nb.md

marimo export notebook.md > notebook.py

Check out our tutorial to learn more.

Huge shout out to @dmadisetti for contributing the markdown support! 💪🎉

Token-based authentication 🔑. marimo now runs with token-based authentication by default — this makes sure that only trusted parties can access the marimo server. Most users won't notice changes to their workflow. To learn more, check out the docs.

Export as ipynb 📝. Export marimo notebooks as Jupyter notebook files with marimo export ipynb nb.py -o nb.ipynb.

Split cell hotkey ⌨️: Split cells with our new hotkey: Ctrl/Cmd-Shift-'.

Breaking changes

mo.hstack and mo.vstack now require you to use keyword args (except for the list of items).

New Contributors

Welcome to the marimo family!

Full changelog

Full Changelog: 0.5.2...0.6.0

0.5.2

10 May 18:28
dfbe00e
Compare
Choose a tag to compare

Highlights

  • mo.sidebar to portal any elements into a collapsible sidebar for your application
mo.sidebar([
    mo.md("# marimo"),
    mo.nav_menu({
        "#home": f"{mo.icon('lucide:home')} Home",
        "#about": f"{mo.icon('lucide:user')} About",
        "#contact": f"{mo.icon('lucide:phone')} Contact",
        "Links": {
          "https://twitter.com/marimo_io": "Twitter",
          "https://github.com/marimo-team/marimo": "GitHub",
        },
      }, orientation="vertical",
    ),
])

What's Changed

Full Changelog: 0.5.1...0.5.2

0.5.1

09 May 00:21
63e3056
Compare
Choose a tag to compare

Highlights

🏝️ marimo islands: marimo islands are a way to embed marimo outputs and/or python code in your HTML that will become interactive when the page is loaded. This is useful for creating interactive blog posts, tutorials, and educational materials, all powered by marimo’s reactive runtime.

<marimo-island data-app-id="main" data-cell-id="MJUe" data-reactive="true">
  <marimo-cell-output>
    <span class="markdown">
      <span class="paragraph">Hello, islands!</span>
    </span>
  </marimo-cell-output>
  <marimo-cell-code hidden>mo.md('Hello islands 🏝️!')</marimo-cell-code>
</marimo-island>

Read more about islands: https://docs.marimo.io/guides/wasm.html#islands

Export as Markdown: Export your marimo app to markdown from the code editor.

mo.nav_menu: Navigate to different marimo notebooks, when running multiple notebooks at a time.

What's Changed

Full Changelog: 0.5.0...0.5.1

0.5.0

07 May 20:58
96db0f6
Compare
Choose a tag to compare

What's Changed

Version 0.5.0 introduces a brand new lazy runtime which makes working with expensive notebooks much more ergonomic, and it also makes it possible to export notebooks as markdown.

Highlights

Lazy runtime. We've heard your feedback: you can now configure the marimo runtime to be lazy, giving you full control over when cells are run. When a cell is run, instead of automatically running affected cells, marimo's lazy runtime will mark them as stale. Cells are still always run with the latest inputs (stale parents of a cell are run if needed), and your notebook is still required to be a DAG, so you're still guaranteed that your code and outputs are consistent.

Learn more: https://docs.marimo.io/guides/runtime_configuration.html

Export as markdown. Export marimo notebooks as markdown with marimo export md notebook.py -o notebook.md, or convert markdown to marimo with marimo convert notebook.md > notebook.py.

Shout out to @dmadisetti for contributing this feature.

What's coming

Future updates in the 0.5.x series will bring more improvements to both the runtime and using markdown -- stay tuned!

All changes

Thanks @Ubehebe for making your first contribution; welcome to the marimo fam!

New Contributors

Full Changelog: 0.4.11...0.5.0

0.4.11

03 May 21:10
4a9081c
Compare
Choose a tag to compare

What's Changed

This release includes a few major UX improvements to the marimo editor.

Highlights

Improved DAG viewer. The built-in dependency graph viewer is now much more useful: view your cells in a top-down topological order. Click on an edge to see the variables that flow on it, or double click a cell to automatically bring it into focus.

This viewer can help you understand which cells when run when a given cell runs.

image

Hardware utilization meters. The editor footer shows total RAM and CPU usage on your machine.

image

Use mo.status.progress_bar as a context manager:

with mo.status.progress_bar(total=10) as bar:
    for i in range(10):
        # do work
        bar.update(increment=1, subtitle=f"finished iteration number {i]")

All changes

Shout out to @seantur for making their first contribution (thank you!), and @fuenfundachtzig for continuing to make marimo better.

New Contributors

Full Changelog: 0.4.10...0.4.11

0.4.10

01 May 21:06
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.4.9...0.4.10