Skip to content

Conversation

@mscolnick
Copy link
Contributor

@mscolnick mscolnick commented Dec 2, 2025

These endpoints get block other endpoints during installation. This is now fixed by wrapping the blocking commands in a asyncio.to_thread.

Another option is to change run to a natural async function, but that requires changing more downstream sync functions in the kernel.

@mscolnick mscolnick requested a review from dmadisetti as a code owner December 2, 2025 18:40
@vercel
Copy link

vercel bot commented Dec 2, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
marimo-docs Ready Ready Preview Comment Dec 2, 2025 10:09pm
Copy link
Contributor

@manzt manzt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems like a reasonable/minimal change to me. It would make sense to make the package manager async itself, but I'd rather evaluate that if this doesn't sufficiently handle our current problem. We mostly want to offload the blocking nature of the install/uninstall endpoints.

@mscolnick
Copy link
Contributor Author

@manzt agreed. we would just need to convert subprocess.popen to the async version, but this causes some hairy downstream function color changes (sync -> async).

@mscolnick mscolnick merged commit e0ce24b into main Dec 3, 2025
39 of 41 checks passed
@mscolnick mscolnick deleted the ms/non-blocking-install branch December 3, 2025 20:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants