Today, we’re excited to release our VS Code/Cursor extension for marimo notebooks. This extension brings a native experience for working with marimo to your favorite editor, a long-requested feature that we’ve worked hard to get right.
Getting started
Installation.
Install the extension through the VS Code extensions sidebar (type
Cmd/Ctrl-Shift-p to open the command palette, then search for install
extension). After opening the sidebar, search for marimo, select the official
verified extension, and click install.
This opens an onboarding flow that walks you through the basics of using the extension, as well as the basics of marimo through interactive tutorials.
Commands. The extension ships with several commands to get you up and running with marimo. View all commands by opening VS Code’s command palette and searching for marimo. Here are some key commands.
- Create: New marimo notebook.
- marimo: Open tutorial.
- marimo: Publish Notebook as Gist
- marimo: Publish Notebook as …
You’ll notice that marimo notebooks are just Python files, saved with a .py
extension. When you open a marimo notebook from the file browser, click the
marimo logo in the top right of the file viewer to toggle the native notebook
view.
View the full list of commands at our documentation.
AI integration. VS Code’s GitHub copilot works out of the box: get inline completions, or use the agent sidebar to add new cells to your notebook.
Managed package environments
Similar to Jupyter notebooks, you can configure the Python virtual environment used
for your marimo notebook by choosing the Python interpreter (type Select Python interpreter in the command palette).
Unlike Jupyter, because marimo notebooks are plain Python files, we
are also able to provide a modern alternative to manually creating and
selecting Python environments. When you run a notebook, you’ll be prompted to
choose an environment for it, if you pick the “sandbox” environment, marimo
will manage package dependencies on your behalf, with each notebook getting its
own isolated, cached environment. Under the hood, this is implemented using
uv’s support for PEP 723 metadata.
The combination of sandboxed notebooks and the “Publish as gist” command is
especially powerful: it lets you share fully self-contained notebooks (no
requirements.txt!) notebooks to the web. With the marimo CLI, anyone
else can run these published notebooks locally with a single command:
uvx marimo edit <URL>Try it with the below command!
uvx marimo edit https://gist.github.com/akshayka/0363f27ff94e52c9d1f3f10b82f28d90Give us feedback
We welcome feedback! Please leave feedback at our GitHub repository.
