From 0801ecca3aa20c063ed802d17b6a0a80121543d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Saugat=20Pachhai=20=28=E0=A4=B8=E0=A5=8C=E0=A4=97=E0=A4=BE?= =?UTF-8?q?=E0=A4=A4=29?= Date: Sat, 23 Mar 2024 19:52:07 +0545 Subject: [PATCH] sort imports for all libraries starting with dvc_ as a first party dvc_studio_client, dvc_ssh, etc. were not properly sorted. --- dvc/commands/studio.py | 3 +-- dvc/fs/__init__.py | 3 +-- dvc/repo/artifacts.py | 3 +-- dvc/repo/experiments/executor/base.py | 3 +-- dvc/repo/experiments/queue/base.py | 2 +- pyproject.toml | 2 +- tests/integration/test_studio_live_experiments.py | 2 +- tests/remotes/git_server.py | 1 + tests/unit/command/test_studio.py | 2 +- tests/unit/fs/test_fs.py | 6 +++--- tests/unit/output/test_load.py | 2 +- tests/unit/remote/test_remote.py | 4 ++-- tests/unit/remote/test_webdav.py | 2 +- tests/unit/remote/test_webhdfs.py | 1 + 14 files changed, 17 insertions(+), 19 deletions(-) diff --git a/dvc/commands/studio.py b/dvc/commands/studio.py index 90c910d4fa..2f38dea41a 100644 --- a/dvc/commands/studio.py +++ b/dvc/commands/studio.py @@ -13,11 +13,10 @@ class CmdStudioLogin(CmdConfig): def run(self): - from dvc_studio_client.auth import StudioAuthError, get_access_token - from dvc.env import DVC_STUDIO_URL from dvc.ui import ui from dvc.utils.studio import STUDIO_URL + from dvc_studio_client.auth import StudioAuthError, get_access_token name = self.args.name hostname = self.args.hostname or os.environ.get(DVC_STUDIO_URL) or STUDIO_URL diff --git a/dvc/fs/__init__.py b/dvc/fs/__init__.py index 53812359e9..98464e5908 100644 --- a/dvc/fs/__init__.py +++ b/dvc/fs/__init__.py @@ -1,10 +1,9 @@ from typing import Optional from urllib.parse import urlparse -from dvc_http import HTTPFileSystem, HTTPSFileSystem # noqa: F401 - from dvc.config import ConfigError as RepoConfigError from dvc.config_schema import SCHEMA, Invalid +from dvc_http import HTTPFileSystem, HTTPSFileSystem # noqa: F401 # pylint: disable=unused-import from dvc_objects.fs import ( # noqa: F401 diff --git a/dvc/repo/artifacts.py b/dvc/repo/artifacts.py index 8e9807dcdc..3b0bc243ea 100644 --- a/dvc/repo/artifacts.py +++ b/dvc/repo/artifacts.py @@ -200,10 +200,9 @@ def _download_studio( dvc_studio_config: Optional[dict[str, Any]] = None, **kwargs, ) -> tuple[int, str]: - from dvc_studio_client.model_registry import get_download_uris - from dvc.fs import HTTPFileSystem, generic, localfs from dvc.fs.callbacks import TqdmCallback + from dvc_studio_client.model_registry import get_download_uris logger.debug("Trying to download artifact '%s' via studio", name) out = out or os.getcwd() diff --git a/dvc/repo/experiments/executor/base.py b/dvc/repo/experiments/executor/base.py index 64b670c800..2367e6ab58 100644 --- a/dvc/repo/experiments/executor/base.py +++ b/dvc/repo/experiments/executor/base.py @@ -585,9 +585,8 @@ def _repro_dvc( message: Optional[str] = None, **kwargs, ) -> Iterator["Repo"]: - from dvc_studio_client.post_live_metrics import post_live_metrics - from dvc.repo import Repo + from dvc_studio_client.post_live_metrics import post_live_metrics with Repo(os.path.join(info.root_dir, info.dvc_dir)) as dvc: info.status = TaskStatus.RUNNING diff --git a/dvc/repo/experiments/queue/base.py b/dvc/repo/experiments/queue/base.py index 742b11348b..d0f9692905 100644 --- a/dvc/repo/experiments/queue/base.py +++ b/dvc/repo/experiments/queue/base.py @@ -4,7 +4,6 @@ from dataclasses import asdict, dataclass from typing import TYPE_CHECKING, Any, NamedTuple, Optional, Union -from dvc_studio_client.post_live_metrics import get_studio_config from funcy import retry from dvc.dependency import ParamsDependency @@ -24,6 +23,7 @@ ) from dvc.utils.objects import cached_property from dvc.utils.studio import config_to_env +from dvc_studio_client.post_live_metrics import get_studio_config from .utils import get_remote_executor_refs diff --git a/pyproject.toml b/pyproject.toml index 08c589efef..c8525cad7d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -292,7 +292,7 @@ strict = true ignore-variadic-names = true [tool.ruff.lint.isort] -known-first-party = ["dvc", "dvc_data", "dvc_objects", "dvc_render", "dvc_task", "tests"] +known-first-party = ["dvc", "dvc_*", "tests"] [tool.ruff.lint.pep8-naming] extend-ignore-names = ["M", "SCM"] diff --git a/tests/integration/test_studio_live_experiments.py b/tests/integration/test_studio_live_experiments.py index e5851aac7b..0310e02b36 100644 --- a/tests/integration/test_studio_live_experiments.py +++ b/tests/integration/test_studio_live_experiments.py @@ -1,5 +1,4 @@ import pytest -from dvc_studio_client import env, post_live_metrics from funcy import first from dvc.env import ( @@ -12,6 +11,7 @@ from dvc.repo import Repo from dvc.testing.scripts import COPY_SCRIPT from dvc.utils.studio import get_subrepo_relpath +from dvc_studio_client import env, post_live_metrics @pytest.mark.studio diff --git a/tests/remotes/git_server.py b/tests/remotes/git_server.py index 77a288b2e9..a5a5bca115 100644 --- a/tests/remotes/git_server.py +++ b/tests/remotes/git_server.py @@ -1,4 +1,5 @@ import pytest + from dvc_ssh.tests.cloud import SSH, TEST_SSH_KEY_PATH, TEST_SSH_USER diff --git a/tests/unit/command/test_studio.py b/tests/unit/command/test_studio.py index c79ce9c8a3..419050f3af 100644 --- a/tests/unit/command/test_studio.py +++ b/tests/unit/command/test_studio.py @@ -1,9 +1,9 @@ import pytest -from dvc_studio_client.auth import AuthorizationExpiredError from dvc import env from dvc.cli import main from dvc.utils.studio import STUDIO_URL +from dvc_studio_client.auth import AuthorizationExpiredError @pytest.fixture(autouse=True) diff --git a/tests/unit/fs/test_fs.py b/tests/unit/fs/test_fs.py index deb190f21c..c257fe35c7 100644 --- a/tests/unit/fs/test_fs.py +++ b/tests/unit/fs/test_fs.py @@ -1,10 +1,10 @@ import pytest -from dvc_http import HTTPFileSystem, HTTPSFileSystem -from dvc_s3 import S3FileSystem -from dvc_ssh import SSHFileSystem from dvc.config import RemoteNotFoundError from dvc.fs import LocalFileSystem, get_cloud_fs, get_fs_cls, get_fs_config +from dvc_http import HTTPFileSystem, HTTPSFileSystem +from dvc_s3 import S3FileSystem +from dvc_ssh import SSHFileSystem url_cls_pairs = [ ("s3://bucket/path", S3FileSystem), diff --git a/tests/unit/output/test_load.py b/tests/unit/output/test_load.py index 0504fdca21..e69cc2d8f1 100644 --- a/tests/unit/output/test_load.py +++ b/tests/unit/output/test_load.py @@ -1,10 +1,10 @@ import pytest -from dvc_s3 import S3FileSystem from dvc import output from dvc.fs import LocalFileSystem from dvc.output import Output from dvc.stage import Stage +from dvc_s3 import S3FileSystem @pytest.mark.parametrize( diff --git a/tests/unit/remote/test_remote.py b/tests/unit/remote/test_remote.py index 73c179051a..2f48ce9bf1 100644 --- a/tests/unit/remote/test_remote.py +++ b/tests/unit/remote/test_remote.py @@ -1,8 +1,8 @@ import pytest -from dvc_gs import GSFileSystem -from dvc_s3 import S3FileSystem from dvc.fs import get_cloud_fs +from dvc_gs import GSFileSystem +from dvc_s3 import S3FileSystem def test_remote_with_hash_jobs(dvc): diff --git a/tests/unit/remote/test_webdav.py b/tests/unit/remote/test_webdav.py index 5ef6074b28..c6f3faba1f 100644 --- a/tests/unit/remote/test_webdav.py +++ b/tests/unit/remote/test_webdav.py @@ -1,7 +1,7 @@ import pytest -from dvc_webdav import WebDAVFileSystem, WebDAVSFileSystem from dvc.fs import get_cloud_fs +from dvc_webdav import WebDAVFileSystem, WebDAVSFileSystem from tests.utils.asserts import issubset url_fmt = "{scheme}://{user}@example.com/public.php/webdav" diff --git a/tests/unit/remote/test_webhdfs.py b/tests/unit/remote/test_webhdfs.py index 9d9ccde74a..0de65554b1 100644 --- a/tests/unit/remote/test_webhdfs.py +++ b/tests/unit/remote/test_webhdfs.py @@ -1,5 +1,6 @@ import pytest import requests + from dvc_webhdfs import WebHDFSFileSystem host = "host"