You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems as though when specifying a dependency with a 4-part (or possibly higher) version number, that the ~= operator violates PEP 440. An example is included in my pyproject.toml and poetry.lock.
The padding rules for release segment comparisons means that the assumed degree of forward compatibility in a compatible release clause can be controlled by appending additional zeros to the version specifier:
Specify the correctly resolved version constraints manually (e.g. anchor-exp~=0.0.0.5 -> anchor-exp>=0.0.0.5,==0.0.0.*). This works fine for primary dependencies, but may be problematic with transitive dependencies.Edit: It seems as though doing this results in the same version, which tells me the issue could actually be in the version-matching with *. Actual workaround can be anchor-exp~=0.0.0.5 -> anchor-exp>=0.0.0.5,<0.0.1
The text was updated successfully, but these errors were encountered:
-vvv
option).poetry debug output
Issue
It seems as though when specifying a dependency with a 4-part (or possibly higher) version number, that the
~=
operator violates PEP 440. An example is included in my pyproject.toml and poetry.lock.Specifically, when locking:
Input:
anchor-exp = "~=0.0.0.5"
Expected locked version:
anchor-exp = "==0.0.0.6"
Actual locked version:
anchor-exp = "==0.0.2.0"
This does not match the example shown in PEP 440:
Current workaround
Specify the correctly resolved version constraints manually (e.g.Edit: It seems as though doing this results in the same version, which tells me the issue could actually be in the version-matching withanchor-exp~=0.0.0.5
->anchor-exp>=0.0.0.5,==0.0.0.*
). This works fine for primary dependencies, but may be problematic with transitive dependencies.*
. Actual workaround can beanchor-exp~=0.0.0.5
->anchor-exp>=0.0.0.5,<0.0.1
The text was updated successfully, but these errors were encountered: