Skip to content

Releases: marimo-team/marimo

0.13.4

01 May 20:03

Choose a tag to compare

What's Changed

Full Changelog: 0.13.3...0.13.4

0.13.3

30 Apr 17:42

Choose a tag to compare

Highlights ⭐

📝 Enhanced Markdown Experience: Seamlessly toggle between markdown string formats (r-string, f-string). Directly edit f-string markdown in the markdown editor, with Python autocompletion support inside { } brackets.

🖥️ Resizable Notebook Columns: Effortlessly resize columns when editing multi-column notebooks.

🧊 PyIceberg Integration: Connect seamlessly to your Iceberg tables via REST, Glue, and more, with automatic table population in the Datasources panel.

🗃️ Expanded Ibis, PySpark, Datafusion, and MotherDuck Support: Ibis connections now automatically populate databases and schemas in the Datasources panel. Additionally, easily connect to PySpark, Datafusion, and MotherDuck directly from the "Add Connection" UI.

🏖️ Sandbox Support for Markdown Format: Now you can use marimo edit --sandbox mynotebook.md to edit markdown notebooks in sandbox mode, automatically tracking and recording dependencies.

📝 Quarto Integration: Open .qmd files, export to multiple formats, or embed reactive marimo notebooks directly into your Quarto site using our Quarto extension.

📖 MkDocs Documentation: Enhanced documentation on how to embed interactive marimo notebooks and playgrounds directly into your MkDocs site using our MkDocs plugin.

💻 Nested Python Autocompletion in SQL: Enjoy Python autocompletion when parameterizing SQL queries using { } brackets.

📊 Improved Table and Chart Loading: Enhanced performance and faster loading times for tables and visualizations.

🐞 Bug Fixes & Stability Improvements: Resolved issues related to date rendering and enhanced compatibility for Windows users.

What's Changed

New Contributors

Full Changelog: 0.13.2...0.13.3

0.13.2

24 Apr 16:20

Choose a tag to compare

What's Changed

  • fix: export to html when using arrow files by @mscolnick in #4645
  • feat: add --include-cloudflare for easy deployment of wasm to cloudflare workers by @mscolnick in #4643
  • fix: remove additional lsp feature-flag check by @mscolnick in #4654

Full Changelog: 0.13.1...0.13.2

0.13.1

23 Apr 19:25

Choose a tag to compare

Highlights ⭐

  • 🔍 Column filtering - You can now filter columns by their top most common values for improved data exploration and faster insights (#4531)
  • PySpark formatters - Seamlessly visualize PySpark DataFrames with our rich DataFrame viewer (#4615)
  • 🔧 SQL formatting button - One-click SQL beautification right in your notebook cells, enhancing code readability and maintaining consistent query styling (#4640)

What's Changed

New Contributors

Full Changelog: 0.13.0...0.13.1

0.13.0

18 Apr 20:58

Choose a tag to compare

What's Changed

Release 0.13.0 introduces includes a big new feature: it's now possible to import functions and classes from marimo notebooks, as long as they meet certain criteria. This lets you write code like:

from my_notebook import my_function, my_class

This feature, contributed by @dmadisetti, is yet another way that marimo's pure Python format makes your notebook code reusable.

Reusable functions and classes

Starting with 0.13.0, you can import top-level functions and classes defined in a marimo notebook into other Python scripts or notebooks using normal Python syntax, as long as your definitions satisfy the following criteria:

  1. The cell must define just a single function or class.
  2. The defined function or class can only refer to symbols defined in the setup cell, or to other top-level symbols.

The setup cell is a new addition to marimo: it is an optional cell in which you can include modules used by functions and classes you'd like your notebook to expose.

When you create a cell containing just a single function or class, marimo will provide hints in the bottom-right that tell you if the criteria are met ...

image

... or if not what needs to be done to meet the criteria:

image

To learn more, visit our docs.

More legible markdown

Design is important to us; that's why markdown is now rendered with a maximum width of ~80 characters, improving legibility.

All changes

New Contributors

Full Changelog: 0.12.10...0.13.0

0.12.10

16 Apr 20:03

Choose a tag to compare

Highlights ⭐

First class LSP Support: Install the python-lsp-server in the same environment and get the power of a full LSP for completions. See the documentation for more details.

Environment variable management: Previously, your dotenv configuration auto-loaded your environment variable. Now you can view your environment variables and create new ones

image

Expand / collapse H1/H2 sections: Expand / collapse H1/H2 sections via the command palette. Thanks to @bjoaquinc for this feature!

Download parquet: You can now download your table data as parquet.

What's Changed

New Contributors

Full Changelog: 0.12.9...0.12.10

0.12.9

14 Apr 17:12

Choose a tag to compare

Highlights ⭐

.vimrc support - reference your .vimrc file in your user config marimo.toml to be picked up in the marimo editor. Huge thanks to @andyrift for this feature.
mo.ui.data_editor() - released from experimental. Edit dataframes and get the edits back in Python.

Many more bug-fixes and improvements:

  • PIL.Image support in mo.image()
  • Fixes to GitHub Copilot

What's Changed

New Contributors

Full Changelog: 0.12.8...0.12.9

0.12.8

10 Apr 20:27

Choose a tag to compare

Highlights ⭐

  • Configurable SQL output type - you can now configure the output type for SQL cells. native, lazy-polars, pandas, polars, auto

  • Reactive tests - By default, marimo detects and runs tests in your notebooks automatically. If the pytest library is installed, marimo will run pytest on any cells that contain test functions (functions that start with test_) or test classes
    (classes that start with Test) on a per cell basis. This can be turned off through configuration,

What's Changed

New Contributors

Full Changelog: 0.12.7...0.12.8

0.12.7

09 Apr 23:47

Choose a tag to compare

What's Changed

Highlights

Dataframe completions in DuckDB SQL. DuckDB SQL cells will now autocomplete your dataframes:
image

Native LazyFrame support. Polars LazyFrames are now rendered lazily by default, preventing potentially expensive computations on render. Tables can also be made lazy (given a Polars LazyFrame) with mo.ui.table.lazy(lazyframe).

All changes

New Contributors

Full Changelog: 0.12.6...0.12.7

0.12.6

08 Apr 20:07

Choose a tag to compare

What's Changed

Highlights

Prompt file support for marimo new. You can now pass a text file to marimo new. File contents will be used as the prompt to generate a notebook using an LLM:

marimo new prompt.txt

This is helpful when working with long prompts. On unix-like systems, you can also pipe prompt input from stdin:

cat prompt.txt | marimo new

For usage examples, run marimo new --help or see the docs.

🐍 Improved completions. Our autocompleter now gives completions for function arguments.

Better sorting for table columns with nulls. Null entries are now shown at the end of table columns when sorting (for both ascending and descending). This makes it easy to see the largest and smallest values in your data, without having to page past nulls.

🧑‍💻 Copy-button for mo.ui.code_editor The code editor now includes a small button to copy code with one click. Thanks @nojaf for the contribution!

🛢️ Ibis support improvements. Improved support for Ibis in mo.ui.dataframe. Thanks @szst11!

All changes

New Contributors

Full Changelog: 0.12.5...0.12.6