From 95c090bed0b745c272a977d11fc248168e94bb25 Mon Sep 17 00:00:00 2001 From: dmr Date: Thu, 19 Dec 2024 20:45:42 +0000 Subject: [PATCH] Fix circular import (#11137) Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> --- .changes/unreleased/Fixes-20241211-132203.yaml | 6 ++++++ core/dbt/cli/__init__.py | 1 - core/dbt/config/profile.py | 10 +--------- 3 files changed, 7 insertions(+), 10 deletions(-) create mode 100644 .changes/unreleased/Fixes-20241211-132203.yaml diff --git a/.changes/unreleased/Fixes-20241211-132203.yaml b/.changes/unreleased/Fixes-20241211-132203.yaml new file mode 100644 index 00000000000..de936fbdd47 --- /dev/null +++ b/.changes/unreleased/Fixes-20241211-132203.yaml @@ -0,0 +1,6 @@ +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 8dc5c408aa2..e69de29bb2d 100644 --- a/core/dbt/cli/__init__.py +++ b/core/dbt/cli/__init__.py @@ -1 +0,0 @@ -from .main import cli as dbt_cli # noqa diff --git a/core/dbt/config/profile.py b/core/dbt/config/profile.py index ada7f30711c..f4bee703154 100644 --- a/core/dbt/config/profile.py +++ b/core/dbt/config/profile.py @@ -3,6 +3,7 @@ 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 @@ -164,15 +165,6 @@ 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