跳转至

chefe

一份 manifest,搞定所有包管理器。

Conda、Python、Node.js、Rust,以及项目声明的 toolchain。真实的项目往往同时需要好几个,零散地分布在 pixi.tomlpackage.json 和各语言自己的 manifest 之间。chefe 就是那位主厨:你只写一份 chefe.toml 食谱,它会在 .chefe/ 下编译出每一份原生 manifest,调用真正的工具,最后把它们摆盘成一个统一的环境。它从不重新实现求解器,它只负责指挥后厨。

  • 一份食谱

    所有language/toolchain都写进一份 chefe.toml。不必再同时摆弄四份 manifest。

  • 原生输出

    编译成真正的 pixi.tomlpackage.json 等文件。真正的工具来做求解。

  • 可组合

    平台叠加层和具名环境像 pixi feature 一样层层堆叠。

  • 自包含

    整个环境都存在 .chefe/ 里,一条命令即可清除。

安装

pip install chefe      # or: pipx install chefe

chefe 会在首次运行时安装它编译的目标引擎 pixi,因此只需一次 pip install 就够了。

chefe.toml
[workspace]
name = "my-project"

[deps]                 # conda, the default resolver
python  = ">=3.12"
nodejs  = ">=25"
ripgrep = "*"

[python.deps]
torch = ">=2.6"

[nodejs.dev.deps]
prettier = ">=3"

chefe 尚在早期阶段(0.0.x

manifest 格式和命令仍可能发生变化。

下一步

由来

主厨从不独自烹制每一道菜。他写下食谱、统筹整条出菜线,每位厨师各守一个工位。零散的包管理器就是这条出菜线,于是 chefe 用一份食谱来指挥它们。🧑‍🍳