Skip to content
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 pixi upgrade #912

Open
ruben-arts opened this issue Mar 4, 2024 · 5 comments
Open

Add pixi upgrade #912

ruben-arts opened this issue Mar 4, 2024 · 5 comments
Labels
✨ enhancement Feature request

Comments

@ruben-arts
Copy link
Contributor

Problem description

Next to pixi update defined in #73 we would like to do something like pixi upgrade getting inspiration from cargo upgrade

Where pixi update only touches the pixi.lock, pixi upgrade can also change the pixi.toml information.

For example:

# Upgrade all packages in the `pixi.toml` to the latest possible combination.
pixi upgrade 
# Upgrade python to the latest possible with the other package kept to their requirement
pixi upgrade -p/--package python
@ruben-arts ruben-arts added the ✨ enhancement Feature request label Mar 4, 2024
@pavelzw
Copy link
Contributor

pavelzw commented Mar 4, 2024

Maybe also pixi upgrade --keep-lower-bound

@PaulKMueller
Copy link

One short idea:
Might it make sense to name the command pixi relock instead of pixi update for the command that only touches the pixi.lock?
Might get rid of a lot of potential unnecessary confusion of what it does.

@ruben-arts
Copy link
Contributor Author

@PaulKMueller our lock file is, unless specified not to (--no-install), always up to date with the environment. So with my sentence about just touching the pixi.lock I meant to say that it only changes the lock file and the environment. The pixi upgrade also touches the pixi.toml and thus the pixi.lock and the environment. Sorry for the confusing sentence.

@roaldarbol
Copy link

For templating, this could also be useful as copier could create the environment and then immediately call pixi upgrade so users aren't limited to the versions specified at the time the template was generated. Having an option to keep some versions pinned, e.g. language versions such as Python or R, would be great for that.

@pavelzw
Copy link
Contributor

pavelzw commented Sep 10, 2024

then immediately call pixi upgrade

from my experiences, generating a pixi.lock directly after the copier template instantiation leads to a lot of annoying merge conflicts when updating the template.
since pixi upgrade will touch this file i'm not sure this is the ideal approach.
also i can imagine that this will generate some other weird merge conflicts when running copier update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ enhancement Feature request
Projects
None yet
Development

No branches or pull requests

4 participants