DBT Project

class dbt_llm_tools.DbtProject(dbt_project_root: str, database_path: str = '.local_storage/db.json')[source]

A class representing a DBT project.

get_models(models: list[str] | None = None, included_folders: list[str] | None = None, excluded_folders: list[str] | None = None)[source]

Get a list of models based on the provided filters.

Args:

models (list, optional): A list of model names to get. included_folders (list, optional): A list of folders to include in the search for sql or yaml files. excluded_folders (list, optional): A list of folders to exclude from the search for sql or yaml files.

Returns:

list: A list of DbtModel objects.

get_single_model(model_name: str) DbtModelDirectoryEntry | None[source]

Get a single model by name.

Args:

model_name (str): The name of the model to get.

Returns:

dict: The model object.

parse() DbtProjectDirectory[source]

Parse the dbt project and store details in a manifest file.

Returns:

dict: The parsed directory.

update_model_directory(model: dict)[source]

Update a model in the directory.

Args:

model (dict): The model to update.