iterative/dvc

View on GitHub

Showing 547 of 589 total issues

Function test_filesystem has 8 arguments (exceeds 4 allowed). Consider refactoring.
Open

    def test_filesystem(
Severity: Major
Found in dvc/testing/api_tests.py - About 1 hr to fix

    Function read has 8 arguments (exceeds 4 allowed). Consider refactoring.
    Open

    def read(
    Severity: Major
    Found in dvc/api/data.py - About 1 hr to fix

      Function iter_revs has 8 arguments (exceeds 4 allowed). Consider refactoring.
      Open

      def iter_revs(
      Severity: Major
      Found in dvc/scm.py - About 1 hr to fix

        Function _open has 8 arguments (exceeds 4 allowed). Consider refactoring.
        Open

        def _open(
        Severity: Major
        Found in dvc/api/data.py - About 1 hr to fix

          Function loads_from has 8 arguments (exceeds 4 allowed). Consider refactoring.
          Open

          def loads_from(
          Severity: Major
          Found in dvc/output.py - About 1 hr to fix

            Function _get has 8 arguments (exceeds 4 allowed). Consider refactoring.
            Open

                def _get(  # noqa: C901, PLR0912
            Severity: Major
            Found in dvc/fs/dvc.py - About 1 hr to fix

              Function show_experiments has 8 arguments (exceeds 4 allowed). Consider refactoring.
              Open

              def show_experiments(
              Severity: Major
              Found in dvc/commands/experiments/show.py - About 1 hr to fix

                Similar blocks of code found in 2 locations. Consider refactoring.
                Open

                    lsurl_parser = subparsers.add_parser(
                        "list-url",
                        aliases=["ls-url"],
                        parents=[parent_parser],
                        description=append_doc_link(LS_HELP, "list-url"),
                Severity: Major
                Found in dvc/commands/ls_url.py and 1 other location - About 1 hr to fix
                dvc/commands/remove.py on lines 25..31

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 38.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                Similar blocks of code found in 2 locations. Consider refactoring.
                Open

                    remove_parser = subparsers.add_parser(
                        "remove",
                        aliases=["rm"],
                        parents=[parent_parser],
                        description=append_doc_link(REMOVE_HELP, "remove"),
                Severity: Major
                Found in dvc/commands/remove.py and 1 other location - About 1 hr to fix
                dvc/commands/ls_url.py on lines 29..35

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 38.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                Function _update_params has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                Open

                    def _update_params(self, params: dict[str, list[str]]):
                        """Update param files with the provided `Hydra Override`_ patterns.
                
                        Args:
                            params: Dict mapping paths to `Hydra Override`_ patterns,
                Severity: Minor
                Found in dvc/repo/experiments/queue/base.py - About 55 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function write has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                Open

                    def write(
                        self,
                        *objects: Any,
                        style: Optional[str] = None,
                        sep: Optional[str] = None,
                Severity: Minor
                Found in dvc/ui/__init__.py - About 55 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function collect_active_data has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                Open

                    def collect_active_data(
                        self,
                        baseline_revs: Optional[Collection[str]],
                        fetch_refs: bool = False,
                        **kwargs,
                Severity: Minor
                Found in dvc/repo/experiments/queue/tempdir.py - About 55 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function collect_active_data has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                Open

                    def collect_active_data(
                        self,
                        baseline_revs: Optional[Collection[str]],
                        fetch_refs: bool = False,
                        **kwargs,
                Severity: Minor
                Found in dvc/repo/experiments/queue/celery.py - About 55 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function collect_success_executors has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                Open

                    def collect_success_executors(
                        self,
                        baseline_revs: Optional[Collection[str]],
                        **kwargs,
                    ) -> dict[str, "ExpExecutor"]:
                Severity: Minor
                Found in dvc/repo/experiments/queue/celery.py - About 55 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function reproduce has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                Open

                    def reproduce(
                        cls,
                        info: "ExecutorInfo",
                        rev: str,
                        queue: Optional["Queue"] = None,
                Severity: Minor
                Found in dvc/repo/experiments/executor/base.py - About 55 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function reproduce has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                Open

                    def reproduce(self, interactive=False, **kwargs) -> Optional["Stage"]:
                        force = kwargs.get("force", False)
                        allow_missing = kwargs.get("allow_missing", False)
                        pull = kwargs.get("pull", False)
                        upstream = kwargs.pop("upstream", None)
                Severity: Minor
                Found in dvc/stage/__init__.py - About 55 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function commit has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                Open

                    def commit(self, allow_missing=False, filter_info=None, **kwargs) -> None:
                        from dvc.output import OutputDoesNotExistError
                
                        link_failures = []
                        for out in self.filter_outs(filter_info):
                Severity: Minor
                Found in dvc/stage/__init__.py - About 55 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function push has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                Open

                def push(
                    repo: "Repo",
                    git_remote: str,
                    exp_names: Optional[Union[list[str], str]] = None,
                    all_commits: bool = False,
                Severity: Minor
                Found in dvc/repo/experiments/push.py - About 55 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function iter_done has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                Open

                    def iter_done(self) -> Generator[QueueDoneResult, None, None]:
                        for result, entry in self._iter_done_tasks():
                            try:
                                exp_result = self.get_result(entry)
                            except FileNotFoundError:
                Severity: Minor
                Found in dvc/repo/experiments/queue/celery.py - About 55 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function _migrateable_dvcfiles has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                Open

                def _migrateable_dvcfiles(view: "IndexView") -> set[str]:
                    from dvc.dvcfile import ProjectFile
                
                    migrated = set()
                    for stage, filter_info in view._stage_infos:
                Severity: Minor
                Found in dvc/repo/commit.py - About 55 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Severity
                Category
                Status
                Source
                Language