Looper configuration file
The .looper.yaml file configures looper for your project. It specifies where to find your samples, pipelines, and how to run them.
Basic example
pep_config: ./project_config.yaml
output_dir: ./results
pipeline_interfaces:
- ./pipeline/pipeline_interface.yaml
Complete reference
Required settings
| Key | Type | Description |
|---|---|---|
pep_config |
string | Path to PEP config file (YAML or CSV) or PEPhub registry path |
output_dir |
string | Directory for pipeline outputs |
pipeline_interfaces |
list | Paths to pipeline interface YAML files |
Pipestat configuration
The pipestat section configures result reporting. All keys are optional.
pipestat:
project_name: my_project
results_file_path: results.yaml
flag_file_dir: results/flags
| Key | Type | Description |
|---|---|---|
project_name |
string | Project name for results tracking |
results_file_path |
string | Path to YAML file for storing results |
flag_file_dir |
string | Directory for status flag files |
pephub_path |
string | PEPhub registry path for results storage |
Database backends
For PostgreSQL, use a nested database section:
pipestat:
project_name: my_project
database:
dialect: postgresql
driver: psycopg2
name: pipestat-db
user: postgres
password: ${POSTGRES_PASSWORD}
host: 127.0.0.1
port: 5432
Environment variables can be used anywhere in the config with ${VAR} syntax. This is recommended for sensitive values like passwords.
For PEPhub:
pipestat:
pephub_path: "databio/myproject:results"
PEP config sources
The pep_config value can be:
- Local YAML file:
./project_config.yaml - Local CSV file:
./samples.csv(simple projects) - PEPhub registry path:
databio/myproject:default
Examples
Minimal configuration
pep_config: samples.csv
output_dir: results
pipeline_interfaces:
- pipeline_interface.yaml
With pipestat (file backend)
pep_config: ./metadata/project_config.yaml
output_dir: ./results
pipeline_interfaces:
- ./pipeline/pipeline_interface.yaml
pipestat:
project_name: my_project
results_file_path: results.yaml
flag_file_dir: results/flags
From PEPhub
pep_config: databio/example_project:default
output_dir: ./results
pipeline_interfaces:
- ./pipeline/pipeline_interface.yaml
Environment variables
You can use environment variables anywhere in the config file with ${VAR} syntax. This is useful for:
- Keeping secrets out of config files (database passwords, API keys)
- Making configs portable across machines (paths, hostnames)
pipestat:
database:
password: ${DB_PASSWORD}
host: ${DB_HOST}
Looper environment variables
DIVCFG- Path to divvy configuration file (for compute settings)