-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Experimental: support for uv #154
base: develop
Are you sure you want to change the base?
Conversation
i just checked this out and fiddled around a bit to get it running on my windows box. naively running here's the changes: feature/use-uv...tweak-wtf:ayon-launcher:feature/use-uv-playground it was picking up my system python so i added a python flag in i do get version warnings when running the tray because i think it's checking my system python but seems cosmetic. anyways, with cached dependencies the install takes 3s for me rn😅 EDIT: i realized the |
Ah, I've never get into that issue because I am always running pyenv so there's always |
So there is another use case perfect for uv - we can solve some of the issues like this one or in general all cases where we now install pyside2/6 and otio to running python environment. To support offline studios, we need to distribute "cached" pip index with AYON somehow and build venv using uv on the fly. Problem with uv and it's caching is (if I understand it correctly) that uv is not caching wheels themselves, but unzipped content and there is no "populate cache" functionality currently. |
concerning the cache location, i fiddled around with seems to work fine. however u must have 1 box that's connected to the internet at least once that would actually do all the caching to the provided dir. all air-gapped clients would use this cache dir for building environments |
Changelog Description
uv is an extremely fast Python package installer and resolver, written in Rust, and designed as a drop-in replacement for pip and pip-tools workflows. This PR is trying experimentaly use uv instead of Poetry to handle dependencies.
Additional info
Thanks to it's speed, we could use it to dynamically build environments for every process we run (ie. when running DCC with different Python, to avoid python dependency conflicts with main process).
Note
This is just an experiment - to see how uv can be utilized and if it provides something more than Poetry already does. It has it's own caveats - lock files are platform specific for example, and so on.
Testing:
running manage.ps1 should utilize uv already - note linux version isn't done yet.