The aim is to introduce a feature set mechanism in the pixi
package manager. This mechanism will enable clear, conflict-free management of dependencies tailored to specific environments, while also maintaining the integrity of fixed lockfiles.
Consider a scenario where a project needs to be tested across multiple Python versions, each requiring a different set of dependencies. In this case, defining separate feature sets for each Python version (like py39
, py310
, etc.) allows for easy switching between environments without conflicts. Similarly, for development purposes, a test
feature set can include dependencies necessary for testing and linting, which are not required in the production environment.
- Non-Combinatorial: To ensure the dependency resolution process remains manageable, the solution should avoid a combinatorial explosion of dependen