id = "steampipe" name = "Steampipe" homepage = "https://steampipe.io/" description = "Use SQL to instantly query your cloud services" executables = ["steampipe"] [dotfiles] # Steampipe's official configuration-files documentation says it loads all # .spc files from ~/.steampipe/config. Plugin examples show connection files # there and may contain credentials, so the configuration directory is both # portable content and secret content. # https://steampipe.io/docs/reference/config-files/overview # https://hub.steampipe.io/plugins/turbot/aws paths = ["~/.steampipe/config/"] secret = ["~/.steampipe/config/*.spc"] [commands] format = 1 label = "Steampipe" description = "Run SQL against cloud services with steampipe query: one query string or SQL files, with output format, timeout and search path. Snapshots, Turbot Pipes and the other subcommands are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand]] path = ["query"] label = "Run a query" description = "Leave the query empty to open the interactive shell." [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://steampipe.io/docs/reference/cli/query" revision = "2026-10-27" evidence = """ Execute SQL queries interactively, or by a query argument. To open the interactive query shell, run steampipe query with no arguments. `--header string` Specify whether to include column headers in csv and table output (default `true`). `--output string` Select the console output format. Possible values are `line, csv, json, table, snapshot` (default `table) `. `--query-timeout int` The query timeout, in seconds. The default is `0` (no timeout). `--search-path strings` Set a comma-separated list of connections to use as a custom search path for the query session. `--separator string` A single character to use as a separator string for csv output (defaults to ",") `--timing=string ` Enable or disable query execution timing: `off` (default), `on`, or `verbose` `--progress` Enable or disable progress information. By default, progress information is shown - set `--progress=false` to hide the progress bar. """ [[commands.subcommand.field]] id = "query" label = "SQL query or file" description = "A SQL string, or one or more .sql files." type = "string" position = 0 multiple = true sources = ["docs"] [[commands.subcommand.field]] id = "output" label = "Output format" type = "enum" option = ["--output"] choices = [ { value = "table", label = "Table" }, { value = "json", label = "JSON" }, { value = "csv", label = "CSV" }, { value = "line", label = "Line" }, { value = "snapshot", label = "Snapshot" }, ] sources = ["docs"] [[commands.subcommand.field]] id = "timing" label = "Query timing" type = "enum" option = ["--timing"] choices = [ { value = "off", label = "Off" }, { value = "on", label = "On" }, { value = "verbose", label = "Verbose" }, ] sources = ["docs"] [[commands.subcommand.field]] id = "query_timeout" label = "Timeout (seconds)" type = "integer" option = ["--query-timeout"] sources = ["docs"] [[commands.subcommand.field]] id = "search_path" label = "Search path" description = "Comma-separated connection names." type = "string" option = ["--search-path"] sources = ["docs"] [[commands.subcommand.field]] id = "separator" label = "CSV separator" type = "string" option = ["--separator"] sources = ["docs"] [[commands.subcommand.task]] id = "shell" label = "Interactive shell" fields = [] [[commands.subcommand.task]] id = "json" label = "Query as JSON" fields = ["query", "output"] required = ["query", "output"] set = { output = ["json"] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["query", "output", "timing"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["query_timeout", "search_path", "separator"]