Command-Line Interface¶
Note
pitstop is currently in alpha, so the library API and command-line interface is subject to change and break backwards compatibility.
The purpose of the pitstop CLI is to provide a convenient utility for developers that facilitates interaction with every tier of configuration, without having to write any code or deal with connecting to backends individually.
pitstop 0.1a1
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose[=VERBOSE] Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
help Displays help for a command
list Lists commands
resolve Resolve all backend sources and output resolved configuration.
pitstop resolve
¶
Given a meta-configuration file and strategy, resolves a snapshot of
application configuration across all configuration backends into a
JSON object. This is useful for debugging, but also for applications not
written in Python that could benefit from pitstop’s functionality,
as they can simply wrap the pitstop
command and parse the output.
Because dogfood is delicious, here’s an example of pitstop’s own
meta-configuration resolved from its pyproject.toml
:
$ pitstop resolve
{
"tool": {
"pitstop": {
"backends": [
{
"driver": "fs",
"priority": 1,
"encoding": "toml",
"options": {
"path": "pyproject.toml"
}
}
],
"strategy": {
"version": 1,
"backend_priority_overrides": null
}
}
}
}