trevor manz

trevor manz

@manzt.sh

middle child, creator of anywidget.dev building @marimo.io; prev @harvard.edu

529 followers578 following253 posts

Building bridges between open-source projects is a big part of why I joined @marimo.io. I got to know the @prefix.dev folks through @scipyconf.bsky.social, and worked together to make computational research easier to reproduce and share. Special thanks to @julianhofer.eu and Ruben Arts!

marimo@marimo.io

marimo now supports @prefix_dev Pixi sandboxes! Share portable notebooks with dependencies beyond Python, including CUDA-enabled @PyTorch, ffmpeg and R. Already using Conda or Pixi? Bring your ecosystem to marimo’s reactive notebooks, with Conda and PyPI requirements saved alongside your code.

Scientific work often spans languages and tools. Pixi draws on Conda to bring in more than Python packages. For example, this notebook uses @marimo.io reactivity to filter a table interactively in R:

Reworking our sandbox model brought improvements for both Pixi and uv users. The notebook’s manifest now drives setup and package changes, keeping the environment in sync. A new UI lets you edit requirements, track progress, and retry failed setup without restarting marimo.

pixi 0.76 can now run standalone python scripts in isolated, on-demand environments. dependencies live inline via PEP 723, like uv supports, but pixi can layer on conda and system dependencies too. fun to build this with @prefix.dev folks. coming to a @marimo.io notebook near you SOON.

Really enjoyed coming on Real Python and chatting about marimo-pair!

Christopher Bailey@digiglean.bsky.social

It was great having @manzt.sh on the show from @marimo.io! Thanks for sharing what you’ve been working on for data scientists and notebook users.

on the orange website www.youtube.com/watch?v=6uaq...

trevor manz@manzt.sh

building marimo pair has been a new kind of engineering (for me). a lot changes when the consumer of your api is a model rather than another program. we’ve shipped “breaking” changes without upgrading or migrating the skill. the models just figure it out. hope you like it :)

building marimo pair has been a new kind of engineering (for me). a lot changes when the consumer of your api is a model rather than another program. we’ve shipped “breaking” changes without upgrading or migrating the skill. the models just figure it out. hope you like it :)

marimo@marimo.io

Introducing marimo pair: a skill that drops agents like Claude Code inside a running notebook, letting them read variables, run code, and manipulate UI elements. It also lets agents use marimo as a standalone REPL. youtube.com/watch?v=VKv... (1/n)

View full thread

One thing I'm most happy with is the testing setup. Wrote a utility that snapshots the inferred TS types _inline_ alongside runtime checks of the actual values. Change something in type inference (quiver) or runtime (flechette) and the snapshots break.

I started quiver during my PhD but was stuck on the last mile — exhaustive tests that match inferred types to runtime behavior. The snapshot idea finally unblocked it and caught some edge cases and bugs. (Thanks for the help, Claude!). Give it a try and let me know what you think!

flechette's `tableFromIPC` is to Arrow what `JSON.parse` is to JSON. quiver is like Zod or Pydantic for that — define your expected schema, check it at parse time, and get a flechette Table with the types overlaid

flechette columns have `toArray()` and `at()`. With quiver, you pick your level of strictness. The types propagate through `getChild`, `select`, `toArray`, iteration, even into nested structs and lists.

some of the first things new users notice and love in @marimo.io are our opinionated formatters (e.g., our table for dataframes) for v0.20.0 I worked on one aimed at AI engineers: a rich formatter for @pytorch.org `nn.Module`

always fun to jump back into some interaction design work some details: - collapsible tree → progressive disclosure of full config - color → module type (i.e., the `nn` submodule) - opacity → trainability (e.g., frozen or no params)

some of the first things new users notice and love in @marimo.io are our opinionated formatters (e.g., our table for dataframes) for v0.20.0 I worked on one aimed at AI engineers: a rich formatter for @pytorch.org `nn.Module`

always fun to jump back into some interaction design work. some design details: - collapsible tree → progressive disclosure of full config - color → module type (i.e., the `nn` submodule) - opacity → trainability (e.g., frozen or no params)

marimo@marimo.io

We've all seen dataframe spaghetti code out there. But the remedy ... is pretty easy: just start using the pipe method! The moment you see the `.pipe()` in action, you'll never want to write pipelines without it. See the reason why here: www.youtube.com/watch?v=J0P...

trevor manz reposted

spending some time on our uv integration in @marimo.io – starting with things like this selector for package “extras” what’s frustrated you about using packages in notebooks?