id = "rattler-build" name = "Rattler-Build" homepage = "https://rattler.build" description = "Universal conda package builder" executables = ["rattler-build"] [dotfiles] # https://rattler-build.prefix.dev/latest/config/ documents the per-user # platform config directory and RATTLER_BUILD_HOME (default ~/.rattler-build). # The latter's config is loaded as ~/.rattler-build/config.toml; the former is # the XDG config location on Unix. paths = ["[configHome]/rattler-build/config.toml", "~/.rattler-build/config.toml"] secret = [] [commands] format = 1 label = "Build conda packages" description = "Build a conda package from a recipe.yaml. Test strategy, skip-existing, platform overrides, auth and rarely used rendering options are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand]] path = ["build"] label = "Build a package" description = "Build the recipe in a file or directory (current directory by default)." [[commands.subcommand.source]] id = "src" kind = "help" url = "https://github.com/prefix-dev/rattler-build/blob/main/src/opt.rs" revision = "main 2026-10-27" evidence = ''' Build options. --recipe, -r The recipe file or directory containing `recipe.yaml`. Defaults to the current directory. --recipe-dir The directory that contains recipes. --target-platform The target platform for the build. --channel, -c Add a channel to search for dependencies in. --variant-config, -m Variant configuration files for the build. --variant Override specific variant values (e.g. --variant python=3.12 or --variant python=3.12,3.11). --render-only Render the recipe files without executing the build. --keep-build Keep intermediate build artifacts after the build. --output-dir Output directory for build artifacts. --package-format The package format to use for the build. Can be one of `tar-bz2` or `conda`. ''' [[commands.subcommand.field]] id = "recipe" label = "Recipe" type = "path" description = "Recipe file or directory containing recipe.yaml. Defaults to the current directory." option = ["--recipe", "-r"] path = { kind = "any", role = "input" } multiple = true sources = ["src"] [[commands.subcommand.field]] id = "recipe_dir" label = "Directory of recipes" type = "path" option = ["--recipe-dir"] path = { kind = "directory", role = "input" } sources = ["src"] [[commands.subcommand.field]] id = "channel" label = "Channels" type = "string" option = ["--channel", "-c"] multiple = true suggestions = [{ value = "conda-forge", label = "conda-forge" }] sources = ["src"] [[commands.subcommand.field]] id = "variant_config" label = "Variant config files" type = "path" option = ["--variant-config", "-m"] path = { kind = "file", role = "input" } multiple = true sources = ["src"] [[commands.subcommand.field]] id = "variant" label = "Variant override" type = "string" description = "name=value or name=v1,v2, e.g. python=3.12." option = ["--variant"] multiple = true sources = ["src"] [[commands.subcommand.field]] id = "target_platform" label = "Target platform" type = "string" option = ["--target-platform"] suggestions = [{ value = "linux-64", label = "linux-64" }, { value = "linux-aarch64", label = "linux-aarch64" }, { value = "osx-arm64", label = "osx-arm64" }, { value = "osx-64", label = "osx-64" }, { value = "win-64", label = "win-64" }, { value = "noarch", label = "noarch" }] sources = ["src"] [[commands.subcommand.field]] id = "output_dir" label = "Output directory" type = "path" option = ["--output-dir"] path = { kind = "directory", role = "output" } sources = ["src"] [[commands.subcommand.field]] id = "render_only" label = "Render only, do not build" type = "boolean" option = ["--render-only"] sources = ["src"] [[commands.subcommand.field]] id = "keep_build" label = "Keep build artifacts" type = "boolean" option = ["--keep-build"] sources = ["src"] [[commands.subcommand.field]] id = "package_format" label = "Package format" type = "string" option = ["--package-format"] suggestions = [{ value = "conda", label = "conda" }, { value = "tar-bz2", label = "tar-bz2" }] sources = ["src"] [[commands.subcommand.task]] id = "build" label = "Build from conda-forge" fields = ["recipe", "channel", "output_dir"] required = [] set = { channel = ["conda-forge"] } [[commands.subcommand.task]] id = "render" label = "Render recipe only" fields = ["recipe", "render_only", "variant"] required = [] set = { render_only = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["recipe", "channel", "output_dir", "render_only"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["recipe_dir", "variant_config", "variant", "target_platform", "keep_build", "package_format"]