I'm diving into using UV for the first time at my corporate job and I have a couple of questions. First, I understand that UV creates a virtual environment within the project's folder and stores all the dependencies there. This means that for a simple data processing task with pandas and marimo, I'll end up with over 200MB of libraries and auxiliary files, which could lead to redundancy if I have multiple projects in separate folders. Is there a way to set up a central repository for dependencies? I already use conda for that, so I'm curious how UV handles it.
My second concern is that UV automatically creates a git repository for the project, which could be problematic because services like OneDrive and Dropbox struggle with .git folders due to the number of files and subfolders, which I've faced issues with before. Given these challenges, is UV really worth it for my workflow? Any insights or advice would be appreciated!
5 Answers
You can actually avoid creating a git repo by using the command `uv init --vcs none`. This way, you won’t have to deal with the syncing issues related to the .git folder at all!
For your first concern, UV doesn’t duplicate files; it usually installs links to a central package cache. This allows for faster installations without hogging a lot of disk space. So, you might not need to worry about the 200MB duplication after the initial download!
When it comes to dealing with .git folders, just avoid syncing those with backup tools. Your corporate repositories should handle that part for you. Keep local changes separate, and only sync what's necessary! You can exclude your development folders from syncing to avoid cluttering your backup system.
Honestly, if you're syncing your code with Dropbox or OneDrive, it might be time to reconsider that approach. Instead of replacing your package management, focus on moving to a proper version control system like git. Syncing .venv folders is usually not recommended either, as it can create unnecessary complications. Just keep your version control and your sync tools separate as much as possible!
I totally agree! You might want to check if SharePoint offers any better solutions for syncing your code without hitting those hiccups.
You don't strictly need git to use UV; you can simply remove the .git folder if you won’t be using git for version control. Just remember that for backups and versioning, git is typically more reliable than Dropbox or OneDrive! Use them cautiously in a corporate setting, and see if you can exclude some unneeded folders from syncing.
Thanks for the tip! I’ll definitely explore how I can set that up.

Oh, so that's how it works! I was worried about that, especially on Windows.