David Brochart
banner
davidbrochart.bsky.social
David Brochart
@davidbrochart.bsky.social
Better not to start, once begun better to finish.
Pinned
I wrote a blog post about Microverse, a new in-browser JupyterLab.
david-brochart.medium.com/microverse-j...
Microverse: Jupyverse in the browser
A new take on in-browser JupyterLab
david-brochart.medium.com
Here's one pointer: a notebook shared model has a shared text for an input cell.
github.com/jupyter-serv...
That allows multiple users to type into the cell at the same time. It's a CRDT so conflicts are resolved automatically in real-time. That's how collaboration works in Jupyter. AI could use it.
jupyter_ydoc/jupyter_ydoc/ynotebook.py at 654e8f80f619c7820dd82dfbe3c6d985b6a69e28 · jupyter-server/jupyter_ydoc
Jupyter document structures for collaborative editing using Yjs/pycrdt - jupyter-server/jupyter_ydoc
github.com
January 15, 2026 at 1:25 PM
No, I think most Jupyter AI extensions' workflow is rather to treat the AI as a collaborator and use the real-time collaboration system to modify the shared model of the notebook, not the underlying JSON directly.
January 15, 2026 at 11:58 AM
Jupyter has integrated AI in the notebook's environment. I think @willmcgugan.bsky.social's Toad is doing the other way around: integrating the notebook in the AI environment.
January 15, 2026 at 11:34 AM
Reposted by David Brochart
I've added a tree view to pick files in Toad. 🐸

Fuzzy searching is great when you know what you're looking for. But a tree view is more natural when you want to look through your files.

Toad is a unified interface for agentic coding, and all things AI, in your terminal.

github.com/batrachianai...
December 28, 2025 at 10:53 AM
Reposted by David Brochart
Alrighty. The Toad is out of the bag. 👜🐸

Install toad to work with a variety of #AI coding agents with one beautiful terminal interface.

I've been told I'm very authentic on camera. You just can't fake that kind of awkwardness.

#AI #Python #Toad

www.youtube.com/shorts/ZLhct...
December 18, 2025 at 4:22 PM
Can't wait for the release!
December 16, 2025 at 9:05 PM
Seeing these ".." getting smaller, it seems to me your're using Ghostty 😃
December 12, 2025 at 3:41 PM
Reposted by David Brochart
I recorded a video about a new feature I added to Toad...

Toad will detect "dangerous" shell commands in bash commands.
December 12, 2025 at 3:29 PM
Looks like mistral-vibe uses Textual. Will it be outdated after @willmcgugan.bsky.social's Toad?
github.com/mistralai/mi...
GitHub - mistralai/mistral-vibe: Minimal CLI coding agent by Mistral
Minimal CLI coding agent by Mistral. Contribute to mistralai/mistral-vibe development by creating an account on GitHub.
github.com
December 10, 2025 at 7:50 AM
FPS is a framework for running asynchronous applications.
Thanks to its borrow checker, async resources can be shared safely. They are torn down when all borrowers have dropped their reference, making sure no "dangling" resource is used.
This is very much inspired by Rust.
github.com/jupyter-serv...
GitHub - jupyter-server/fps: Fast Pluggable System
Fast Pluggable System. Contribute to jupyter-server/fps development by creating an account on GitHub.
github.com
November 17, 2025 at 10:28 AM
Too bad it's hard-coded to use asyncio.
November 7, 2025 at 9:37 AM
November 5, 2025 at 7:51 AM
I started WireDB, a new database built on top of CRDTs.
davidbrochart.github.io/wiredb
wiredb
Distributed database based on CRDTs
davidbrochart.github.io
October 26, 2025 at 8:10 AM
Pycrdt 0.12.40 is out with Python 3.14 support.
October 8, 2025 at 8:32 AM
Reposted by David Brochart
Put some final touches to Toad's permission request screen.

When the agent has an update, it pops this screen up. You can review the diffs in unified or split view, then decide if you want to accept or reject the changes.

Watch this space!
September 22, 2025 at 9:05 PM
September 17, 2025 at 12:09 PM
Reposted by David Brochart
September 12, 2025 at 7:00 AM
It's better to open a private window, and you should be aware that it doesn't work on
Firefox because of bugzilla.mozilla.org/show_bug.cgi....
If it still doesn't work, it would be great if you could open an issue.
1387483 - [meta] Support ReadableStream as Request.body in fetch API
NEW (nobody) in Core - DOM: Networking. Last updated 2025-09-09.
bugzilla.mozilla.org
September 11, 2025 at 12:23 PM
They are really different approaches and Microverse is nowhere near JupyterLite for now. I think it's really a question of integration with the rest of the ecosystem. JupyterLite diverges in many ways from JupyterLab due to the lack of server while Microverse is more streamlined and more compatible.
September 11, 2025 at 12:20 PM
I gave a presentation of Microverse during the last Jupyter Community Call:
youtu.be/Nx1j3NB-GnI?...

Microverse is a version of JupyterLab that runs entirely in the browser. Unlike JupyterLite, it runs a server in the browser.
You can read more about it in this blog post:
medium.com/@david-broch...
Jupyter Community Call - September 04, 2025
YouTube video by Project Jupyter
youtu.be
September 11, 2025 at 11:49 AM
It's nice to see pycrdt powers a pretty popular project (outside Jupyter):
docs.openwebui.com
🏡 Home | Open WebUI
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform designed to operate entirely offline. It supports various LLM runners like Ollama and OpenAI-compatible APIs, with ...
docs.openwebui.com
September 4, 2025 at 8:23 PM