네 가지 개념이면 pixi의 구조를 대부분 이해할 수 있어.
pixi.toml. 프로젝트의 manifest로 이름, channels, conda-forge 의존성, PyPI 의존성, tasks, features, environments를 선언해. pixi의 package.json이나 Cargo.toml에 해당하며 프로젝트 요구사항의 중심 기록이야.
pixi.lock. 자동으로 생성되는 lockfile로, 대상으로 삼은 모든 플랫폼에서 직접·전이 의존성을 콘텐츠 해시와 함께 고정해. 다른 컴퓨터에서 pixi install을 실행해도 비트 단위로 같은 환경이 만들어져. 항상 버전 관리에 포함하고 직접 편집하지 마.
Features와 environments. pixi.toml은 의존성의 이름 붙은 묶음인 features와 feature 조합인 environments를 선언할 수 있어. 기본 구성은 공통 의존성과 dev feature 정도로 단순해. 복잡한 프로젝트라면 cuda, amd, cpu features를 만들고 하나의 pixi.toml에서 gpu-cuda, gpu-amd, cpu-only 환경을 구성할 수도 있어. 머신 러닝 프로젝트에 monorepo식 재현성을 제공하는 구조야.
uv를 통한 PyPI 계층. pixi.toml에 PyPI 의존성을 선언하면 pixi가 uv를 호출해 해석해. conda-forge는 binary를, uv는 순수 Python을 맡아 두 생태계를 깔끔하게 나눠. pixi.lock에는 두 계층이 따로 기록되지만 사용자는 하나의 작업 흐름으로 다룰 수 있어.