[pre-commit.ci] pre-commit autoupdate (#10981)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Saugat Pachhai (सौगात) <[email protected]>
This commit is contained in:
pre-commit-ci[bot]
2026-03-31 10:49:52 +05:45
committed by GitHub
co-authored by Saugat Pachhai
parent 0f4e8a23c8
commit 356dfa0327
14 changed files with 27 additions and 24 deletions
+2 -2
View File
@@ -22,13 +22,13 @@ repos:
- id: sort-simple-yaml - id: sort-simple-yaml
- id: trailing-whitespace - id: trailing-whitespace
- repo: https://github.com/astral-sh/ruff-pre-commit - repo: https://github.com/astral-sh/ruff-pre-commit
rev: 'v0.14.13' rev: 'v0.15.8'
hooks: hooks:
- id: ruff-check - id: ruff-check
args: [--fix, --exit-non-zero-on-fix] args: [--fix, --exit-non-zero-on-fix]
- id: ruff-format - id: ruff-format
- repo: https://github.com/codespell-project/codespell - repo: https://github.com/codespell-project/codespell
rev: v2.4.1 rev: v2.4.2
hooks: hooks:
- id: codespell - id: codespell
additional_dependencies: ["tomli"] additional_dependencies: ["tomli"]
+2 -2
View File
@@ -8,7 +8,7 @@ from PyInstaller.utils.hooks import collect_submodules, is_module_or_submodule
_EXCLUDES = ("celery.bin", "celery.contrib") _EXCLUDES = ("celery.bin", "celery.contrib")
hiddenimports = collect_submodules( hiddenimports = collect_submodules(
"celery", "celery",
filter=lambda name: not any( filter=lambda name: (
is_module_or_submodule(name, module) for module in _EXCLUDES not any(is_module_or_submodule(name, module) for module in _EXCLUDES)
), ),
) )
+1 -1
View File
@@ -188,7 +188,7 @@ class Experiments:
rev_names = self.get_exact_name(revs) rev_names = self.get_exact_name(revs)
for rev in revs: for rev in revs:
name = rev_names[rev] name = rev_names[rev]
names.append(name if name else rev[:7]) names.append(name or rev[:7])
ui.write("\nRan experiment(s): {}".format(", ".join(names))) ui.write("\nRan experiment(s): {}".format(", ".join(names)))
if tmp_dir: if tmp_dir:
ui.write( ui.write(
+1 -1
View File
@@ -328,7 +328,7 @@ def collect(
name=baseline_names.get(baseline_rev), name=baseline_names.get(baseline_rev),
data=baseline_data.data, data=baseline_data.data,
error=baseline_data.error, error=baseline_data.error,
experiments=experiments if experiments else None, experiments=experiments or None,
) )
) )
return result return result
+1 -1
View File
@@ -757,7 +757,7 @@ class BaseExecutor(ABC):
logger.debug("Commit to current experiment branch '%s'", branch) logger.debug("Commit to current experiment branch '%s'", branch)
else: else:
baseline_rev = scm.get_ref(EXEC_BASELINE) baseline_rev = scm.get_ref(EXEC_BASELINE)
name = exp_name if exp_name else f"exp-{exp_hash[:5]}" name = exp_name or f"exp-{exp_hash[:5]}"
ref_info = ExpRefInfo(baseline_rev, name) ref_info = ExpRefInfo(baseline_rev, name)
branch = str(ref_info) branch = str(ref_info)
old_ref = None old_ref = None
+1 -1
View File
@@ -34,7 +34,7 @@ class ExpRefInfo:
def __init__(self, baseline_sha: str, name: Optional[str] = None): def __init__(self, baseline_sha: str, name: Optional[str] = None):
self.baseline_sha = baseline_sha self.baseline_sha = baseline_sha
self.name: str = name if name else "" self.name: str = name or ""
def __str__(self): def __str__(self):
return "/".join(self.parts) return "/".join(self.parts)
+2 -4
View File
@@ -67,7 +67,7 @@ class ExpStash(Stash):
branch: Optional[str] = None, branch: Optional[str] = None,
) -> str: ) -> str:
msg = cls.MESSAGE_FORMAT.format( msg = cls.MESSAGE_FORMAT.format(
rev=rev, baseline_rev=baseline_rev, name=name if name else "" rev=rev, baseline_rev=baseline_rev, name=name or ""
) )
branch_msg = f":{branch}" if branch else "" branch_msg = f":{branch}" if branch else ""
return f"{msg}{branch_msg}" return f"{msg}{branch_msg}"
@@ -124,9 +124,7 @@ class ApplyStash(Stash):
@classmethod @classmethod
def format_message(cls, head_rev: str, rev: str, name: Optional[str] = None) -> str: def format_message(cls, head_rev: str, rev: str, name: Optional[str] = None) -> str:
return cls.MESSAGE_FORMAT.format( return cls.MESSAGE_FORMAT.format(head_rev=head_rev, rev=rev, name=name or "")
head_rev=head_rev, rev=rev, name=name if name else ""
)
@contextmanager @contextmanager
def preserve_workspace( def preserve_workspace(
+1 -1
View File
@@ -200,7 +200,7 @@ def exp_commits(
) -> Iterable[str]: ) -> Iterable[str]:
"""Iterate over all experiment commits.""" """Iterate over all experiment commits."""
shas: set[str] = set() shas: set[str] = set()
refs = ref_infos if ref_infos else exp_refs(scm) refs = ref_infos or exp_refs(scm)
for ref_info in refs: for ref_info in refs:
shas.update(scm.branch_revs(str(ref_info), ref_info.baseline_sha)) shas.update(scm.branch_revs(str(ref_info), ref_info.baseline_sha))
yield from shas yield from shas
+6 -3
View File
@@ -10,6 +10,8 @@ from dvc.utils import relpath
from dvc.utils.collections import ensure_list from dvc.utils.collections import ensure_list
if TYPE_CHECKING: if TYPE_CHECKING:
from typing_extensions import Self
from dvc.repo import Repo from dvc.repo import Repo
from dvc.scm import Base from dvc.scm import Base
@@ -96,7 +98,7 @@ class SCMContext:
@contextmanager @contextmanager
def __call__( def __call__(
self, autostage: Optional[bool] = None, quiet: Optional[bool] = None self, autostage: Optional[bool] = None, quiet: Optional[bool] = None
) -> Iterator["SCMContext"]: ) -> Iterator["Self"]:
try: try:
yield self yield self
except Exception: except Exception:
@@ -131,9 +133,10 @@ class SCMContext:
self.files_to_track = set() self.files_to_track = set()
def __enter__(self) -> "SCMContext": def __enter__(self) -> "Self":
self._cm = self() self._cm = self()
return self._cm.__enter__() self._cm.__enter__()
return self
def __exit__(self, *exc_args) -> None: def __exit__(self, *exc_args) -> None:
assert self._cm assert self._cm
+6 -4
View File
@@ -2,7 +2,7 @@ import os
import pathlib import pathlib
import posixpath import posixpath
import sys import sys
from typing import Callable, ClassVar from typing import Callable, ClassVar, Union
from urllib.parse import urlparse from urllib.parse import urlparse
from dvc.utils import relpath from dvc.utils import relpath
@@ -79,15 +79,17 @@ class PathInfo(pathlib.PurePath, _BasePath):
and self._cparts[:n] == other._cparts # type: ignore[attr-defined] and self._cparts[:n] == other._cparts # type: ignore[attr-defined]
) )
def relative_to(self, other, *args, **kwargs): def relative_to(
self, *other: Union[str, "os.PathLike[str]"], **kwargs
) -> "PathInfo":
# pathlib relative_to raises exception when one path is not a direct # pathlib relative_to raises exception when one path is not a direct
# descendant of the other when os.path.relpath would return abspath. # descendant of the other when os.path.relpath would return abspath.
# For DVC PathInfo we only need the relpath behavior. # For DVC PathInfo we only need the relpath behavior.
# See: https://bugs.python.org/issue40358 # See: https://bugs.python.org/issue40358
try: try:
path = super().relative_to(other, *args, **kwargs) path = super().relative_to(*other, **kwargs)
except ValueError: except ValueError:
path = relpath(self, other) path = relpath(self, other[0])
return self.__class__(path) return self.__class__(path)
+1 -1
View File
@@ -53,7 +53,7 @@ def test_new_simple(tmp_dir, scm, dvc, exp_stage, mocker, name, workspace):
if workspace: if workspace:
assert (tmp_dir / "metrics.yaml").read_text().strip() == "foo: 2" assert (tmp_dir / "metrics.yaml").read_text().strip() == "foo: 2"
exp_name = name if name else ref_info.name exp_name = name or ref_info.name
assert dvc.experiments.get_exact_name([exp])[exp] == exp_name assert dvc.experiments.get_exact_name([exp])[exp] == exp_name
assert resolve_rev(scm, exp_name) == exp assert resolve_rev(scm, exp_name) == exp
+1 -1
View File
@@ -28,7 +28,7 @@ def test_exp_save(tmp_dir, dvc, scm, name):
assert ref_info assert ref_info
assert ref_info.baseline_sha == baseline assert ref_info.baseline_sha == baseline
exp_name = name if name else ref_info.name exp_name = name or ref_info.name
assert dvc.experiments.get_exact_name([exp])[exp] == exp_name assert dvc.experiments.get_exact_name([exp])[exp] == exp_name
assert resolve_rev(scm, exp_name) == exp assert resolve_rev(scm, exp_name) == exp
+1 -1
View File
@@ -196,7 +196,7 @@ def test_diff_show_markdown_and_hash(mocker, show_hash, dvc):
cmd = args.func(args) cmd = args.func(args)
diff = {} diff = {}
show_hash = show_hash if show_hash else False show_hash = show_hash or False
mock_show_markdown = mocker.patch("dvc.commands.diff._show_markdown") mock_show_markdown = mocker.patch("dvc.commands.diff._show_markdown")
mocker.patch("dvc.repo.Repo.diff", return_value=diff.copy()) mocker.patch("dvc.repo.Repo.diff", return_value=diff.copy())
+1 -1
View File
@@ -47,7 +47,7 @@ def test_help(caplog, capsys, command_tuples):
out, err = capsys.readouterr() out, err = capsys.readouterr()
# validate metavars are all in lowercase # validate metavars are all in lowercase
usage = "\n".join(takewhile(lambda o: bool(o), out.splitlines())) usage = "\n".join(takewhile(bool, out.splitlines()))
message = ( message = (
"metavars not lowercased, you are likely missing formatter_class=XXX " "metavars not lowercased, you are likely missing formatter_class=XXX "