Using one marimo installation with multiple environments 🐶 #2994
                  
                    
                      liquidcarbon
                    
                  
                
                  started this conversation in
                Show and tell
              
            Replies: 3 comments
-
| 
         Patching Jupyter executable in this manner is not that simple, so it's much easier to use  Start using   | 
  
Beta Was this translation helpful? Give feedback.
                  
                    0 replies
                  
                
            -
| 
         Here's some more hackery - using   | 
  
Beta Was this translation helpful? Give feedback.
                  
                    0 replies
                  
                
            -
| 
         I like it very cool  | 
  
Beta Was this translation helpful? Give feedback.
                  
                    0 replies
                  
                
            
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
        
    

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
marimo + puppy = 💚
This is a recipe for structuring your marimo projects for multiple environments using a package manager I developed called puppy.
The same approach will work for Jupyter.
Puppy is a CLI wrapper for pixi and uv.
The TLDR of puppy:
pup addcommands to build virtual environments defined bypyproject.tomlfiles with uvpup.fetch()to "activate" the venvs from any interactive shell (python, marimo, ipython, jupyter)Let's build
Suppose you're trying out some cool new anywidget tools that you plan to use with both marimo and jupyter.
curl -fsSL https://raw.githubusercontent.com/liquidcarbon/puppy/main/pup.sh | bashoutput:
output:
newenvand install tldraw:output:
newenv, patching it with pup.fetchAlternatively, just run main marimo
pixi run marimoandpup.fetchinside the notebook. This will work the same in marimo and jupyter - no need to mess with kernels. You can fetch more than one venv or build reproducible environments on the fly:pup.fetch("anotherenv", "awswrangler", "duckdb")Output:
Done drawing? try another one
Now drawdata venv is active, and, as expected, tldraw is not there.
Beta Was this translation helpful? Give feedback.
All reactions