diff --git a/.changes/unreleased/Under the Hood-20230117-213729.yaml b/.changes/unreleased/Under the Hood-20230117-213729.yaml new file mode 100644 index 00000000000..8500a0a70b7 --- /dev/null +++ b/.changes/unreleased/Under the Hood-20230117-213729.yaml @@ -0,0 +1,6 @@ +kind: Under the Hood +body: dbt list working with click +time: 2023-01-17T21:37:29.91632-05:00 +custom: + Author: michelleark + Issue: "5549" diff --git a/core/dbt/cli/main.py b/core/dbt/cli/main.py index 4ebcc4722cd..80e0ed7e83c 100644 --- a/core/dbt/cli/main.py +++ b/core/dbt/cli/main.py @@ -15,15 +15,11 @@ from dbt.task.run import RunTask from dbt.task.test import TestTask from dbt.task.snapshot import SnapshotTask +from dbt.task.list import ListTask # CLI invocation def cli_runner(): - # Alias "list" to "ls" - ls = copy(cli.commands["list"]) - ls.hidden = True - cli.add_command(ls, "ls") - # Run the cli cli() @@ -155,6 +151,7 @@ def docs(ctx, **kwargs): @p.compile_docs @p.defer @p.exclude +@p.models @p.profile @p.profiles_dir @p.project_dir @@ -196,6 +193,7 @@ def docs_serve(ctx, **kwargs): @p.defer @p.exclude @p.full_refresh +@p.models @p.parse_only @p.profile @p.profiles_dir @@ -278,6 +276,7 @@ def init(ctx, **kwargs): @click.pass_context @p.exclude @p.indirect_selection +@p.models @p.output @p.output_keys @p.profile @@ -290,10 +289,21 @@ def init(ctx, **kwargs): @p.target @p.vars @requires.preflight +@requires.profile +@requires.project def list(ctx, **kwargs): """List the resources in your project""" - click.echo(f"`{inspect.stack()[0][3]}` called\n flags: {ctx.obj['flags']}") - return None, True + config = RuntimeConfig.from_parts(ctx.obj["project"], ctx.obj["profile"], ctx.obj["flags"]) + task = ListTask(ctx.obj["flags"], config) + + results = task.run() + success = task.interpret_results(results) + return results, success + + +ls = copy(cli.commands["list"]) +ls.hidden = True +cli.add_command(ls, "ls") # dbt parse @@ -323,6 +333,7 @@ def parse(ctx, **kwargs): @p.exclude @p.fail_fast @p.full_refresh +@p.models @p.profile @p.profiles_dir @p.project_dir @@ -368,6 +379,7 @@ def run_operation(ctx, **kwargs): @click.pass_context @p.exclude @p.full_refresh +@p.models @p.profile @p.profiles_dir @p.project_dir @@ -392,6 +404,7 @@ def seed(ctx, **kwargs): @click.pass_context @p.defer @p.exclude +@p.models @p.profile @p.profiles_dir @p.project_dir @@ -425,6 +438,7 @@ def source(ctx, **kwargs): @source.command("freshness") @click.pass_context @p.exclude +@p.models @p.output_path # TODO: Is this ok to re-use? We have three different output params, how much can we consolidate? @p.profile @p.profiles_dir @@ -449,6 +463,7 @@ def freshness(ctx, **kwargs): @p.exclude @p.fail_fast @p.indirect_selection +@p.models @p.profile @p.profiles_dir @p.project_dir diff --git a/core/dbt/cli/option_types.py b/core/dbt/cli/option_types.py index 1df8bef1f7a..e0294c2a096 100644 --- a/core/dbt/cli/option_types.py +++ b/core/dbt/cli/option_types.py @@ -1,4 +1,4 @@ -from click import ParamType +from click import ParamType, Choice from dbt.config.utils import parse_cli_vars from dbt.exceptions import ValidationException @@ -33,3 +33,13 @@ def convert(self, value, param, ctx): return None else: return value + + +class ChoiceTuple(Choice): + name = "CHOICE_TUPLE" + + def convert(self, value, param, ctx): + for value_item in value: + super().convert(value_item, param, ctx) + + return value diff --git a/core/dbt/cli/options.py b/core/dbt/cli/options.py new file mode 100644 index 00000000000..4ac705dc140 --- /dev/null +++ b/core/dbt/cli/options.py @@ -0,0 +1,44 @@ +import click + + +# Implementation from: https://stackoverflow.com/a/48394004 +# Note MultiOption options must be specified with type=tuple or type=ChoiceTuple (https://github.com/pallets/click/issues/2012) +class MultiOption(click.Option): + def __init__(self, *args, **kwargs): + self.save_other_options = kwargs.pop("save_other_options", True) + nargs = kwargs.pop("nargs", -1) + assert nargs == -1, "nargs, if set, must be -1 not {}".format(nargs) + super(MultiOption, self).__init__(*args, **kwargs) + self._previous_parser_process = None + self._eat_all_parser = None + + def add_to_parser(self, parser, ctx): + def parser_process(value, state): + # method to hook to the parser.process + done = False + value = [value] + if self.save_other_options: + # grab everything up to the next option + while state.rargs and not done: + for prefix in self._eat_all_parser.prefixes: + if state.rargs[0].startswith(prefix): + done = True + if not done: + value.append(state.rargs.pop(0)) + else: + # grab everything remaining + value += state.rargs + state.rargs[:] = [] + value = tuple(value) + # call the actual process + self._previous_parser_process(value, state) + + retval = super(MultiOption, self).add_to_parser(parser, ctx) + for name in self.opts: + our_parser = parser._long_opt.get(name) or parser._short_opt.get(name) + if our_parser: + self._eat_all_parser = our_parser + self._previous_parser_process = our_parser.process + our_parser.process = parser_process + break + return retval diff --git a/core/dbt/cli/params.py b/core/dbt/cli/params.py index 7795fb9d218..6173081ad75 100644 --- a/core/dbt/cli/params.py +++ b/core/dbt/cli/params.py @@ -1,7 +1,8 @@ from pathlib import Path, PurePath import click -from dbt.cli.option_types import YAML +from dbt.cli.options import MultiOption +from dbt.cli.option_types import YAML, ChoiceTuple from dbt.cli.resolvers import default_project_dir, default_profiles_dir @@ -80,7 +81,9 @@ hidden=True, ) -exclude = click.option("--exclude", envvar=None, help="Specify the nodes to exclude.") +exclude = click.option( + "--exclude", envvar=None, type=tuple, cls=MultiOption, help="Specify the nodes to exclude." +) fail_fast = click.option( "--fail-fast/--no-fail-fast", @@ -133,13 +136,22 @@ hidden=True, ) +models = click.option( + "--models", + "--model", + "-m", + envvar=None, + help="Specify the nodes to include.", + cls=MultiOption, + type=tuple, +) output = click.option( "--output", envvar=None, help="TODO: No current help text", type=click.Choice(["json", "name", "path", "selector"], case_sensitive=False), - default="name", + default="selector", ) output_keys = click.option( @@ -233,10 +245,11 @@ ) resource_type = click.option( + "--resource-types", "--resource-type", envvar=None, help="TODO: No current help text", - type=click.Choice( + type=ChoiceTuple( [ "metric", "source", @@ -251,16 +264,17 @@ ], case_sensitive=False, ), - default="default", + cls=MultiOption, + default=(), ) select = click.option( - "-m", "-s", - "select", + "--select", envvar=None, help="Specify the nodes to include.", - multiple=True, + cls=MultiOption, + type=tuple, ) selector = click.option( diff --git a/core/dbt/docs/build/doctrees/environment.pickle b/core/dbt/docs/build/doctrees/environment.pickle index 9c9eb6d15e3..71d7f331d79 100644 Binary files a/core/dbt/docs/build/doctrees/environment.pickle and b/core/dbt/docs/build/doctrees/environment.pickle differ diff --git a/core/dbt/docs/build/doctrees/index.doctree b/core/dbt/docs/build/doctrees/index.doctree index 19f1fe1cd87..19135572dd5 100644 Binary files a/core/dbt/docs/build/doctrees/index.doctree and b/core/dbt/docs/build/doctrees/index.doctree differ diff --git a/core/dbt/docs/build/html/index.html b/core/dbt/docs/build/html/index.html index 0c4438bc8ea..d0fd61a3227 100644 --- a/core/dbt/docs/build/html/index.html +++ b/core/dbt/docs/build/html/index.html @@ -59,7 +59,7 @@

defer

exclude

-

Type: string

+

Type: unknown

Specify the nodes to exclude.

@@ -94,7 +94,7 @@

project_dir

select

-

Type: string

+

Type: unknown

Specify the nodes to include.

@@ -176,7 +176,7 @@

defer

exclude

-

Type: string

+

Type: unknown

Specify the nodes to exclude.

@@ -184,6 +184,11 @@

full_refresh +

models

+

Type: unknown

+

Specify the nodes to include.

+

parse_only

Type: boolean

@@ -206,7 +211,7 @@

project_dir

select

-

Type: string

+

Type: unknown

Specify the nodes to include.

@@ -341,7 +346,7 @@

vars

exclude

-

Type: string

+

Type: unknown

Specify the nodes to exclude.

@@ -349,6 +354,11 @@

indirect_selectionType: choice: [‘eager’, ‘cautious’]

Select all tests that are adjacent to selected resources, even if they those resources have been explicitly selected.

+
+

models

+

Type: unknown

+

Specify the nodes to include.

+

output

Type: choice: [‘json’, ‘name’, ‘path’, ‘selector’]

@@ -374,14 +384,85 @@

project_dir -

resource_type

-

Type: choice: [‘metric’, ‘source’, ‘analysis’, ‘model’, ‘test’, ‘exposure’, ‘snapshot’, ‘seed’, ‘default’, ‘all’]

+
+

resource_types

+

Type: unknown

TODO: No current help text

select

+

Type: unknown

+

Specify the nodes to include.

+
+
+

selector

+

Type: string

+

The selector name to use, as defined in selectors.yml

+
+
+

state

+

Type: path

+

If set, use the given directory as the source for json files to compare with this project.

+
+
+

target

Type: string

+

Which target to load for the given profile

+
+
+

vars

+

Type: YAML

+

Supply variables to the project. This argument overrides variables defined in your dbt_project.yml file. This argument should be a YAML string, eg. ‘{my_variable: my_value}’

+
+

Command: list

+
+

exclude

+

Type: unknown

+

Specify the nodes to exclude.

+
+
+

indirect_selection

+

Type: choice: [‘eager’, ‘cautious’]

+

Select all tests that are adjacent to selected resources, even if they those resources have been explicitly selected.

+
+
+

models

+

Type: unknown

+

Specify the nodes to include.

+
+
+

output

+

Type: choice: [‘json’, ‘name’, ‘path’, ‘selector’]

+

TODO: No current help text

+
+
+

output_keys

+

Type: string

+

TODO: No current help text

+
+
+

profile

+

Type: string

+

Which profile to load. Overrides setting in dbt_project.yml.

+
+
+

profiles_dir

+

Type: path

+

Which directory to look in for the profiles.yml file. If not set, dbt will look in the current working directory first, then HOME/.dbt/

+
+
+

project_dir

+

Type: path

+

Which directory to look in for the dbt_project.yml file. Default is the current working directory and its parents.

+
+
+

resource_types

+

Type: unknown

+

TODO: No current help text

+
+
+

select

+

Type: unknown

Specify the nodes to include.

@@ -463,7 +544,7 @@

defer

exclude

-

Type: string

+

Type: unknown

Specify the nodes to exclude.

@@ -476,6 +557,11 @@

full_refresh +

models

+

Type: unknown

+

Specify the nodes to include.

+

profile

Type: string

@@ -493,7 +579,7 @@

project_dir

select

-

Type: string

+

Type: unknown

Specify the nodes to include.

@@ -565,7 +651,7 @@

vars

exclude

-

Type: string

+

Type: unknown

Specify the nodes to exclude.

@@ -573,6 +659,11 @@

full_refresh +

models

+

Type: unknown

+

Specify the nodes to include.

+

profile

Type: string

@@ -590,7 +681,7 @@

project_dir

select

-

Type: string

+

Type: unknown

Specify the nodes to include.

@@ -641,9 +732,14 @@

defer

exclude

-

Type: string

+

Type: unknown

Specify the nodes to exclude.

+
+

models

+

Type: unknown

+

Specify the nodes to include.

+

profile

Type: string

@@ -661,7 +757,7 @@

project_dir

select

-

Type: string

+

Type: unknown

Specify the nodes to include.

@@ -698,7 +794,7 @@

defer

exclude

-

Type: string

+

Type: unknown

Specify the nodes to exclude.

@@ -711,6 +807,11 @@

indirect_selectionType: choice: [‘eager’, ‘cautious’]

Select all tests that are adjacent to selected resources, even if they those resources have been explicitly selected.

+
+

models

+

Type: unknown

+

Specify the nodes to include.

+

profile

Type: string

@@ -728,7 +829,7 @@

project_dir

select

-

Type: string

+

Type: unknown

Specify the nodes to include.

diff --git a/core/dbt/docs/build/html/searchindex.js b/core/dbt/docs/build/html/searchindex.js index 0555d3c1848..3ed297346d9 100644 --- a/core/dbt/docs/build/html/searchindex.js +++ b/core/dbt/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index"], "filenames": ["index.rst"], "titles": ["dbt-core\u2019s API documentation"], "terms": {"right": 0, "now": 0, "best": 0, "wai": 0, "from": 0, "i": 0, "us": 0, "dbtrunner": 0, "we": 0, "expos": 0, "you": 0, "can": 0, "also": 0, "pass": 0, "pre": 0, "construct": 0, "object": 0, "those": 0, "instead": 0, "load": 0, "up": 0, "disk": 0, "preload": 0, "project": 0, "load_profil": 0, "postgr": 0, "load_project": 0, "fals": 0, "initi": 0, "runner": 0, "thi": 0, "re": 0, "success": 0, "cli_arg": 0, "For": 0, "full": 0, "exampl": 0, "code": 0, "refer": 0, "cli": 0, "py": 0, "type": 0, "boolean": 0, "If": 0, "set": 0, "variabl": 0, "resolv": 0, "unselect": 0, "node": 0, "string": 0, "specifi": 0, "stop": 0, "execut": 0, "first": 0, "failur": 0, "drop": 0, "increment": 0, "model": 0, "fulli": 0, "recalcul": 0, "tabl": 0, "definit": 0, "choic": 0, "eager": 0, "cautiou": 0, "all": 0, "ar": 0, "adjac": 0, "resourc": 0, "even": 0, "thei": 0, "have": 0, "been": 0, "explicitli": 0, "which": 0, "overrid": 0, "dbt_project": 0, "yml": 0, "path": 0, "directori": 0, "look": 0, "file": 0, "current": 0, "work": 0, "home": 0, "default": 0, "its": 0, "parent": 0, "includ": 0, "The": 0, "name": 0, "defin": 0, "sampl": 0, "data": 0, "termin": 0, "given": 0, "json": 0, "compar": 0, "store": 0, "result": 0, "fail": 0, "row": 0, "databas": 0, "configur": 0, "onli": 0, "appli": 0, "dbt_target_path": 0, "int": 0, "number": 0, "while": 0, "yaml": 0, "suppli": 0, "argument": 0, "your": 0, "should": 0, "eg": 0, "my_vari": 0, "my_valu": 0, "ensur": 0, "version": 0, "match": 0, "one": 0, "requir": 0, "todo": 0, "No": 0, "help": 0, "text": 0, "avail": 0, "inform": 0, "skip": 0, "inter": 0, "setup": 0, "metric": 0, "analysi": 0, "exposur": 0, "macro": 0, "dictionari": 0, "map": 0, "keyword": 0}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"dbt": 0, "core": 0, "": 0, "api": 0, "document": 0, "how": 0, "invok": 0, "command": 0, "python": 0, "runtim": 0, "build": 0, "defer": 0, "exclud": 0, "fail_fast": 0, "full_refresh": 0, "indirect_select": 0, "profil": 0, "profiles_dir": 0, "project_dir": 0, "select": 0, "selector": 0, "show": 0, "state": 0, "store_failur": 0, "target": 0, "target_path": 0, "thread": 0, "var": 0, "version_check": 0, "clean": 0, "compil": 0, "parse_onli": 0, "debug": 0, "config_dir": 0, "dep": 0, "doc": 0, "init": 0, "skip_profile_setup": 0, "list": 0, "output": 0, "output_kei": 0, "resource_typ": 0, "pars": 0, "write_manifest": 0, "run": 0, "run_oper": 0, "arg": 0, "seed": 0, "snapshot": 0, "sourc": 0, "test": 0}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"dbt-core\u2019s API documentation": [[0, "dbt-core-s-api-documentation"]], "How to invoke dbt commands in python runtime": [[0, "how-to-invoke-dbt-commands-in-python-runtime"]], "API documentation": [[0, "api-documentation"]], "Command: build": [[0, "dbt-section"]], "defer": [[0, "build|defer"], [0, "compile|defer"], [0, "run|defer"], [0, "snapshot|defer"], [0, "test|defer"]], "exclude": [[0, "build|exclude"], [0, "compile|exclude"], [0, "list|exclude"], [0, "run|exclude"], [0, "seed|exclude"], [0, "snapshot|exclude"], [0, "test|exclude"]], "fail_fast": [[0, "build|fail_fast"], [0, "run|fail_fast"], [0, "test|fail_fast"]], "full_refresh": [[0, "build|full_refresh"], [0, "compile|full_refresh"], [0, "run|full_refresh"], [0, "seed|full_refresh"]], "indirect_selection": [[0, "build|indirect_selection"], [0, "list|indirect_selection"], [0, "test|indirect_selection"]], "profile": [[0, "build|profile"], [0, "clean|profile"], [0, "compile|profile"], [0, "debug|profile"], [0, "deps|profile"], [0, "init|profile"], [0, "list|profile"], [0, "parse|profile"], [0, "run|profile"], [0, "run-operation|profile"], [0, "seed|profile"], [0, "snapshot|profile"], [0, "test|profile"]], "profiles_dir": [[0, "build|profiles_dir"], [0, "clean|profiles_dir"], [0, "compile|profiles_dir"], [0, "debug|profiles_dir"], [0, "deps|profiles_dir"], [0, "init|profiles_dir"], [0, "list|profiles_dir"], [0, "parse|profiles_dir"], [0, "run|profiles_dir"], [0, "run-operation|profiles_dir"], [0, "seed|profiles_dir"], [0, "snapshot|profiles_dir"], [0, "test|profiles_dir"]], "project_dir": [[0, "build|project_dir"], [0, "clean|project_dir"], [0, "compile|project_dir"], [0, "debug|project_dir"], [0, "deps|project_dir"], [0, "init|project_dir"], [0, "list|project_dir"], [0, "parse|project_dir"], [0, "run|project_dir"], [0, "run-operation|project_dir"], [0, "seed|project_dir"], [0, "snapshot|project_dir"], [0, "test|project_dir"]], "select": [[0, "build|select"], [0, "compile|select"], [0, "list|select"], [0, "run|select"], [0, "seed|select"], [0, "snapshot|select"], [0, "test|select"]], "selector": [[0, "build|selector"], [0, "compile|selector"], [0, "list|selector"], [0, "run|selector"], [0, "seed|selector"], [0, "snapshot|selector"], [0, "test|selector"]], "show": [[0, "build|show"], [0, "seed|show"]], "state": [[0, "build|state"], [0, "compile|state"], [0, "list|state"], [0, "run|state"], [0, "seed|state"], [0, "snapshot|state"], [0, "test|state"]], "store_failures": [[0, "build|store_failures"], [0, "test|store_failures"]], "target": [[0, "build|target"], [0, "clean|target"], [0, "compile|target"], [0, "debug|target"], [0, "deps|target"], [0, "init|target"], [0, "list|target"], [0, "parse|target"], [0, "run|target"], [0, "run-operation|target"], [0, "seed|target"], [0, "snapshot|target"], [0, "test|target"]], "target_path": [[0, "build|target_path"], [0, "compile|target_path"], [0, "parse|target_path"], [0, "run|target_path"], [0, "seed|target_path"], [0, "test|target_path"]], "threads": [[0, "build|threads"], [0, "compile|threads"], [0, "parse|threads"], [0, "run|threads"], [0, "seed|threads"], [0, "snapshot|threads"], [0, "test|threads"]], "vars": [[0, "build|vars"], [0, "clean|vars"], [0, "compile|vars"], [0, "debug|vars"], [0, "deps|vars"], [0, "init|vars"], [0, "list|vars"], [0, "parse|vars"], [0, "run|vars"], [0, "run-operation|vars"], [0, "seed|vars"], [0, "snapshot|vars"], [0, "test|vars"]], "version_check": [[0, "build|version_check"], [0, "compile|version_check"], [0, "debug|version_check"], [0, "parse|version_check"], [0, "run|version_check"], [0, "seed|version_check"], [0, "test|version_check"]], "Command: clean": [[0, "dbt-section"]], "Command: compile": [[0, "dbt-section"]], "parse_only": [[0, "compile|parse_only"]], "Command: debug": [[0, "dbt-section"]], "config_dir": [[0, "debug|config_dir"]], "Command: deps": [[0, "dbt-section"]], "Command: docs": [[0, "dbt-section"]], "Command: init": [[0, "dbt-section"]], "skip_profile_setup": [[0, "init|skip_profile_setup"]], "Command: list": [[0, "dbt-section"]], "output": [[0, "list|output"]], "output_keys": [[0, "list|output_keys"]], "resource_type": [[0, "list|resource_type"]], "Command: parse": [[0, "dbt-section"]], "compile": [[0, "parse|compile"]], "write_manifest": [[0, "parse|write_manifest"]], "Command: run": [[0, "dbt-section"]], "Command: run_operation": [[0, "dbt-section"]], "args": [[0, "run-operation|args"]], "Command: seed": [[0, "dbt-section"]], "Command: snapshot": [[0, "dbt-section"]], "Command: source": [[0, "dbt-section"]], "Command: test": [[0, "dbt-section"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["index"], "filenames": ["index.rst"], "titles": ["dbt-core\u2019s API documentation"], "terms": {"right": 0, "now": 0, "best": 0, "wai": 0, "from": 0, "i": 0, "us": 0, "dbtrunner": 0, "we": 0, "expos": 0, "you": 0, "can": 0, "also": 0, "pass": 0, "pre": 0, "construct": 0, "object": 0, "those": 0, "instead": 0, "load": 0, "up": 0, "disk": 0, "preload": 0, "project": 0, "load_profil": 0, "postgr": 0, "load_project": 0, "fals": 0, "initi": 0, "runner": 0, "thi": 0, "re": 0, "success": 0, "cli_arg": 0, "For": 0, "full": 0, "exampl": 0, "code": 0, "refer": 0, "cli": 0, "py": 0, "type": 0, "boolean": 0, "If": 0, "set": 0, "variabl": 0, "resolv": 0, "unselect": 0, "node": 0, "unknown": 0, "specifi": 0, "stop": 0, "execut": 0, "first": 0, "failur": 0, "drop": 0, "increment": 0, "fulli": 0, "recalcul": 0, "tabl": 0, "definit": 0, "choic": 0, "eager": 0, "cautiou": 0, "all": 0, "ar": 0, "adjac": 0, "resourc": 0, "even": 0, "thei": 0, "have": 0, "been": 0, "explicitli": 0, "string": 0, "which": 0, "overrid": 0, "dbt_project": 0, "yml": 0, "path": 0, "directori": 0, "look": 0, "file": 0, "current": 0, "work": 0, "home": 0, "default": 0, "its": 0, "parent": 0, "includ": 0, "The": 0, "name": 0, "defin": 0, "sampl": 0, "data": 0, "termin": 0, "given": 0, "json": 0, "compar": 0, "store": 0, "result": 0, "fail": 0, "row": 0, "databas": 0, "configur": 0, "onli": 0, "appli": 0, "dbt_target_path": 0, "int": 0, "number": 0, "while": 0, "yaml": 0, "suppli": 0, "argument": 0, "your": 0, "should": 0, "eg": 0, "my_vari": 0, "my_valu": 0, "ensur": 0, "version": 0, "match": 0, "one": 0, "requir": 0, "todo": 0, "No": 0, "help": 0, "text": 0, "avail": 0, "inform": 0, "skip": 0, "inter": 0, "setup": 0, "macro": 0, "dictionari": 0, "map": 0, "keyword": 0}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"dbt": 0, "core": 0, "": 0, "api": 0, "document": 0, "how": 0, "invok": 0, "command": 0, "python": 0, "runtim": 0, "build": 0, "defer": 0, "exclud": 0, "fail_fast": 0, "full_refresh": 0, "indirect_select": 0, "profil": 0, "profiles_dir": 0, "project_dir": 0, "select": 0, "selector": 0, "show": 0, "state": 0, "store_failur": 0, "target": 0, "target_path": 0, "thread": 0, "var": 0, "version_check": 0, "clean": 0, "compil": 0, "model": 0, "parse_onli": 0, "debug": 0, "config_dir": 0, "dep": 0, "doc": 0, "init": 0, "skip_profile_setup": 0, "list": 0, "output": 0, "output_kei": 0, "resource_typ": 0, "pars": 0, "write_manifest": 0, "run": 0, "run_oper": 0, "arg": 0, "seed": 0, "snapshot": 0, "sourc": 0, "test": 0}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"dbt-core\u2019s API documentation": [[0, "dbt-core-s-api-documentation"]], "How to invoke dbt commands in python runtime": [[0, "how-to-invoke-dbt-commands-in-python-runtime"]], "API documentation": [[0, "api-documentation"]], "Command: build": [[0, "dbt-section"]], "defer": [[0, "build|defer"], [0, "compile|defer"], [0, "run|defer"], [0, "snapshot|defer"], [0, "test|defer"]], "exclude": [[0, "build|exclude"], [0, "compile|exclude"], [0, "list|exclude"], [0, "list|exclude"], [0, "run|exclude"], [0, "seed|exclude"], [0, "snapshot|exclude"], [0, "test|exclude"]], "fail_fast": [[0, "build|fail_fast"], [0, "run|fail_fast"], [0, "test|fail_fast"]], "full_refresh": [[0, "build|full_refresh"], [0, "compile|full_refresh"], [0, "run|full_refresh"], [0, "seed|full_refresh"]], "indirect_selection": [[0, "build|indirect_selection"], [0, "list|indirect_selection"], [0, "list|indirect_selection"], [0, "test|indirect_selection"]], "profile": [[0, "build|profile"], [0, "clean|profile"], [0, "compile|profile"], [0, "debug|profile"], [0, "deps|profile"], [0, "init|profile"], [0, "list|profile"], [0, "list|profile"], [0, "parse|profile"], [0, "run|profile"], [0, "run-operation|profile"], [0, "seed|profile"], [0, "snapshot|profile"], [0, "test|profile"]], "profiles_dir": [[0, "build|profiles_dir"], [0, "clean|profiles_dir"], [0, "compile|profiles_dir"], [0, "debug|profiles_dir"], [0, "deps|profiles_dir"], [0, "init|profiles_dir"], [0, "list|profiles_dir"], [0, "list|profiles_dir"], [0, "parse|profiles_dir"], [0, "run|profiles_dir"], [0, "run-operation|profiles_dir"], [0, "seed|profiles_dir"], [0, "snapshot|profiles_dir"], [0, "test|profiles_dir"]], "project_dir": [[0, "build|project_dir"], [0, "clean|project_dir"], [0, "compile|project_dir"], [0, "debug|project_dir"], [0, "deps|project_dir"], [0, "init|project_dir"], [0, "list|project_dir"], [0, "list|project_dir"], [0, "parse|project_dir"], [0, "run|project_dir"], [0, "run-operation|project_dir"], [0, "seed|project_dir"], [0, "snapshot|project_dir"], [0, "test|project_dir"]], "select": [[0, "build|select"], [0, "compile|select"], [0, "list|select"], [0, "list|select"], [0, "run|select"], [0, "seed|select"], [0, "snapshot|select"], [0, "test|select"]], "selector": [[0, "build|selector"], [0, "compile|selector"], [0, "list|selector"], [0, "list|selector"], [0, "run|selector"], [0, "seed|selector"], [0, "snapshot|selector"], [0, "test|selector"]], "show": [[0, "build|show"], [0, "seed|show"]], "state": [[0, "build|state"], [0, "compile|state"], [0, "list|state"], [0, "list|state"], [0, "run|state"], [0, "seed|state"], [0, "snapshot|state"], [0, "test|state"]], "store_failures": [[0, "build|store_failures"], [0, "test|store_failures"]], "target": [[0, "build|target"], [0, "clean|target"], [0, "compile|target"], [0, "debug|target"], [0, "deps|target"], [0, "init|target"], [0, "list|target"], [0, "list|target"], [0, "parse|target"], [0, "run|target"], [0, "run-operation|target"], [0, "seed|target"], [0, "snapshot|target"], [0, "test|target"]], "target_path": [[0, "build|target_path"], [0, "compile|target_path"], [0, "parse|target_path"], [0, "run|target_path"], [0, "seed|target_path"], [0, "test|target_path"]], "threads": [[0, "build|threads"], [0, "compile|threads"], [0, "parse|threads"], [0, "run|threads"], [0, "seed|threads"], [0, "snapshot|threads"], [0, "test|threads"]], "vars": [[0, "build|vars"], [0, "clean|vars"], [0, "compile|vars"], [0, "debug|vars"], [0, "deps|vars"], [0, "init|vars"], [0, "list|vars"], [0, "list|vars"], [0, "parse|vars"], [0, "run|vars"], [0, "run-operation|vars"], [0, "seed|vars"], [0, "snapshot|vars"], [0, "test|vars"]], "version_check": [[0, "build|version_check"], [0, "compile|version_check"], [0, "debug|version_check"], [0, "parse|version_check"], [0, "run|version_check"], [0, "seed|version_check"], [0, "test|version_check"]], "Command: clean": [[0, "dbt-section"]], "Command: compile": [[0, "dbt-section"]], "models": [[0, "compile|models"], [0, "list|models"], [0, "list|models"], [0, "run|models"], [0, "seed|models"], [0, "snapshot|models"], [0, "test|models"]], "parse_only": [[0, "compile|parse_only"]], "Command: debug": [[0, "dbt-section"]], "config_dir": [[0, "debug|config_dir"]], "Command: deps": [[0, "dbt-section"]], "Command: docs": [[0, "dbt-section"]], "Command: init": [[0, "dbt-section"]], "skip_profile_setup": [[0, "init|skip_profile_setup"]], "Command: list": [[0, "dbt-section"], [0, "dbt-section"]], "output": [[0, "list|output"], [0, "list|output"]], "output_keys": [[0, "list|output_keys"], [0, "list|output_keys"]], "resource_types": [[0, "list|resource_types"], [0, "list|resource_types"]], "Command: parse": [[0, "dbt-section"]], "compile": [[0, "parse|compile"]], "write_manifest": [[0, "parse|write_manifest"]], "Command: run": [[0, "dbt-section"]], "Command: run_operation": [[0, "dbt-section"]], "args": [[0, "run-operation|args"]], "Command: seed": [[0, "dbt-section"]], "Command: snapshot": [[0, "dbt-section"]], "Command: source": [[0, "dbt-section"]], "Command: test": [[0, "dbt-section"]]}, "indexentries": {}}) \ No newline at end of file