Show the team: Pixi Experiments #2283
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is not intended to be merged, but instead serves as an appetiser for the CIL team to explore the viability of using Pixi to manage the development experience in order to ease their own workflows and support easy and local building of documentation, execution of tests, etc. In addition, it would allow tourist and future contributors to get a working setup much more easily than is currently the case.
This follows on from the work done to fix #2269 and #2257, which resulted in a lot of difficulties for people during the first day of the CIL user meeting hackathon.
Importantly, this configuration does not remove support for developers using conda to contribute to CIL. Additionally, it does not change the build system at all, and does not aim to. Instead, it allows reproducible, fast and easy construction of environments, which prevents common pain-points around activating conda environments and keeping them up to date with the local environment specification.
Examples of things that the included Pixi configuration accomplishes:
These commands would be very simple to document in the README.md or in the contributor documentation.
Other advantages are significantly faster solving, which is currently quite slow, even on modern mamba configurations.
For reference, the team behind Pixi includes the developers of boa, mamba, quetz, and rattler-build. They are responsible for most of the innovation within the conda ecosystem in recent years, which gives some credence to Pixi.
Additionally it has significantly simplified the building of CIL's TIGRE builds, see TomographicImaging/TIGRE-conda#16
Non-goals
Both of these non-goals could become goals in the future, but would not need to be done now. At no point would it be required to break existing setups and conda as an environment manager could be phased out at any speed desired, or kept for all eternity.