-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
(🎁) Add a command to "upgrade" dependency constraints in the pyproject.toml
#6794
Comments
Does Also, I'm pretty sure dependencies will also be updated during every |
I don't think uv sync can bump the pinned versions of every dependency to the latest available version, which I believe is what the issue creator is asking about. uv sync just downloads modules that match the pin, it doesn't change the pin. This topic always ends up being confusing, people have different definitions of what it means to update or upgrade a dependency. 😅 |
Ahh, yes Would it be recommended to not pin exact dependencies in the
|
I suspect a lot of teams have a similar workflow to my team, which most project tooling has poor support for. In the pre-Dependabot days, once a month or so we'd open up the project file on one screen and pypi on the other, then manually bump all the versions to the latest we could find. Then we'd install everything, read release notes, check what broke, and perhaps go back a version or two for some of the dependencies (which is why unpinning all the deps wouldn't work). After that we'd generate a new lock file. Having an upgrade command would remove the manual labor of having to look up all the versions and editing the file for each individual dependency. |
Poetry has a nice workflow by using |
Use |
Although I will note that it would be nice to be able to see which packages are outdated, similar to |
That's tracked in #2150. |
Like @KotlinIsland said, especially for applications it's really nice to be able to browse narrow ranges of your top level dependencies within It's also important to be able to skip dependencies that the user has pinned to a specific version in The old For more prior art, see It has a nice output UI: (Long) discussion from the same feature requested in Poetry |
I agree this would be a really helpful feature, especially useful in PRs for tracking version increments. Its a lot easier to see these in pyproject.toml than a lock file |
I'm also a big fan of yarn's |
upgrade
commandpyproject.toml
I use this tiny script. Works like a charm. |
pyproject.toml
pyproject.toml
Is this intended to handle the following use case?
(where Would it require something like Currently, even an ugly hack like
isn't working, because |
You might be interested in @KotlinIsland’s improved version, as this should handle dependency groups. |
Would this count as using uv?
|
🤔 Does |
PDM is excruciatingly slow... The current work around with a script that uses UV to remove and readd deps is many times faster |
+1 |
Any update on this feature request? We also used to rely on the poetry up plugin which worked well. This is really useful for top-level dependencies, we typically care about specific versions of these packages and it's very helpful to be able to bump this without having to manually go check if there's an update available for a given package. |
Please don't ask for updates (see #9452) — we definitely post updates if we have them. We haven't started working on this. It's obviously high impact / priority, but so are lots of other things. |
The script posted above has been useful to me, but it does ignore pins and bounds, on purpose, whereas I was looking for something where I could selectively not upgrade using the existing |
|
One could also say that this feature were better handled by an external tool, like Renovate. That tool can update dependencies more broadly, and in more advanced ways. Work on the end of uv towards a universal lockfile or other such changes is more fruitful that crafting a CLI for this. |
As a stop gap do people just use the lock file for PR reviews of dependency changes? |
If you specify all your (direct) dependencies in On the other hand, if you have not all versions pinned in I dont think it is too bad right now when it comes to reviewing PR's though, keeping |
I'm a fan of npm-check-updates personally, especially because you can filter via For poetry, I've used a combination of |
this will update the version pins in the pyproject.toml file
prior art:
this will update the version pins in the pyproject.toml file
why? when i want to update all the dependencies in a project, it can be tedious to manually search for and update each and every dependency. additionally, for application projects (not libraries), i like to be able to squizz the pyproject file for an easy overview of which dependencies are actually installed, not just some possible range
The text was updated successfully, but these errors were encountered: