Introduction
In preparation for the user meeting next week I have spent some time fiddling around with CIL and bumped into a few places where I believe the ergonomics of using and contributing to CIL could be improved.
I have had a look at pixi, which aims improve upon ergonomics, speed, and reproducibility in conda-based projects, not dissimilar to what uv has done for PEP517/518 Python projects.
This issue is meant to discuss the potential use of pixi in CIL.
A WIP branch with an initial Pixi configuration can be found here: https://github.com/JeppeKlitgaard/CIL/tree/experiment-pixi
Pro/Con of Pixi
Pro:
Cons:
- Still relatively new, though production ready by their own accounts
- Notably has been adopted by some mature scientific python libraries, see xarray
- Conda builds don't support dynamic versions yet (I think)
- Would require contributors to use pixi as part of the development process
- This means disturbing the core contributors existing workflows and may be no-go for this reason
- Though: would likely benefit new contributors and lower contribution barrier-to-entry
- Though: should be noted that pixi is exceedingly easy to install
- Though: users of CIL can continue to use
conda without any changes required
Areas where pixi could help
It may be that this is not the tool for CIL, but I think it could help alleviate some long-standing issues that I found from quickly browsing the issue tracker:
Introduction
In preparation for the user meeting next week I have spent some time fiddling around with CIL and bumped into a few places where I believe the ergonomics of using and contributing to CIL could be improved.
I have had a look at pixi, which aims improve upon ergonomics, speed, and reproducibility in
conda-based projects, not dissimilar to whatuvhas done for PEP517/518 Python projects.This issue is meant to discuss the potential use of
pixiin CIL.A WIP branch with an initial Pixi configuration can be found here: https://github.com/JeppeKlitgaard/CIL/tree/experiment-pixi
Pro/Con of Pixi
Pro:
zstderror prefix-dev/pixi#5398, https://discord.com/channels/1082332781146800168/1082338253925003385/1464556088014667927)mambaandrattlerCons:
condawithout any changes requiredAreas where pixi could help
It may be that this is not the tool for CIL, but I think it could help alleviate some long-standing issues that I found from quickly browsing the issue tracker:
version.py#2255: reproducible and easier dev installationrattler-build, this is born out of the pixi eco-system. Would be solved by switching conda build system to Pixipixi run testwould always run in a reproducible environment)pixi run lint