Showing 2,238 of 2,238 total issues

File model_group_evaluator.py has 1025 lines of code (exceeds 400 allowed). Consider refactoring.
Open

"""
Model Evaluator

This script contain a set of elements to help the postmodeling evaluation
of audited models by triage.Audition. This will be a continuing list of
Severity: Major
Found in src/triage/component/postmodeling/contrast/model_group_evaluator.py - About 2 days to fix

    File model_evaluator.py has 1004 lines of code (exceeds 400 allowed). Consider refactoring.
    Open

    """
    Model Evaluator
    
    This module will use model_id as a unit of analysis to understand the model
    and it's predictions. The ModelEvaluator (and by extension de ModelGroupEvaluator) are
    Severity: Major
    Found in src/triage/component/postmodeling/contrast/model_evaluator.py - About 2 days to fix

      File validate.py has 935 lines of code (exceeds 400 allowed). Consider refactoring.
      Open

      import importlib
      
      import verboselogs, logging
      
      logger = verboselogs.VerboseLogger(__name__)
      Severity: Major
      Found in src/triage/experiments/validate.py - About 1 day to fix

        File base.py has 859 lines of code (exceeds 400 allowed). Consider refactoring.
        Open

        import verboselogs, logging
        
        logger = verboselogs.VerboseLogger(__name__)
        
        from abc import ABC, abstractmethod
        Severity: Major
        Found in src/triage/experiments/base.py - About 1 day to fix

          File test_feature_generators.py has 777 lines of code (exceeds 400 allowed). Consider refactoring.
          Open

          import copy
          from datetime import date
          
          import pandas as pd
          import pytest
          Severity: Major
          Found in src/tests/architect_tests/test_feature_generators.py - About 1 day to fix

            File evaluation.py has 775 lines of code (exceeds 400 allowed). Consider refactoring.
            Open

            import functools
            import itertools
            import verboselogs, logging
            
            logger = verboselogs.VerboseLogger(__name__)
            Severity: Major
            Found in src/triage/component/catwalk/evaluation.py - About 1 day to fix

              File test_evaluation.py has 739 lines of code (exceeds 400 allowed). Consider refactoring.
              Open

              from triage.component.catwalk.evaluation import (
                  SORT_TRIALS,
                  ModelEvaluator,
                  generate_binary_at_x,
                  query_subset_table,
              Severity: Major
              Found in src/tests/catwalk_tests/test_evaluation.py - About 1 day to fix

                File collate.py has 696 lines of code (exceeds 400 allowed). Consider refactoring.
                Open

                import verboselogs, logging
                logger = verboselogs.VerboseLogger(__name__)
                
                from numbers import Number
                from itertools import product, chain
                Severity: Major
                Found in src/triage/component/collate/collate.py - About 1 day to fix

                  File test_builders.py has 675 lines of code (exceeds 400 allowed). Consider refactoring.
                  Open

                  import datetime
                  from unittest import TestCase, mock
                  import pandas as pd
                  import testing.postgresql
                  
                  
                  Severity: Major
                  Found in src/tests/architect_tests/test_builders.py - About 1 day to fix

                    File test_timechop.py has 613 lines of code (exceeds 400 allowed). Consider refactoring.
                    Open

                    import datetime
                    from unittest import TestCase
                    
                    from triage.util.conf import convert_str_to_relativedelta
                    
                    
                    Severity: Major
                    Found in src/tests/timechop_tests/test_timechop.py - About 7 hrs to fix

                      File test_selection_rules.py has 577 lines of code (exceeds 400 allowed). Consider refactoring.
                      Open

                      import pandas as pd
                      
                      from triage.component.audition.selection_rules import (
                          best_current_value,
                          best_average_value,
                      Severity: Major
                      Found in src/tests/audition_tests/test_selection_rules.py - About 6 hrs to fix

                        Function _run has a Cognitive Complexity of 40 (exceeds 5 allowed). Consider refactoring.
                        Open

                            def _run(self, scoring_config):
                                logger.spam("Validating scoring configuration")
                                if "testing_metric_groups" not in scoring_config:
                                    logger.warning(
                                        "Section: scoring - No testing_metric_groups configured. "
                        Severity: Minor
                        Found in src/triage/experiments/validate.py - About 6 hrs 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

                        File storage.py has 568 lines of code (exceeds 400 allowed). Consider refactoring.
                        Open

                        # coding: utf-8
                        
                        import itertools
                        
                        import verboselogs, logging
                        Severity: Major
                        Found in src/triage/component/catwalk/storage.py - About 6 hrs to fix

                          File feature_generators.py has 567 lines of code (exceeds 400 allowed). Consider refactoring.
                          Open

                          import verboselogs, logging
                          logger = verboselogs.VerboseLogger(__name__)
                          
                          from collections import OrderedDict
                          
                          
                          Severity: Major
                          Found in src/triage/component/architect/feature_generators.py - About 6 hrs to fix

                            File cli.py has 561 lines of code (exceeds 400 allowed). Consider refactoring.
                            Open

                            import argparse
                            import importlib.util
                            import os
                            import yaml
                            import pathlib
                            Severity: Major
                            Found in src/triage/cli.py - About 5 hrs to fix

                              File test_experiments.py has 553 lines of code (exceeds 400 allowed). Consider refactoring.
                              Open

                              import os
                              import time
                              from datetime import datetime, timedelta
                              from functools import partial
                              from tempfile import TemporaryDirectory
                              Severity: Major
                              Found in src/tests/test_experiments.py - About 5 hrs to fix

                                File builders.py has 530 lines of code (exceeds 400 allowed). Consider refactoring.
                                Open

                                import io
                                import subprocess
                                
                                import verboselogs, logging
                                logger = verboselogs.VerboseLogger(__name__)
                                Severity: Major
                                Found in src/triage/component/architect/builders.py - About 5 hrs to fix

                                  File __init__.py has 509 lines of code (exceeds 400 allowed). Consider refactoring.
                                  Open

                                  from triage.component.results_schema import upgrade_db, Retrain, TriageRun, TriageRunStatus
                                  from triage.component.architect.entity_date_table_generators import EntityDateTableGenerator, DEFAULT_ACTIVE_STATE
                                  from triage.component.architect.features import (
                                          FeatureGenerator, 
                                          FeatureDictionaryCreator, 
                                  Severity: Major
                                  Found in src/triage/predictlist/__init__.py - About 4 hrs to fix

                                    ModelEvaluator has 35 functions (exceeds 20 allowed). Consider refactoring.
                                    Open

                                    class ModelEvaluator:
                                        '''
                                        ModelExtractor class calls the model metadata from the database
                                        and hold model_id metadata features on each of the class attibutes.
                                        This class will contain any information about the model, and will be
                                    Severity: Minor
                                    Found in src/triage/component/postmodeling/contrast/model_evaluator.py - About 4 hrs to fix

                                      File utils.py has 488 lines of code (exceeds 400 allowed). Consider refactoring.
                                      Open

                                      import datetime
                                      import functools
                                      import importlib
                                      import os
                                      import random
                                      Severity: Minor
                                      Found in src/tests/utils.py - About 4 hrs to fix
                                        Severity
                                        Category
                                        Status
                                        Source
                                        Language