prefect_dbt.cli.commands
Module containing tasks and flows for interacting with dbt CLI
Functions
atrigger_dbt_cli_command
trigger_dbt_cli_command
command: The dbt command to be executed.profiles_dir: The directory to search for the profiles.yml file. Setting this appends the--profiles-diroption to the command provided. If this is not set, will try using the DBT_PROFILES_DIR environment variable, but if that’s also not set, will use the default directory$HOME/.dbt/.project_dir: The directory to search for the dbt_project.yml file. Default is the current working directory and its parents.overwrite_profiles: Whether the existing profiles.yml file under profiles_dir should be overwritten with a new profile.dbt_cli_profile: Profiles class containing the profile written to profiles.yml. Note! This is optional and will raise an error if profiles.yml already exists under profile_dir and overwrite_profiles is set to False.create_summary_artifact: If True, creates a Prefect artifact on the task run with the dbt results using the specified artifact key. Defaults to False.summary_artifact_key: The key under which to store the dbt results artifact in Prefect. Defaults to ‘dbt-cli-command-summary’.extra_command_args: Additional command arguments to pass to the dbt command. These arguments get appended to the command that gets passed to the dbtRunner client. Example: extra_command_args=[“—model”, “foo_model”]stream_output: If True, the output from the dbt command will be logged in Prefect as it happens. Defaults to True.
- The result from the dbt CLI invocation.
dbt debug with a pre-populated profiles.yml.
arun_dbt_build
run_dbt_build
profiles_dir: The directory to search for the profiles.yml file. Setting this appends the--profiles-diroption to the command provided. If this is not set, will try using the DBT_PROFILES_DIR env variable, but if that’s also not set, will use the default directory$HOME/.dbt/.project_dir: The directory to search for the dbt_project.yml file. Default is the current working directory and its parents.overwrite_profiles: Whether the existing profiles.yml file under profiles_dir should be overwritten with a new profile.dbt_cli_profile: Profiles class containing the profile written to profiles.yml. Note! This is optional and will raise an error if profiles.yml already exists under profile_dir and overwrite_profiles is set to False.create_summary_artifact: If True, creates a Prefect artifact on the task run with the dbt build results using the specified artifact key. Defaults to False.summary_artifact_key: The key under which to store the dbt build results artifact in Prefect. Defaults to ‘dbt-build-task-summary’.extra_command_args: Additional command arguments to pass to the dbt build command.stream_output: If True, the output from the dbt command will be logged in Prefect as it happens. Defaults to True.
ValueError: If required dbt_cli_profile is not provided when needed for profile writing.RuntimeError: If the dbt build fails for any reason, it will be indicated by the exception raised.
arun_dbt_model
run_dbt_model
profiles_dir: The directory to search for the profiles.yml file. Setting this appends the--profiles-diroption to the command provided. If this is not set, will try using the DBT_PROFILES_DIR env variable, but if that’s also not set, will use the default directory$HOME/.dbt/.project_dir: The directory to search for the dbt_project.yml file. Default is the current working directory and its parents.overwrite_profiles: Whether the existing profiles.yml file under profiles_dir should be overwritten with a new profile.dbt_cli_profile: Profiles class containing the profile written to profiles.yml. Note! This is optional and will raise an error if profiles.yml already exists under profile_dir and overwrite_profiles is set to False.create_summary_artifact: If True, creates a Prefect artifact on the task run with the dbt model run results using the specified artifact key. Defaults to False.summary_artifact_key: The key under which to store the dbt model run results artifact in Prefect. Defaults to ‘dbt-run-task-summary’.extra_command_args: Additional command arguments to pass to the dbt run command.stream_output: If True, the output from the dbt command will be logged in Prefect as it happens. Defaults to True.
ValueError: If required dbt_cli_profile is not provided when needed for profile writing.RuntimeError: If the dbt build fails for any reason, it will be indicated by the exception raised.
arun_dbt_test
run_dbt_test
profiles_dir: The directory to search for the profiles.yml file. Setting this appends the--profiles-diroption to the command provided. If this is not set, will try using the DBT_PROFILES_DIR env variable, but if that’s also not set, will use the default directory$HOME/.dbt/.project_dir: The directory to search for the dbt_project.yml file. Default is the current working directory and its parents.overwrite_profiles: Whether the existing profiles.yml file under profiles_dir should be overwritten with a new profile.dbt_cli_profile: Profiles class containing the profile written to profiles.yml. Note! This is optional and will raise an error if profiles.yml already exists under profile_dir and overwrite_profiles is set to False.create_summary_artifact: If True, creates a Prefect artifact on the task run with the dbt test results using the specified artifact key. Defaults to False.summary_artifact_key: The key under which to store the dbt test results artifact in Prefect. Defaults to ‘dbt-test-task-summary’.extra_command_args: Additional command arguments to pass to the dbt test command.stream_output: If True, the output from the dbt command will be logged in Prefect as it happens. Defaults to True.
ValueError: If required dbt_cli_profile is not provided when needed for profile writing.RuntimeError: If the dbt build fails for any reason, it will be indicated by the exception raised.
arun_dbt_snapshot
run_dbt_snapshot
profiles_dir: The directory to search for the profiles.yml file. Setting this appends the--profiles-diroption to the command provided. If this is not set, will try using the DBT_PROFILES_DIR env variable, but if that’s also not set, will use the default directory$HOME/.dbt/.project_dir: The directory to search for the dbt_project.yml file. Default is the current working directory and its parents.overwrite_profiles: Whether the existing profiles.yml file under profiles_dir should be overwritten with a new profile.dbt_cli_profile: Profiles class containing the profile written to profiles.yml. Note! This is optional and will raise an error if profiles.yml already exists under profile_dir and overwrite_profiles is set to False.create_summary_artifact: If True, creates a Prefect artifact on the task run with the dbt snapshot results using the specified artifact key. Defaults to False.summary_artifact_key: The key under which to store the dbt snapshot results artifact in Prefect. Defaults to ‘dbt-snapshot-task-summary’.extra_command_args: Additional command arguments to pass to the dbt snapshot command.stream_output: If True, the output from the dbt command will be logged in Prefect as it happens. Defaults to True.
ValueError: If required dbt_cli_profile is not provided when needed for profile writing.RuntimeError: If the dbt build fails for any reason, it will be indicated by the exception raised.
arun_dbt_seed
run_dbt_seed
profiles_dir: The directory to search for the profiles.yml file. Setting this appends the--profiles-diroption to the command provided. If this is not set, will try using the DBT_PROFILES_DIR env variable, but if that’s also not set, will use the default directory$HOME/.dbt/.project_dir: The directory to search for the dbt_project.yml file. Default is the current working directory and its parents.overwrite_profiles: Whether the existing profiles.yml file under profiles_dir should be overwritten with a new profile.dbt_cli_profile: Profiles class containing the profile written to profiles.yml. Note! This is optional and will raise an error if profiles.yml already exists under profile_dir and overwrite_profiles is set to False.create_summary_artifact: If True, creates a Prefect artifact on the task run with the dbt seed results using the specified artifact key. Defaults to False.summary_artifact_key: The key under which to store the dbt seed results artifact in Prefect. Defaults to ‘dbt-seed-task-summary’.extra_command_args: Additional command arguments to pass to the dbt seed command.stream_output: If True, the output from the dbt command will be logged in Prefect as it happens. Defaults to True.
ValueError: If required dbt_cli_profile is not provided when needed for profile writing.RuntimeError: If the dbt build fails for any reason, it will be indicated by the exception raised.
arun_dbt_source_freshness
run_dbt_source_freshness
profiles_dir: The directory to search for the profiles.yml file. Setting this appends the--profiles-diroption to the command provided. If this is not set, will try using the DBT_PROFILES_DIR env variable, but if that’s also not set, will use the default directory$HOME/.dbt/.project_dir: The directory to search for the dbt_project.yml file. Default is the current working directory and its parents.overwrite_profiles: Whether the existing profiles.yml file under profiles_dir should be overwritten with a new profile.dbt_cli_profile: Profiles class containing the profile written to profiles.yml. Note! This is optional and will raise an error if profiles.yml already exists under profile_dir and overwrite_profiles is set to False.create_summary_artifact: If True, creates a Prefect artifact on the task run with the dbt source freshness results using the specified artifact key. Defaults to False.summary_artifact_key: The key under which to store the dbt source freshness results artifact in Prefect. Defaults to ‘dbt-source-freshness-task-summary’.extra_command_args: Additional command arguments to pass to the dbt source freshness command.stream_output: If True, the output from the dbt command will be logged in Prefect as it happens. Defaults to True.
ValueError: If required dbt_cli_profile is not provided when needed for profile writing.RuntimeError: If the dbt build fails for any reason, it will be indicated by the exception raised.
create_summary_markdown
consolidate_run_results
Classes
DbtCoreOperation
A block representing a dbt operation, containing multiple dbt and shell commands.
For long-lasting operations, use the trigger method and utilize the block as a
context manager for automatic closure of processes when context is exited.
If not, manually call the close method to close processes.
For short-lasting operations, use the run method. Context is automatically managed
with this method.
Attributes:
commands: A list of commands to execute sequentially.stream_output: Whether to stream output.env: A dictionary of environment variables to set for the shell operation.working_dir: The working directory context the commands will be executed within.shell: The shell to use to execute the commands.extension: The extension to use for the temporary file. if unset defaults to.ps1on Windows and.shon other platforms.profiles_dir: The directory to search for the profiles.yml file. Setting this appends the--profiles-diroption to the dbt commands provided. If this is not set, will try using the DBT_PROFILES_DIR environment variable, but if that’s also not set, will use the default directory$HOME/.dbt/.project_dir: The directory to search for the dbt_project.yml file. Default is the current working directory and its parents.overwrite_profiles: Whether the existing profiles.yml file under profiles_dir should be overwritten with a new profile.dbt_cli_profile: Profiles class containing the profile written to profiles.yml. Note! This is optional and will raise an error if profiles.yml already exists under profile_dir and overwrite_profiles is set to False.