-
Notifications
You must be signed in to change notification settings - Fork 1
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
Mismatch between pip and conda dependency pins: which is the intended one? #24
Mismatch between pip and conda dependency pins: which is the intended one? #24
Comments
Ah, good catch. This is a mistake in my translation of the Poetry dependency specs to Conda specs. I'll make a fix to the Conda packaging so it matches the Python packaging. If @marlinfiggins wants to relax the dependency specs (or not), that's up to him and can be handled separately. I think Poetry, like npm, defaults to the "compatible release" operator ( |
I mistranslated from Poetry's specifications to Conda's when creating this recipe. Specifically, I didn't properly translate the behaviour of the "compatible release" operator (^) when applied to 0.x versions, e.g. in jaxlib = "^0.3.10". Resolves <blab/evofr#24>.
@corneliusroemer If you could review bioconda/bioconda-recipes#40779, that'd be appreciated. |
I mistranslated from Poetry's specifications to Conda's when creating this recipe. Specifically, I didn't properly translate the behaviour of the "compatible release" operator (^) when applied to 0.x versions, e.g. in jaxlib = "^0.3.10". Resolves <blab/evofr#24>.
Done! Thanks! |
In this docker-base PR nextstrain/docker-base#145 the build failed because pip seems to think that evofr constrains
jaxlib
as0.3.10 <= jaxlib < 0.4.0
and I upgraded jaxlib to 0.4.6 (see for error in build https://github.com/nextstrain/docker-base/actions/runs/4881147643/jobs/8709697128#step:8:2789)I was surprised by this, as the conda recipe has different version pins, allowing any minor version
see https://github.com/bioconda/bioconda-recipes/blob/master/recipes/evofr/meta.yaml#LL27C7-L27C26
You specify the pip dependencies here as
evofr/pyproject.toml
Line 13 in 8009bb6
The caret
^
pins the minor version for major version0
only (for all major versions >0 it pins only major version), see https://python-poetry.org/docs/dependency-specification/So either:
jaxlib
isn't the only dependency where this matters, same issue forjax
,numpyro
andblackjax
Would be good to sort out what is intended and align conda and pip to whatever you want it to be.
The text was updated successfully, but these errors were encountered: