-
Notifications
You must be signed in to change notification settings - Fork 103
Description
Checklist
- I added a descriptive title
- I searched open requests and couldn't find a duplicate
What is the idea?
Hey All,
This is a request to align Rattler with the proposed CEP for new repodata and MatchSpec features, including:
- Conditional dependencies using
; ifsyntax (e.g.,importlib_metadata; if python <3.10) - Flags for variant selection (e.g.,
pytorch[flags=['gpu:*']]) - Enhanced extras support beyond the current
extra_dependsimplementation
Why is this needed?
Rattler already has experimental support via extra_depends, but as the CEP has progressed the syntax has been updated. It would be nice to get the implementation updated in parallel to us getting the CEP over the finish line.
Although this would be a nice update for the conda ecosystem in general, we are also interested in this for the conda CLI for better integration with the PyPI ecosystem. Having support for at least conditional dependencies is a prerequisite to adding wheels to repodata. We discussed more about that in our recent roadmap post.
It would be nice to explore usage of conda-rattler-solver with support for this, and it could potentially become a dependency of conda-pypi if we decide that this is the best approach.
What should happen?
- Support conditional syntax in
dependsfield parsing - Add
flagsfield toPackageRecord - Enhance extras support to match CEP model
- Update solver to evaluate conditional dependencies and handle flags
- Add MatchSpec support for flag syntax
Additional Context
No response