What's Changed
Highlights
🪟 Lay out notebooks in columns! Thanks to work by @wasimsandhu, you can now arrange cells into multiple columns while editing — use your screen real-estate to the fullest! (Docs.)
📃 Edit notebooks using your own editor. Announcing initial support for one of our most asked-for features: you can now edit notebook files using your editor of choice (neovim, Cursor, VS Code, ...) and stream changes to a running edit session. To opt-in, start your edit session with --watch
:
marimo edit --watch my_notebook.py
When editing my_notebook.py
in your text editor, changes are sent to the browser on save.
Expect quality-of-life improvements to the external editor experience in the future.
🏃 Re-run all cells. A new command in the command palette lets you re-run all cells; you can assign a keyboard shortcut to this in the notebook settings.
All changes
- docs: add %pip usage instruction to Jupyter guide by @Haleshot in #3431
- fix: handle marimo[extras] in --sandbox and package installation by @mscolnick in #3425
- fix(deps): update ruff, mkdocs, pytest by @renovate in #3427
- fix(deps): update dependency @textea/json-viewer to v4 by @renovate in #3430
- Typo: pandas -> polars by @ushuz in #3434
- fix: use relative path in asgi redirect by @mscolnick in #3433
- feat: marimo edit --watch by @mscolnick in #3437
- improve: always add marimo in sandbox by @akshayka in #3439
- docs: update watching documentation by @akshayka in #3440
- docs: fix tiny typo by @akshayka in #3442
- Fix broken link by @hattajr in #3443
- fix: Add missing open bracket in docs/faq.md by @AVHopp in #3446
- fix: fallback on readText permisisons by @mscolnick in #3444
- feat: re-run all cells action (useful for external queries/dashboards) by @mscolnick in #3448
- docs: fix links, add ci by @mscolnick in #3450
- improvement: intelligently keep order of cells when running --watch by @mscolnick in #3451
- docs: add llm.txt file by @mscolnick in #3452
- fix: missing package detection by @akshayka in #3457
- improvement: multi-column in app view, docs, GA by @mscolnick in #3454
- fix: empty notebooks should have empty venvs in sandboxes by @akshayka in #3456
- fix: conversion of ipynb files with multiple definitions by @akshayka in #3458
- Update key_concepts.md by @XenoBytesX in #3463
- fix: rename llm.txt to llms.txt in workflow by @Haleshot in #3465
- fix: sandbox command construction by @akshayka in #3468
- feat(hotkeys): add configurable completion selection movement by @metaboulie in #3475
- fix: raise valueError for pageSize > 200 by @Light2Dark in #3472
- Fix #3441 - Primitive get_sample_values by @devin-ai-integration in #3467
- Add fallback parameter to QueryParams and CLIArgs .get() method by @devin-ai-integration in #3479
- ci: optimize workflow timeouts based on timing analysis by @devin-ai-integration in #3481
- docs: add glightbox by @mscolnick in #3483
- test: add pytest-timeout in cli test by @mscolnick in #3482
- chore: move more gh actions to uv by @mscolnick in #3487
- tests: fix flakey dataframe FilterTransform test by @mscolnick in #3488
- Support shells on windows (with extensions) by @hwine in #3459
- Improve Copilot Integration by @devin-ai-integration in #3484
- docs: convert gifs to webm for better performance by @mscolnick in #3478
New Contributors
- @ushuz made their first contribution in #3434
- @AVHopp made their first contribution in #3446
- @XenoBytesX made their first contribution in #3463
- @hwine made their first contribution in #3459
Full Changelog: 0.10.13...0.10.14