Skip to content

Add Pixi as an installation option? #4711

@denkiwakame

Description

@denkiwakame

Would it be possible to consider adding Pixi as an installation option (primarily as a modern alternative to conda written in Rust) in the installation guide? https://github.com/facebookresearch/faiss/blob/main/INSTALL.md

Pixi is a Rust-based, modern re-implementation of the conda package manager, offering ~10× faster performance and built-in lockfile support, with a strong focus on reproducibility in scientific environments. https://prefix.dev/blog/pixi_a_fast_conda_alternative

A minimal example for faiss installation would be:

pixi init -c pytorch -c nvidia -c conda-forge
pixi add faiss-cpu=1.13.1   # blazing fast 🚀 (0.47s)
pixi init -c pytorch -c nvidia -c conda-forge
pixi add faiss-gpu=1.13.1   # blazing fast 🚀 (0.63s)

Pixi is increasingly adopted across the scientific Python + non-Python (C++,BLAS, etc.) ecosystem. For example:

Additional context:

  • We have been using Pixi in research projects involving faiss for nearly a year, including GPU/CUDA versions and cuVS, and everything has worked smoothly.
    Examples: https://github.com/denkiwakame/pixi-faiss-examples
  • Recently, some users have expressed serious concerns about licensing issues, and this has sometimes led to a kind of cancel-culture sentiment not only toward Anaconda Inc., but unfortunately toward the broader conda ecosystem including conda-forge, which is fully open and community-driven. uv pip install support #4510
  • These discussions often reflect a broader trend:
    many users still develop misconceptions around “conda” vs “defaults” vs "conda-forge" vs “Anaconda Inc.” which sometimes leads to unnecessary confusion or negativity.
    • As a result, discussions can sometimes drift away from what really matters for the research community, reproducibility, and toward debates about modern package managers.
  • Pixi avoids defaults entirely and aligns cleanly with the conda-forge ecosystem. (it also privides a modern, fast workflow) https://prefix.dev/blog/towards_a_vendor_lock_in_free_conda_experience
  • Although I regularly use both uv and pixi, Pixi is by far the most reliable option when dealing with non-Python dependencies (make, cmake, clang, swig, boost, OpenMP, BLAS, CUDA, ...) and when strict reproducibility is required. (we can lock everything).

If there is any openness to this idea, I would be more than happy to contribute a draft PR.
Thank you again for your continued work on faiss.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions