Configuration#
Pain001 supports layered configuration from built-in defaults, user config, project config, environment variables, profiles, and direct CLI flags.
Precedence#
Lowest to highest:
Built-in defaults
~/.config/pain001/config.yamlorconfig.toml./pain001.yamlor./pain001.tomlEnvironment variables
--profileExplicit CLI options
Supported Keys#
xml_message_typexml_template_file_pathxsd_schema_file_pathdata_file_pathoutput_dirstreamingchunk_sizeemit_metrics
Example YAML#
xml_message_type: pain.001.001.11
streaming: true
chunk_size: 500
profiles:
production:
emit_metrics: true
sepa_v12:
xml_message_type: pain.001.001.12
Built-In Presets#
sepa_credit_transfersepa_credit_transfer_v12sepa_direct_debitinstant_credit_transfer
CLI Examples#
pain001 --config pain001.yaml --profile production -d payments.csv
pain001 --show-config -t pain.001.001.12 -d payments.csv
Environment Variables#
PAIN001_MESSAGE_TYPEPAIN001_TEMPLATE_PATHPAIN001_SCHEMA_PATHPAIN001_DATA_PATHPAIN001_OUTPUT_DIRPAIN001_STREAMINGPAIN001_CHUNK_SIZEPAIN001_EMIT_METRICS