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
Section titled “Basic example”pep_config: ./project_config.yamloutput_dir: ./resultspipeline_interfaces: - ./pipeline/pipeline_interface.yamlComplete reference
Section titled “Complete reference”Required settings
Section titled “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
Section titled “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
Section titled “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: 5432Environment 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
Section titled “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
Section titled “Examples”Minimal configuration
Section titled “Minimal configuration”pep_config: samples.csvoutput_dir: resultspipeline_interfaces: - pipeline_interface.yamlWith pipestat (file backend)
Section titled “With pipestat (file backend)”pep_config: ./metadata/project_config.yamloutput_dir: ./resultspipeline_interfaces: - ./pipeline/pipeline_interface.yamlpipestat: project_name: my_project results_file_path: results.yaml flag_file_dir: results/flagsFrom PEPhub
Section titled “From PEPhub”pep_config: databio/example_project:defaultoutput_dir: ./resultspipeline_interfaces: - ./pipeline/pipeline_interface.yamlEnvironment variables
Section titled “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
Section titled “Looper environment variables”DIVCFG- Path to divvy configuration file (for compute settings)