-
Notifications
You must be signed in to change notification settings - Fork 194
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
Consider using ~=
as the default instead of .*
#285
Comments
~=
as the default~=
as the default instead of .*
We could also do (following the example above):
if the latest version is |
I prefer the |
I concur that the What are your thoughts on still using |
Even people who know about Given that, I think the explicit |
I want to contribute to this issue but I am not clear what I should do after reading this conversation. Can someone please help ? |
We didn't yet come to a consensus, what the version should look like. So I don't think it needs any work right now. |
So let's make a decision here. I think there is more enthusiasm to use |
For sure! |
Implements the behavior described in #285 . When running `pixi add python` we would previously look at all platforms, add the requirement, and solve the environment. We would then take the lowest version between all platforms and pin that. So currently for python that would result in the requirement: ```toml python = "3.12.0.*" ``` This is a very strict requirement. And would also fail to resolve if this version (or a higher version) is not available for all platforms (see #526 ). This PR changes the behavior by instead adding a range requirement that allows change in the last segment of the version. And allowing for multiple versions if a version is not available for all platforms. For python this would become: ```toml python = ">=3.12.0,<3.13" ``` For the issue described in #526, this becomes: ```toml ros-humble-rosbridge-server = ">=1.2.0,<1.4" ``` Note that `1.4` is selected instead of `1.3`. This is because `1.2` is [not available for all platforms](https://prefix.dev/channels/robostack-humble/packages/ros-humble-rosbridge-server). Fix #526 Fix #285
Problem description
Currently pixi determines the latest version for all platforms and then inserts
to the
pixi.toml
.The problem with this approach is that we basically pin the dependency to a very narrow version range.
1.2.4
doesn't match1.2.3.*
for instance. Only "subversion" (1.2.3.1
) would match it. I think this is a too narrow range.Proposal
I propose that we use the
~=
operator instead of the starts with postfix.~=1.2.3
is the same as>=1.2.3,<1.3
. So we would have:The text was updated successfully, but these errors were encountered: