-
Notifications
You must be signed in to change notification settings - Fork 892
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: marimo-team/marimo
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.19.7
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: marimo-team/marimo
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 5 commits
- 25 files changed
- 6 contributors
Commits on Jan 30, 2026
-
feat: support serving a gallery of notebooks (#8056)
## 📝 Summary Enables running multiple marimo notebook files as a gallery of apps in the below style: ```shell marimo run folder marimo run folder another_folder marimo run file_a.py file_b.py folder ``` When pointed to a local clone of https://github.com/marimo-team/learn this gives us: <img width="1047" height="983" alt="Screenshot 2026-01-29 at 19 24 02" src="https://github.com/user-attachments/assets/bb6b949c-52f8-4e34-b675-8628e22e0dc4" /> Closes #3257 ## 🔍 Description of Changes I based this work on #4961, borrowing the idea of reusing the existing home page infrastructure used in `marimo edit` mode and adding `gallery` as a new frontend view in `marimo run` mode. - Gallery item links are encoded through `/?file=<encoded>` to avoid introducing new routing / mounting logic - Navigation is restricted so that we don't accept arbitrary `/?file=<encoded>` values - extended `marimo._server.file_router.ListOfFilesAppFileRouter` to behave like an allowlist router - Preserved existing `marimo run app.py -- --arg value` behavior working while enabling `marimo run file_a.py file_b.py folder` and still allowing notebook args to be explicitly separated - Added a root directory heuristic for nicer URLs and less path leakage (via `marimo._cli.cli.py._resolve_root_dir`) - e.g. if I run `uv run marimo run /Users/petergy/Projects/opensource/marimo-team/learn`. the `learn` repo is recognized as gallery root, so opening `/Users/petergy/Projects/opensource/marimo-team/learn/functional_programming/05_functors.py` will be available under `http://localhost:2720/?file=functional_programming%2F05_functors.py` - Gallery entries have auto-generated `title` and `subtitle` for now (notebook dir and file name piped through `titleCase`) ## TODO before undrafting this - define `--sandbox` semantics - per-notebook or per-gallery venv? - should we create sandbox eagerly (we create all the venvs at cmd execution time) or lazily (create venv only on notebook visit)? ## 📋 Checklist - [x] I have read the [contributor guidelines](https://github.com/marimo-team/marimo/blob/main/CONTRIBUTING.md). - [x] For large changes, or changes that affect the public API: this change was discussed or approved through an issue, on [Discord](https://marimo.io/discord?ref=pr), or the community [discussions](https://github.com/marimo-team/marimo/discussions) (Please provide a link if applicable). - [x] Tests have been added for the changes made. - [x] Documentation has been updated where applicable, including docstrings for API changes. - [x] Pull request title is a good summary of the changes - it will be used in the [release notes](https://github.com/marimo-team/marimo/releases). --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 33ebb52 - Browse repository at this point
Copy the full SHA 33ebb52View commit details
Commits on Jan 31, 2026
-
Configuration menu - View commit details
-
Copy full SHA for fa5ef2b - Browse repository at this point
Copy the full SHA fa5ef2bView commit details -
Configuration menu - View commit details
-
Copy full SHA for cf72d62 - Browse repository at this point
Copy the full SHA cf72d62View commit details -
Configuration menu - View commit details
-
Copy full SHA for bdaa0cb - Browse repository at this point
Copy the full SHA bdaa0cbView commit details -
fix: enable weave tracing on chat widget (#8078)
## 📝 Summary Currently weave tracing fails on the following code: ```python chat_client = OpenAI() @weave.op() def handle_chat(messages, config): """Wrapper that ensures string return for marimo.""" user_msg = messages[-1].content chat_messages = [{"role": "user", "content": user_msg}] response = chat_client.chat.completions.create( model="gpt-4o-mini", messages=[get_system_prompt()] + chat_messages, tools=get_robot_tools(), ) msg = response.choices[0].message return msg.content chat = mo.ui.chat( handle_chat ) chat ``` This is because `weave.op` returns a `BoxedStr(str)` which the causes pydantic to fail. As such, we force a conversion to string even if `isinstance(chunk, str)`.Configuration menu - View commit details
-
Copy full SHA for d4f8e5a - Browse repository at this point
Copy the full SHA d4f8e5aView commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 0.19.7...main