Migrating to rattler-build


A lot is happening in the ecosystem of conda-forge. pixi and rattler-build are two new tools to make the life of package maintainers easier. First and foremost they focus on reducing the build time of conda packages and increasing reproducibility with lockfiles. Pixi offers additionally very neata environment handling and task execution features.
More details of the new v1 file format of rattler-build: https://conda-forge.org/blog/2025/02/27/conda-forge-v1-recipe-support.
Here are a couple of simple/easy steps to migrate noach python packages from conda-build
over to rattler-build
:
curl -fsSL https://pixi.sh/install.sh | bash
pixi global install rattler-build
pixi global install feedrattler
feedrattler dagster-cloud-feedstock
feedrattler dagster-cloud-cli-feedstock
The feedrattler conversion is not flawless: See https://github.com/conda-incubator/conda-recipe-manager/issues/307 for details.
Some minimal manual fixes are needed:
# specify
python_min: 3.9
# reference correct versioning
host:
- python ${{ python_min }}.*
run:
- python >=${{ python_min }}
See the examples:
- https://github.com/conda-forge/dagster-cloud-feedstock/pull/38
- https://github.com/conda-forge/dagster-cloud-cli-feedstock/pull/42
more involved examples
Conda is known for often packaging complex native dependencies.
One such example is the h3
package.
However, feedrattler
handles this nicely:
feedrattler --no-use-pixi h3-feedstock
See the PR: https://github.com/conda-forge/h3-feedstock/pull/33
Keep in mind, that --no-use-pixi
this flag here is required, as pixi is currently not publishing binaries for the linux_ppc64le_
plattform.
summary
The migration for simple python norach packages is fairly straight forward and quick. The build time is drastically reduced by rattler-build!