Configuration Reference#
Complete schema for pypeline.yaml.
Top-Level Structure#
inputs:
<input_name>:
type: <type>
description: <text>
default: <value>
pipeline:
# List of steps (flat)
- step: StepName
...
# OR grouped steps
group_name:
- step: StepName
...
Step Configuration#
Field |
Type |
Required |
Description |
|---|---|---|---|
|
string |
✓ |
Step class name |
|
string |
Python module path |
|
|
string |
Local |
|
|
string/list |
Shell command |
|
|
string |
Override class name |
|
|
string |
Step description |
|
|
integer |
Timeout in seconds |
|
|
object |
Step-specific config |
Note
One of module, file, or run is required.
Step Types#
Module Step#
- step: CreateVEnv
module: pypeline.steps.create_venv
config:
python_version: "3.13"
File Step#
- step: MyStep
file: steps/my_step.py
config:
param: value
Command Step#
- step: Lint
run: ruff check .
# Or as list
- step: Test
run: [pytest, -v, --cov]
# Multiple commands (GitHub Actions style)
- step: QualityChecks
run: |
ruff check .
pytest -v --cov
Built-in Steps#
CreateVEnv#
Creates a Python virtual environment.
Config |
Type |
Default |
Description |
|---|---|---|---|
|
string |
— |
Python version (e.g., |
|
string |
— |
Path to Python |
|
string |
|
Package manager |
|
string |
— |
Custom bootstrap script |
- step: CreateVEnv
module: pypeline.steps.create_venv
config:
python_version: "3.13"
python_package_manager: uv>=0.6
WestInstall#
Downloads multi-repo dependencies using west.
Config |
Type |
Default |
Description |
|---|---|---|---|
|
string |
|
Relative path to west manifest file |
|
string |
|
Relative path for west workspace directory |
- step: WestInstall
module: pypeline.steps.west_install
config:
manifest_file: deps/west.yaml # custom manifest location
workspace_dir: external/deps # custom workspace directory
ScoopInstall#
Installs Windows applications via Scoop.
- step: ScoopInstall
module: pypeline.steps.scoop_install
Warning
Windows only. Logs a warning and skips on other platforms.
GenerateEnvSetupScript#
Generates environment setup scripts for shell sessions.
Config |
Type |
Default |
Description |
|---|---|---|---|
— |
— |
— |
No configuration options |
- step: GenerateEnvSetupScript
module: pypeline.steps.env_setup_script
Generates platform-specific scripts:
build/env_setup.sh(Unix/Linux/macOS)build/env_setup.ps1(Windows PowerShell)build/env_setup.bat(Windows CMD)
Use before opening an IDE to set up PATH and environment variables:
source ./build/env_setup.sh
Groups (Optional)#
Group related steps together:
pipeline:
venv:
- step: CreateVEnv
module: pypeline.steps.create_venv
build:
- step: Compile
file: steps/compile.py
- step: Link
file: steps/link.py
test:
- step: UnitTest
run: pytest
Each group creates a subdirectory in build/ for outputs.