github marimo-team/marimo 0.8.4

latest releases: 0.13.0, 0.12.10, 0.12.9...
7 months ago

What's Changed

This release rides on the coattails of the uv package manager to introduce exciting new features related to package reproducibility!

With this release, it's now possible to create standalone notebook files that have package requirements embedded in them as a comment, using PEP 723's inline metadata! marimo can generate these requirements for you and even start notebooks in isolated virtual environments.

These features are only possible because unlike Jupyter notebooks, marimo notebooks are stored as pure Python files, letting them take advantage of the exciting new developments in the Python ecosystem such as uv and PEP 723.

Highlights

📦 Automatic tracking of packages used by notebooks. marimo can now automatically serialize package dependencies in notebook files as inline script metadata, generating a comment header that looks something like this:

# /// script
# requires-python = ">=3.11"
# dependencies = [
#     "pandas",
#     "altair",
# ]
# ///

This lets you create standalone notebook files that have their package requirements serialized in them.

Enable package tracking in the notebook settings:

image

Note: This feature requires uv.

🚀 Run marimo notebooks in package sandboxes. Use

marimo edit --sandbox notebook.py

to edit a Python notebook in a completely isolated virtual environment! This increases reproducibility and helps prevent environment pollution. If your notebook has inline script metadata, marimo will automatically install the enumerated packages before running the notebook; if it doesn't, marimo will prompt you to install the missing packages on notebook startup.

This exciting new workflow is only made possible thanks to uv, which is blazingly fast.

Other improvements

  • You can now customize marimo CSS; customization is limited today but will grow over time.
  • Dataframe rows are now paginated server-side, improving performance of notebooks that output alrge dataframes.
  • ANSI color support is now available in stderr.
  • A dedicated "stop" button has been added to the marimo editor, making interrupting cell execution more reliable (no more accidentally running a cell after interrupting it).

All changes

Full Changelog: 0.8.3...0.8.4

Don't miss a new marimo release

NewReleases is sending notifications on new releases.