-
Notifications
You must be signed in to change notification settings - Fork 87
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
Migrate to uv
for package/venv management in user projects
#149
base: main
Are you sure you want to change the base?
Conversation
All package management done with `uv`. TODO: `packaging.remove` and `packaging.upgrade` still need to be implemented.
…ls to packaging.install_project and provide a gernalizable install command.
so after playing with this a bit, I fear that using uv becomes a blocker to the primary goal of AgentStack. when running |
do we want to activate the virtual environment for them when they create the project too? im not 100% sure im on board with us managing their virtual environment for them. i know there's not a great solution here without it and some devs may be lost, but it feels weird being that heavy-handed. maybe we should have an offline conversation about it more. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
un-approving this for now until we discuss it
oh, interesting, from my end it went from 90 secs to resolve and install using poetry to 1 sec with uv. I originally wanted to wrap the install progress in a graphic progress bar, but since it's not able to estimate how long dependency resolution and install will take, it's really just a guess. I hid most of the output so the user doesn't have to scroll back up to see where they were. previously, instructions for next steps print, then the wall of test from the package manager prints, and there's no indication of what to do next without scrolling back up through a couple pages of output.
they've got to run
since the user project pins itself to a specific agentstack version, and has framework-specific and tool-specific dependencies added, I think it makes sense for each project to have it's own venv. saves users from a bunch of headache if they try to share venvs with other projects, because it will probably break. let's explore this more offline |
All package management done with
uv
.Initialize project now creates a virtual enviroment for you.