Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Allow flexible channel priority #1254

Closed
dp-alvarez opened this issue Apr 22, 2024 · 6 comments · Fixed by #1631
Closed

Allow flexible channel priority #1254

dp-alvarez opened this issue Apr 22, 2024 · 6 comments · Fixed by #1631
Labels
✨ enhancement Feature request

Comments

@dp-alvarez
Copy link

Problem description

I'm trying to get introduce Pixi at the company I work at, when I ran into this issue compared to our old conda setup.
Basically we have our own internal conda channels with custom versions of some conda packages. Some projects depend on the custom version of those libraries, some depend on the upstream ones.

Pixi, according to the docs here, follows the behavior conda has with "strict channel priority" set.
We can work around it by setting the channel source on a per-package basis, but that won't scale for wider adoption.
Is there a plan to implement flexible channel priority in Pixi? Does the solver have this behavior and it's only a matter of exposing it in Pixi?

@dp-alvarez dp-alvarez added the ✨ enhancement Feature request label Apr 22, 2024
@ruben-arts
Copy link
Contributor

He @dp-alvarez

Do you build your custom channel on top of conda-forge?

This is a known request, the latest response is: #1029 (reply in thread).

With enough people wanting this, we probably need to give in at some point 😉 Track it by giving a thumbs up! 👍

@dp-alvarez
Copy link
Author

Ooh I didn't that thread it as I only searched in issues, thanks for pointing it out.

We don't build it on top of conda-forge, that channel only has our own internal packages plus patched versions of some upstream libraries.

@wolfv
Copy link
Member

wolfv commented Apr 22, 2024

There is also some work ongoing in rattler, the underlying library: conda/rattler#598 :)

@ruben-arts
Copy link
Contributor

We don't build it on top of conda-forge, that channel only has our own internal packages plus patched versions of some upstream libraries.

Oh that is interesting. Are you building everything from scratch? Including all compilers etc?

@dp-alvarez
Copy link
Author

dp-alvarez commented Apr 24, 2024

Oh that is interesting. Are you building everything from scratch? Including all compilers etc?

Sadly it's nowhere that cool. We just build patched versions of libraries (pulling dependencies from conda-forge) and upload them to an internal conda channel.
When I said "we don't build it on top of conda-forge" I meant that the internal channel isn't a mirror of conda-forge + patched packages, it contains just our internal patched packages and nothing else.

@wolfv great to know there is already code underway for it, thanks for the link!

@roaldarbol
Copy link

Just saw that the py-rattler PR is merged (conda/rattler#598). Would it be possible to expose the option in pixi now? :-)

baszalmstra added a commit that referenced this issue Jul 19, 2024
Allows the user to turn off strict priority:
```toml
[project]
# Turn off
channel-priority = "disabled"

[feature.no-default]
# Turn back on
channel-priority = "strict"

[environments]
no-default = { no-default-feature = true, features = ["no-default"] }
error = ["strict"] # mixing strict and disabled errors
```
Closes #1254 #1532 #1029

---------

Co-authored-by: Bas Zalmstra <zalmstra.bas@gmail.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
✨ enhancement Feature request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants