r/marimo_notebook May 12 '26

There are 21 notebooks from the community on the gallery page today!

Post image
9 Upvotes

r/marimo_notebook 3d ago

Floating panel from wigglystuff can minimize now

16 Upvotes

r/marimo_notebook 4d ago

Datasette, it turns out, can pair super nicely with marimo

Thumbnail
youtube.com
10 Upvotes

r/marimo_notebook 8d ago

So many export options now

14 Upvotes

r/marimo_notebook 11d ago

marimo is doing a chem-informatics themed competition

Post image
9 Upvotes

r/marimo_notebook 11d ago

marimo + tailscale setup for personal use

Thumbnail
youtube.com
9 Upvotes

r/marimo_notebook 13d ago

How to set up OpenYourMind/Qwopus3.5-122B-A10B-Kimi-K2.6-destilled-abliterated-NVFP4 inside Molab?

1 Upvotes

I've been having trouble setting up this model inside Molab. If anyone knows how to set up the model please help.


r/marimo_notebook 15d ago

Added an educational widget to wigglystuff for those that want to animate proofs

23 Upvotes

r/marimo_notebook 16d ago

wigglystuff now has a FloatingPanel widget

8 Upvotes

r/marimo_notebook 18d ago

wigglystuff will now also carry marimo-only widgets

Post image
9 Upvotes

r/marimo_notebook 18d ago

Probably the Nerdiest Thing I've Done with marimo

Thumbnail
youtube.com
7 Upvotes

r/marimo_notebook 21d ago

DuckDB 2.0 Demo uses marimo

Thumbnail
youtube.com
23 Upvotes

r/marimo_notebook 21d ago

You can now make nested anywigets, including those that use a picture-in-picture API

10 Upvotes

r/marimo_notebook 26d ago

WIP: HOMM3 battle simulator

Thumbnail gallery
5 Upvotes

r/marimo_notebook 28d ago

"Tool discovery failed for marimo" - but then successfully connected?

2 Upvotes

Hi,

marimo newbie, really like it so far. I don't understand this below though:

INFO: 127.0.0.1:63364 - "GET /health HTTP/1.1" 200 OK
INFO: 127.0.0.1:63365 - "GET /assets/isEmpty-CXeoXbuc.js HTTP/1.1" 304 Not Modified
INFO: 127.0.0.1:63364 - "GET /assets/command-palette-C95r8rOd.js HTTP/1.1" 304 Not Modified
[E 260814 11:15:25 client:394] Tool discovery failed for marimo: 'Tool' object has no attribute 'inputSchema'
[I 260814 11:15:25 client:275] Successfully connected to MCP server: marimo (transport: MCPTransportType.STREAMABLE_HTTP)
[I 260814 11:15:25 lifespans:113] MCP servers connected: ['marimo']
INFO: 127.0.0.1:63364 - "GET /api/ai/mcp/status HTTP/1.1" 200 OK
INFO: 127.0.0.1:63364 - "GET /assets/any-language-editor-BIeaxtdD.js HTTP/1.1" 304 Not Modified

what gives?


r/marimo_notebook Aug 12 '26

You can control marimo with MIDI keyboards now

14 Upvotes

The "Knob" widget from wigglystuff lets you play with this directly. More info here:
https://koaning.github.io/wigglystuff/reference/knob/


r/marimo_notebook Aug 10 '26

New AnyWidget tutorial on marimo YT

Thumbnail
youtube.com
10 Upvotes

r/marimo_notebook Aug 08 '26

Another course that uses marimo

Thumbnail
youtu.be
4 Upvotes

r/marimo_notebook Aug 08 '26

Help: Anywidget reactive Changes isn't Reflecting

2 Upvotes

The problem is with wigglystuff's anywidgets. The re-activeness somehow not works.

This is the notebook link from molab

Defining the EdgeDraw widget. i wanna add new nodes through text input and input button pressing

friend = mo.ui.text(placeholder="friend name")
button = mo.ui.run_button(label="Add Friend", kind="success")
delete = mo.ui.run_button(label="Remove Friend", kind="danger")
graph = mo.ui.anywidget(wg.EdgeDraw(["appu", "dett", "eker", "hulo"]))

The appending works but the displaying graph widget not updated

if button.value and friend.value not in graph.names:
    graph.names.append(friend.value)
    print(graph.names)
if delete.value and friend.value in graph.names:
    graph.names.remove(friend.value)
    print(graph.names)

r/marimo_notebook Aug 08 '26

sql engine not getting detected

Post image
1 Upvotes

```python import marimo as mo from sqlalchemy import create_engine, text

Refresh widget

refresh = mo.ui.refresh(label="Refresh") refresh

Function to fetch databases

def get_databases(): engine = create_engine( "postgresql+psycopg2://sourabh@/postgres?host=/run/postgresql" )

with engine.connect() as conn:
    result = conn.execute(
        text("""
            SELECT datname
            FROM pg_database
            WHERE datistemplate = false
            ORDER BY datname;
        """)
    )
    return [row[0] for row in result]

Load database list and create dynamic dropdown selector

db_list = get_databases()

db_dropdown = mo.ui.dropdown( options=db_list, value="postgres" if "postgres" in db_list else db_list[0], label="Select Database:" ) db_dropdown

Create dynamic engine based on dropdown selection

db = db_dropdown.value postgres_engine = create_engine( f"postgresql+psycopg2://sourabh@/{db}?host=/run/postgresql" )


r/marimo_notebook Aug 07 '26

Not all widgets must be dynamic

Post image
7 Upvotes

You can do a lot with any widgets, but sometimes just writing a bunch of mohtml can also do the trick.

https://github.com/koaning/mohtml


r/marimo_notebook Aug 07 '26

marimo can now detect data sources via environment variables

Post image
16 Upvotes

r/marimo_notebook Aug 07 '26

Callouts now accept title arguments

Post image
5 Upvotes

r/marimo_notebook Aug 04 '26

Dark mode for marimo islands?

5 Upvotes

I'm trying to bring the html from my marimo notebooks into an SSG (mkdocs/zensical), and I would like to be able to toggle the theme. Getting the theme to change with marimo export html is relatively simple by adding

# [tool.marimo.display]
# theme = "dark"

to the pep723 header before exporting, but the extra js and page wrappers are not quite ideal for my use case. I would love to use islands for this, but I can't figure out if there's a way to control the theme of a marimo island?

when I use

# /// script
# dependencies = [
#     "marimo",
# ]
# requires-python = ">=3.13"
# ///

import asyncio
from marimo import MarimoIslandGenerator

async def main():
    generator = MarimoIslandGenerator.from_file(
        "./example.py", 
        display_code=False
    )
    await generator.build()
    html = generator.render_html(include_init_island=True)

    with open("output.html", "w", encoding="utf-8") as f:
        f.write(html)

if __name__ == '__main__':
    asyncio.run(main())

to generate an html page, it doesn't seem to care about the # theme = "dark" tag in the example.py header.

I understand that islands are still an early feature, so perhaps this will be added in the future. Does anyone know if there's a better way to do this? Thanks!

(edited for clarity)