Configuration Overview¶
K-Pipe uses TOML config files organised into bundles — one bundle per project. Bundles live under configs/<bundle-name>/.
Config files in a bundle¶
| File | Purpose |
|---|---|
kpipe.toml |
Main config — paths, anatomy, DCC settings, attributes, project formats ([formats]), media presets ([media.presets]) and color aliases ([color]) — see Media Settings & Presets |
kpipe-kitsu.toml |
Kitsu backend connection |
kpipe-blender.toml |
Blender-specific settings: startup files, extensions, asset libraries, render presets ([render.presets]) — see Blender Settings |
kpipe-nuke.toml |
Nuke-specific settings |
kpipe-publish.toml |
Publishing pipeline definitions — see Pipeline Configuration |
kpipe-load.toml |
Load pipeline definitions — see Pipeline Configuration |
Splitting large config files¶
Any kpipe-<name>.toml file can be split across multiple files to keep individual files manageable. Alongside kpipe-<name>.toml, drop in one or more kpipe-<name>.<category>.toml files — e.g. kpipe-publish.render.toml, kpipe-publish.review.toml — and they're merged in automatically. The <category> segment is purely organizational (pick whatever names help you navigate the bundle) and carries no special meaning to K-Pipe. Files are merged key-by-key (not wholesale), so [pipeline.x] in one file and [pipeline.y] in another both end up in the same combined pipeline table. The base kpipe-<name>.toml file is optional once split — category files alone are enough to satisfy a sub-config.
Selecting a config bundle¶
Set the KPIPE_CONFIG environment variable to the bundle name:
The default bundle is main.
User-specific overrides¶
Settings read with Config.get_user_override() can be overridden for a specific user without touching the shared config: put the value in a <username> table next to the key it replaces. The user name is KPIPE_USER if set, otherwise the OS user (USERNAME).
[dcc.blender]
install_root = "C:/Program Files/Blender Foundation"
[dcc.blender.bob]
install_root = "D:/blender" # used instead when bob launches Blender
Only keys read via get_user_override() support this — currently dcc.blender.install_root and dcc.blender.launcher_root.
Kitsu login credentials are the one exception — they are not stored in config at all. Run kpipe-manage login to store them locally; see Kitsu backend.
Defaults¶
The configs/defaults/ directory contains base configs that project bundles can inherit from. Values defined in a project bundle override the defaults.