From 0bf38ce294e21c6e4056ed36ba8f35538c10604a Mon Sep 17 00:00:00 2001 From: Emily Rockman Date: Tue, 24 Dec 2024 11:18:26 -0600 Subject: [PATCH] Revert "Fix circular import (#11137)" (#11175) This reverts commit 95c090bed0b745c272a977d11fc248168e94bb25. --- .changes/unreleased/Fixes-20241211-132203.yaml | 6 ------ core/dbt/cli/__init__.py | 1 + core/dbt/config/profile.py | 10 +++++++++- 3 files changed, 10 insertions(+), 7 deletions(-) delete mode 100644 .changes/unreleased/Fixes-20241211-132203.yaml diff --git a/.changes/unreleased/Fixes-20241211-132203.yaml b/.changes/unreleased/Fixes-20241211-132203.yaml deleted file mode 100644 index de936fbdd47..00000000000 --- a/.changes/unreleased/Fixes-20241211-132203.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixes -body: Fix circular dependency -time: 2024-12-11T13:22:03.637443979-08:00 -custom: - Author: dradetsky - Issue: 11142 diff --git a/core/dbt/cli/__init__.py b/core/dbt/cli/__init__.py index e69de29bb2d..8dc5c408aa2 100644 --- a/core/dbt/cli/__init__.py +++ b/core/dbt/cli/__init__.py @@ -0,0 +1 @@ +from .main import cli as dbt_cli # noqa diff --git a/core/dbt/config/profile.py b/core/dbt/config/profile.py index f4bee703154..ada7f30711c 100644 --- a/core/dbt/config/profile.py +++ b/core/dbt/config/profile.py @@ -3,7 +3,6 @@ from typing import Any, Dict, Optional, Tuple from dbt.adapters.contracts.connection import Credentials, HasCredentials -from dbt.cli.resolvers import default_profiles_dir from dbt.clients.yaml_helper import load_yaml_text from dbt.contracts.project import ProfileConfig from dbt.events.types import MissingProfileTarget @@ -165,6 +164,15 @@ def pick_profile_name( args_profile_name: Optional[str], project_profile_name: Optional[str] = None, ) -> str: + # TODO: Duplicating this method as direct copy of the implementation in dbt.cli.resolvers + # dbt.cli.resolvers implementation can't be used because it causes a circular dependency. + # This should be removed and use a safe default access on the Flags module when + # https://github.com/dbt-labs/dbt-core/issues/6259 is closed. + def default_profiles_dir(): + from pathlib import Path + + return Path.cwd() if (Path.cwd() / "profiles.yml").exists() else Path.home() / ".dbt" + profile_name = project_profile_name if args_profile_name is not None: profile_name = args_profile_name