AI Slop Code RIsk Monitor

spotify/luigi

Luigi is a Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built in.

25.5 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for spotify/luigi, a Python project with 18,783 GitHub stars. SynthScan examined 71,403 lines of code across 319 source files, recording 1468 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 25.5 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

25.5
Adjusted Signal
25.5
Raw Pattern Score
100%
Time Factor
2026-10-07
Last Push
18.8K
Stars
Python
Language
71.4K
Lines of Code
319
Files
1.5K
Pattern Hits
2026-10-12
Scan Date
0.25
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 58.6/100 · HIGH

Can maintainers explain intent, assumptions, and trade-offs? 1243 finding(s).

Hallucinated Dependency & Supply Chain Risk 10.3/100 · LOW

Are imports declared and package/API names verified? 107 finding(s).

Agent Over-Engineering Ratio 60.8/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 1047 finding(s).

PR Review Velocity Impact 73.9/100 · HIGH

Which changes need focused human review? 1468 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 4HIGH 77MEDIUM 15LOW 1372

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1468 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers922 hits · 924 pts
SeverityFileLineSnippetContext
LOW⚡test/notifications_test.py36 def test_normalize_images_handles_none_list_and_tuple(self):CODE
LOW⚡test/notifications_test.py41 def test_iter_images_handles_none_list_and_tuple(self):CODE
LOW⚡test/notifications_test.py46 def test_generate_email_attaches_multiple_images(self):CODE
LOW⚡test/notifications_test.py193 def test_email_disabled_reason_format_none(self):CODE
LOW⚡test/notifications_test.py197 def test_email_disabled_reason_force_send(self):CODE
LOW⚡test/notifications_test.py201 def test_email_disabled_reason_tty(self):CODE
LOW⚡test/notifications_test.py206 def test_email_disabled_reason_default_allows_sending(self):CODE
LOW⚡test/notifications_test.py210 def test_generate_unicode_email(self):CODE
LOW⚡test/notifications_test.py219 def test_generate_email_with_multiple_images(self):CODE
LOWtest/notifications_test.py74 def test_iter_images_empty_list_returns_empty_iterator(self):CODE
LOWtest/notifications_test.py248 def test_generate_email_with_single_image_png_kwarg(self):CODE
LOWtest/notifications_test.py272 def test_generate_email_with_empty_images_list(self):CODE
LOWtest/notifications_test.py285 def test_generate_email_with_tuple_images(self):CODE
LOWtest/notifications_test.py314 def test_generate_email_with_none_images(self):CODE
LOWtest/notifications_test.py327 def test_generate_email_with_nonexistent_path_raises(self):CODE
LOWtest/notifications_test.py337 def test_generate_email_with_generator_images_raises_typeerror(self):CODE
LOWtest/notifications_test.py443 def test_sends_smtp_email_with_images_png(self):CODE
LOWtest/notifications_test.py481 def test_sends_smtp_email_without_tls(self):CODE
LOWtest/notifications_test.py514 def test_sends_smtp_email_exceptions(self):CODE
LOWtest/notifications_test.py549 def test_sends_sendgrid_email(self):CODE
LOWtest/notifications_test.py562 def test_sends_sendgrid_email_with_multiple_images(self):CODE
LOWtest/notifications_test.py592 def test_sendgrid_with_empty_images_list_does_not_attach(self):CODE
LOWtest/notifications_test.py599 def test_sends_sendgrid_email_with_image_png_kwarg(self):CODE
LOWtest/notifications_test.py652 def test_sends_ses_email_with_images_png(self):CODE
LOWtest/notifications_test.py705 def test_sns_subject_is_shortened(self):CODE
LOWtest/notifications_test.py724 def test_send_email_sns_ignores_images_png(self):CODE
LOWtest/notifications_test.py765 def test_send_email_forwards_images_png_exactly(self):CODE
LOWtest/notifications_test.py783 def test_send_email_forwards_images_png_to_smtp(self):CODE
LOWtest/notifications_test.py800 def test_send_email_forwards_images_png_to_ses(self):CODE
LOWtest/notifications_test.py817 def test_send_email_forwards_images_png_to_sns(self):CODE
LOWtest/notifications_test.py834 def test_send_email_without_recipients_returns_early(self):CODE
LOWtest/notifications_test.py842 def test_send_email_tuple_none_recipients_returns_early(self):CODE
LOW⚡test/optional_parameter_test.py60 def test_optional_int_parameter(self):CODE
LOW⚡test/optional_parameter_test.py65 def test_optional_bool_parameter(self):CODE
LOW⚡test/optional_parameter_test.py70 def test_optional_float_parameter(self):CODE
LOW⚡test/optional_parameter_test.py75 def test_optional_dict_parameter(self):CODE
LOW⚡test/optional_parameter_test.py80 def test_optional_list_parameter(self):CODE
LOW⚡test/optional_parameter_test.py85 def test_optional_tuple_parameter(self):CODE
LOW⚡test/optional_parameter_test.py90 def test_optional_numerical_parameter_float(self):CODE
LOW⚡test/optional_parameter_test.py95 def test_optional_numerical_parameter_int(self):CODE
LOW⚡test/optional_parameter_test.py100 def test_optional_choice_parameter(self):CODE
LOW⚡test/optional_parameter_test.py106 def test_optional_date_parameter(self):CODE
LOW⚡test/optional_parameter_test.py111 def test_optional_choice_parameter_int(self):CODE
LOWtest/scheduler_message_test.py86 def test_receive_messages_disabled(self):CODE
LOWtest/scheduler_message_test.py103 def test_send_messages_disabled(self):CODE
LOW⚡test/interface_test.py67 def _summary_dict_module_path():CODE
LOW⚡test/interface_test.py70 def test_interface_run_positive_path(self):CODE
LOW⚡test/interface_test.py75 def test_interface_run_positive_path_with_detailed_summary_enabled(self):CODE
LOW⚡test/interface_test.py80 def test_interface_run_with_add_failure(self):CODE
LOW⚡test/interface_test.py85 def test_interface_run_with_add_failure_with_detailed_summary_enabled(self):CODE
LOW⚡test/interface_test.py90 def test_interface_run_with_run_failure(self):CODE
LOW⚡test/interface_test.py95 def test_interface_run_with_run_failure_with_detailed_summary_enabled(self):CODE
LOW⚡test/interface_test.py101 def test_that_status_is_success(self, fake_summary_dict):CODE
LOW⚡test/interface_test.py108 def test_that_status_is_success_with_retry(self, fake_summary_dict):CODE
LOW⚡test/interface_test.py115 def test_that_status_is_failed_when_there_is_one_failed_task(self, fake_summary_dict):CODE
LOW⚡test/interface_test.py122 def test_that_status_is_failed_with_scheduling_failure(self, fake_summary_dict):CODE
LOW⚡test/interface_test.py131 def test_that_status_is_scheduling_failed_with_one_scheduling_error(self, fake_summary_dict):CODE
LOW⚡test/interface_test.py138 def test_that_status_is_not_run_with_one_task_not_run(self, fake_summary_dict):CODE
LOW⚡test/interface_test.py145 def test_that_status_is_missing_ext_with_one_task_with_missing_external_dependency(self, fake_summary_dict):CODE
LOW⚡test/interface_test.py151 def test_stops_worker_on_add_exception(self):CODE
862 more matches not shown…
Over-Commented Block234 hits · 228 pts
SeverityFileLineSnippetContext
LOWtest/task_bulk_complete_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/notifications_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/scheduler_message_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/dict_parameter_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/most_common_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/interface_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/dynamic_import_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/task_forwarded_attributes_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/choice_parameter_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/scheduler_api_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/util_previous_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/event_callbacks_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/scheduler_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/clone_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/list_parameter_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/config_env_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/scheduler_parameter_visibilities_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/range_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/set_task_name_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/parameter_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/_mysqldb_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/lock_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/test_sigpipe.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/date_interval_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/decorator_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/scheduler_visualisation_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/recursion_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/worker_external_task_test.py1# Copyright (c) 2015COMMENT
LOWtest/local_target_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/target_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/task_running_resources_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/subtask_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/worker_task_process_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/task_history_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/worker_scheduler_com_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/util_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/custom_metrics_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/task_progress_percentage_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/worker_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/helpers_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/test_ssh.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/factorial_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/worker_task_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/db_task_history_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/fib_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/config_toml_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/_test_ftp.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/task_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/wrap_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/instance_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/import_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/safe_extractor_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/rpc_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/retcodes_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/other_module.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/simulate_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/worker_parallel_scheduling_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/server_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/date_parameter_test.py1# -*- coding: utf-8 -*-COMMENT
LOWtest/numerical_parameter_test.py1# -*- coding: utf-8 -*-COMMENT
174 more matches not shown…
Empty Error Handlers42 hits · 210 pts
SeverityFileLineSnippetContext
HIGHtest/interface_test.py198except (Exception, SystemExit):CODE
HIGHtest/interface_test.py206except Exception:CODE
HIGHtest/local_target_test.py225except ValueError:CODE
HIGHtest/simulate_test.py39except OSError:CODE
HIGHtest/simulate_test.py59except OSError:CODE
HIGHtest/contrib/redshift_test.py217except KeyError:CODE
HIGHtest/contrib/test_ssh.py69except Exception:CODE
HIGHtest/contrib/lsf_test.py98except OSError:CODE
HIGHtest/contrib/sge_test.py99except OSError:CODE
HIGHtest/contrib/spark_test.py274except KeyboardInterrupt:CODE
HIGHtest/contrib/external_program_test.py168except KeyboardInterrupt:CODE
HIGHtest/contrib/hdfs_test.py58except BaseException:CODE
HIGHtest/visualiser/visualiser_test.py52except AssertionError:CODE
HIGHluigi/worker.py654except BaseException:CODE
HIGHluigi/worker.py658except BaseException:CODE
HIGHluigi/worker.py662except BaseException:CODE
HIGHluigi/worker.py668except BaseException:CODE
HIGHluigi/worker.py586except AttributeError:CODE
HIGHluigi/server.py222except ValueError:CODE
HIGHluigi/local_target.py155except OSError:CODE
HIGHluigi/format.py134except BaseException:CODE
HIGHluigi/format.py244except TypeError:CODE
HIGHluigi/format.py350except AttributeError:CODE
HIGHluigi/format.py354except AttributeError:CODE
HIGHluigi/format.py400except AttributeError:CODE
HIGHluigi/format.py407except TypeError:CODE
HIGHluigi/format.py371except AttributeError:CODE
HIGHluigi/mypy.py136except ValueError:CODE
HIGHluigi/lock.py67except IOError:CODE
HIGHluigi/process.py47except OSError:CODE
HIGHluigi/parameter.py1006except ValueError:CODE
HIGHluigi/mock.py156except AttributeError:CODE
HIGHluigi/contrib/gcs.py417except OSError:CODE
HIGHluigi/contrib/hadoop.py939except OSError:CODE
HIGHluigi/contrib/simulate.py110except OSError:CODE
HIGHluigi/contrib/hive.py409except FileAlreadyExists:CODE
HIGHluigi/contrib/postgres.py56except ImportError:CODE
HIGHluigi/contrib/postgres.py67except ImportError:CODE
HIGHluigi/contrib/ssh.py261except OSError:CODE
HIGHluigi/contrib/s3.py477except ValueError:CODE
HIGHluigi/contrib/hdfs/format.py169except AttributeError:CODE
HIGHdoc/conf.py50except ImportError:CODE
Cross-File Repetition27 hits · 135 pts
SeverityFileLineSnippetContext
HIGHtest/contrib/gcs_test.py0this is an integration test for the bigquery-luigi binding. this test requires credentials that can access gcs & access STRING
HIGHtest/contrib/dataproc_test.py0this is an integration test for the bigquery-luigi binding. this test requires credentials that can access gcs & access STRING
HIGHtest/contrib/bigquery_gcloud_test.py0this is an integration test for the bigquery-luigi binding. this test requires credentials that can access gcs & access STRING
HIGHluigi/contrib/redshift.py0this update id will be a unique identifier for this insert on this table.STRING
HIGHluigi/contrib/sqla.py0this update id will be a unique identifier for this insert on this table.STRING
HIGHluigi/contrib/rdbms.py0this update id will be a unique identifier for this insert on this table.STRING
HIGHluigi/contrib/gcs.py0initializes a hdfsflagtarget. :param path: the directory where the files are stored. :type path: str :param client: :typSTRING
HIGHluigi/contrib/s3.py0initializes a hdfsflagtarget. :param path: the directory where the files are stored. :type path: str :param client: :typSTRING
HIGHluigi/contrib/hdfs/target.py0initializes a hdfsflagtarget. :param path: the directory where the files are stored. :type path: str :param client: :typSTRING
HIGHluigi/contrib/sqla.py0create marker table if it doesn't exist. use a separate connection since the transaction might have to be reset.STRING
HIGHluigi/contrib/mysqldb.py0create marker table if it doesn't exist. use a separate connection since the transaction might have to be reset.STRING
HIGHluigi/contrib/postgres.py0create marker table if it doesn't exist. use a separate connection since the transaction might have to be reset.STRING
HIGHluigi/contrib/mssqldb.py0create marker table if it doesn't exist. use a separate connection since the transaction might have to be reset.STRING
HIGHluigi/contrib/mysqldb.py0mark this update as complete. important: if the marker table doesn't exist, the connection transaction will be aborted aSTRING
HIGHluigi/contrib/mssqldb.py0mark this update as complete. important: if the marker table doesn't exist, the connection transaction will be aborted aSTRING
HIGHluigi/contrib/postgres.py0mark this update as complete. important: if the marker table doesn't exist, the connection transaction will be aborted aSTRING
HIGHexamples/elasticsearch_index.py0returns the target output for this task. in this case, a successful execution of this task will create a file in the locSTRING
HIGHexamples/wordcount.py0returns the target output for this task. in this case, a successful execution of this task will create a file in the locSTRING
HIGHexamples/dynamic_requirements.py0returns the target output for this task. in this case, a successful execution of this task will create a file in the locSTRING
HIGHexamples/top_artists.py0returns the target output for this task. in this case, a successful execution of this task will create a file in the locSTRING
HIGHexamples/terasort.py0returns the target output for this task. in this case, a successful execution of this task will create a file in the locSTRING
HIGHexamples/spark_als.py0returns the target output for this task. in this case, a successful execution of this task will create a file in the locSTRING
HIGHexamples/wordcount_hadoop.py0returns the target output for this task. in this case, a successful execution of this task will create a file in the locSTRING
HIGHexamples/ftp_experiment_outputs.py0returns the target output for this task. in this case, a successful execution of this task will create a file in the locSTRING
HIGHexamples/wordcount.py0returns the target output for this task. in this case, it expects a file to be present in hdfs. :return: the target outpSTRING
HIGHexamples/wordcount_hadoop.py0returns the target output for this task. in this case, it expects a file to be present in hdfs. :return: the target outpSTRING
HIGHexamples/top_artists.py0returns the target output for this task. in this case, it expects a file to be present in hdfs. :return: the target outpSTRING
Unused Imports78 hits · 56 pts
SeverityFileLineSnippetContext
LOWtest/notifications_test.py391CODE
LOWtest/notifications_test.py543CODE
LOWtest/notifications_test.py630CODE
LOWtest/notifications_test.py685CODE
LOW…archive_root/package/submodule_with_absolute_import.py18CODE
LOWtest/create_packages_archive_root/package/submodule.py18CODE
LOW…_packages_archive_root/package/subpackage/submodule.py18CODE
LOWluigi/task.py23CODE
LOWluigi/task.py38CODE
LOWluigi/__init__.py21CODE
LOWluigi/__init__.py21CODE
LOWluigi/__init__.py21CODE
LOWluigi/__init__.py21CODE
LOWluigi/__init__.py21CODE
LOWluigi/__init__.py21CODE
LOWluigi/__init__.py21CODE
LOWluigi/__init__.py23CODE
LOWluigi/__init__.py24CODE
LOWluigi/__init__.py25CODE
LOWluigi/__init__.py25CODE
LOWluigi/__init__.py26CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py27CODE
LOWluigi/__init__.py64CODE
LOWluigi/__init__.py64CODE
LOWluigi/__init__.py65CODE
LOWluigi/__init__.py66CODE
18 more matches not shown…
Deep Nesting53 hits · 50 pts
SeverityFileLineSnippetContext
LOWtest/parameter_test.py117CODE
LOWtest/target_test.py287CODE
LOWtest/fib_test.py39CODE
LOWtest/contrib/hadoop_jar_test.py92CODE
LOWtest/contrib/hadoop_jar_test.py95CODE
LOWluigi/worker.py172CODE
LOWluigi/worker.py514CODE
LOWluigi/worker.py772CODE
LOWluigi/worker.py832CODE
LOWluigi/worker.py1082CODE
LOWluigi/worker.py1159CODE
LOWluigi/worker.py1204CODE
LOWluigi/metrics.py14CODE
LOWluigi/task.py953CODE
LOWluigi/task.py772CODE
LOWluigi/util.py426CODE
LOWluigi/format.py55CODE
LOWluigi/mypy.py86CODE
LOWluigi/mypy.py100CODE
LOWluigi/db_task_history.py251CODE
LOWluigi/lock.py30CODE
LOWluigi/execution_summary.py179CODE
LOWluigi/execution_summary.py371CODE
LOWluigi/execution_summary.py467CODE
LOWluigi/scheduler.py1066CODE
LOWluigi/scheduler.py1139CODE
LOWluigi/scheduler.py1291CODE
LOWluigi/scheduler.py1360CODE
LOWluigi/scheduler.py1519CODE
LOWluigi/scheduler.py1648CODE
LOWluigi/tools/deps.py94CODE
LOWluigi/contrib/redshift.py287CODE
LOWluigi/contrib/beam_dataflow.py388CODE
LOWluigi/contrib/sqla.py323CODE
LOWluigi/contrib/salesforce.py55CODE
LOWluigi/contrib/salesforce.py149CODE
LOWluigi/contrib/salesforce.py207CODE
LOWluigi/contrib/hadoop.py88CODE
LOWluigi/contrib/hadoop.py112CODE
LOWluigi/contrib/hadoop.py238CODE
LOWluigi/contrib/hadoop.py266CODE
LOWluigi/contrib/hadoop.py931CODE
LOWluigi/contrib/sge.py298CODE
LOWluigi/contrib/hive.py393CODE
LOWluigi/contrib/pig.py127CODE
LOWluigi/contrib/external_program.py138CODE
LOWluigi/contrib/kubernetes.py267CODE
LOWluigi/contrib/postgres.py357CODE
LOWluigi/contrib/presto.py57CODE
LOWluigi/contrib/lsf.py276CODE
LOWluigi/contrib/s3.py585CODE
LOWluigi/contrib/hdfs/hadoopcli_clients.py170CODE
LOWluigi/contrib/hdfs/target.py150CODE
Excessive Try-Catch Wrapping41 hits · 48 pts
SeverityFileLineSnippetContext
MEDIUMtest/interface_test.py193def test_run_with_none_does_not_raise_type_error(self):CODE
LOW⚡test/interface_test.py206 except Exception:CODE
LOWtest/db_task_history_test.py144 except Exception:CODE
MEDIUMtest/db_task_history_test.py141def setUp(self):CODE
LOW⚡test/worker_parallel_scheduling_test.py177 except Exception as e:CODE
LOWtest/contrib/docker_runner_test.py51except Exception:CODE
MEDIUMtest/contrib/dropbox_test.py172def test_mkdir_recreate_dir(self):CODE
MEDIUMtest/contrib/dropbox_test.py186def test_mkdir_recreate_slashed_dir(self):CODE
LOW⚡test/contrib/dropbox_test.py175 except Exception as ex:CODE
LOW⚡test/contrib/dropbox_test.py180 except Exception as ex:CODE
LOW⚡test/contrib/dropbox_test.py189 except Exception as ex:CODE
LOW⚡test/contrib/dropbox_test.py194 except Exception as ex:CODE
LOWtest/contrib/postgres_with_server_test.py55except Exception:CODE
LOWtest/contrib/mongo_test.py36except Exception:CODE
LOWtest/contrib/test_ssh.py57except Exception:STRING
LOWtest/contrib/test_ssh.py69 except Exception:STRING
MEDIUMtest/contrib/test_ssh.py66def tearDown(self):CODE
LOWtest/contrib/esindex_test.py64except Exception:CODE
MEDIUMluigi/worker.py393def get(self, block=None, timeout=None):CODE
LOWluigi/worker.py441 except Exception:CODE
LOWluigi/worker.py705 except Exception:CODE
LOWluigi/worker.py806 except Exception as ex:CODE
LOWluigi/worker.py876 except Exception as ex:CODE
LOWluigi/worker.py956 except Exception as ex:CODE
LOWluigi/task.py441 except Exception as exc:CODE
LOWluigi/retcodes.py83 except Exception:CODE
LOWluigi/notifications.py220 except Exception as e:CODE
LOWluigi/contrib/sqla.py361 except Exception as e:CODE
LOWluigi/contrib/hadoop.py291 except Exception as e:CODE
LOWluigi/contrib/hadoop.py324 except Exception as e:CODE
LOWluigi/contrib/hadoop.py368 except Exception as e:CODE
LOWluigi/contrib/bigquery_avro.py64 except Exception as e:CODE
LOWluigi/contrib/bigquery_avro.py106 except Exception as e:CODE
LOWluigi/contrib/mrrunner.py89 except Exception as exc:CODE
LOWluigi/contrib/lsf_runner.py73 except Exception as exc:CODE
LOWluigi/contrib/dropbox.py82 except Exception as e:CODE
LOWluigi/contrib/presto.py178 except Exception:CODE
LOWluigi/contrib/ssh.py289 except Exception:CODE
LOWluigi/contrib/sge_runner.py87 except Exception as e:CODE
LOWluigi/contrib/hdfs/format.py52 except Exception as ex:CODE
LOWluigi/contrib/hdfs/format.py82 except Exception as ex:CODE
Cross-Language Confusion8 hits · 42 pts
SeverityFileLineSnippetContext
HIGH⚡test/rpc_test.py117 fetch_results = ['{"response": null}', '{"response": {"pass": true}}']CODE
HIGH⚡test/rpc_test.py125 fetch_results = ['{"response": null}'] * 3 + ['{"response": {}}']CODE
HIGHtest/contrib/pai_test.py51 command = "cd scikit-learn/benchmarks && python bench_mnist.py"CODE
HIGHtest/contrib/pai_test.py53 tasks = [TaskRole("test", "cd scikit-learn/benchmarks && python bench_mnist.py", memoryMB=4096)]CODE
HIGHtest/contrib/bigquery_gcloud_test.py403 "default":null,CODE
HIGHtest/contrib/bigquery_gcloud_test.py414 "default":null,CODE
HIGHluigi/parameter.py1304 of parsing. The traversal order of standard ``dict`` is undefined, which can result various stringSTRING
HIGHluigi/contrib/ssh.py141 ["-L", tunnel_host, "echo -n ready && cat"],CODE
Hallucination Indicators4 hits · 40 pts
SeverityFileLineSnippetContext
CRITICALtest/server_test.py477 self.mock_scheduler._state._metrics_collector.configure_http_handler.assert_called_once_with(self.handler)CODE
CRITICALtest/contrib/spark_test.py410 spark.sql.return_value.write.saveAsTable.assert_called_with("output")CODE
CRITICALluigi/static/visualiser/lib/jquery-1.10.0.min.js5if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:CODE
CRITICAL…aliser/lib/jquery-ui/js/jquery-ui-1.10.3.custom.min.js6(function(e,t){function i(t,i){var a,n,r,o=t.nodeName.toLowerCase();return"area"===o?(a=t.parentNode,n=a.name,t.href&&n&CODE
Self-Referential Comments6 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMtest/db_task_history_test.py45 # Create a temporary SQLite databaseCOMMENT
MEDIUMtest/db_task_history_test.py48 # Create the tasks table without the task_id columnCOMMENT
MEDIUM⚡test/safe_extractor_test.py101 # Create a tar file with 3 filesCOMMENT
MEDIUM⚡test/safe_extractor_test.py115 # Create a tar file with a path traversal fileCOMMENT
MEDIUMluigi/lock.py100 # Create a pid file if it does not existCOMMENT
MEDIUMdoc/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
Fake / Example Data17 hits · 17 pts
SeverityFileLineSnippetContext
LOWtest/notifications_test.py63 recipients=["user@example.com"],CODE
LOWtest/contrib/gcs_test.py150 lorem = b"Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt\CODE
LOWtest/contrib/gcs_test.py150 lorem = b"Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt\CODE
LOWtest/contrib/gcs_test.py165 lorem = b"Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt\CODE
LOWtest/contrib/gcs_test.py165 lorem = b"Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt\CODE
LOWtest/contrib/rdbms_test.py45 user = "dummy_user"CODE
LOWtest/contrib/redshift_test.py61 user = "dummy_user"CODE
LOWtest/contrib/redshift_test.py89 user = "dummy_user"CODE
LOWtest/contrib/redshift_test.py493 user = "dummy_user"CODE
LOWtest/contrib/redshift_test.py536 user = "dummy_user"CODE
LOWtest/contrib/mongo_test.py166 {"_id": "person_1", "age": 11, "experience": 10, "content": "Lorem ipsum, dolor sit amet. Consectetur adipisCODE
LOWtest/contrib/mongo_test.py166 {"_id": "person_1", "age": 11, "experience": 10, "content": "Lorem ipsum, dolor sit amet. Consectetur adipisCODE
LOWtest/contrib/postgres_test.py55 user = "dummy_user"CODE
LOWtest/contrib/postgres_test.py95 user = "dummy_user"CODE
LOWtest/contrib/kubernetes_test.py64 return {"dummy_label": "dummy_value"}CODE
LOWtest/contrib/mysqldb_test.py40 user = "dummy_user"CODE
LOW…/visualiser/lib/datatables/js/jquery.dataTables.min.js38(fa(a,{sSearch:b,bRegex:d.bRegex,bSmart:d.bSmart,bCaseInsensitive:d.bCaseInsensitive}),a._iDisplayStart=0,M(a))},g=null!CODE
Redundant / Tautological Comments11 hits · 16 pts
SeverityFileLineSnippetContext
LOWtest/conftest.py42 # Check if the item has any markers (custom or builtin)COMMENT
LOW⚡test/safe_extractor_test.py88 # Check if the file existsCOMMENT
LOW⚡test/safe_extractor_test.py91 # Check if the file content is correctCOMMENT
LOWtest/contrib/redshift_test.py245 # Check if the `S3CopyToTable.s3_load_path` class attribute wasCOMMENT
LOWtest/contrib/redshift_test.py360 # Check if the `S3CopyToTable.s3_load_path` class attribute wasCOMMENT
LOWtest/contrib/spark_test.py368 # Check if find_class finds the class for the correct module name.COMMENT
LOWtest/contrib/spark_test.py400 # Check if find_class finds the class for the correct module name.COMMENT
LOWluigi/util.py294 # Check if the parameter exists in the inheriting taskCOMMENT
LOWluigi/mypy.py129 # Check if a 'default' argument is explicitly providedCOMMENT
LOWluigi/parameter.py1809 # Output message in new fileSTRING
LOWluigi/contrib/sqla.py321 reflect = False # Set this to true only if the table has already been created by alternate meansCODE
AI Structural Patterns7 hits · 7 pts
SeverityFileLineSnippetContext
LOWluigi/scheduler.py230CODE
LOWluigi/scheduler.py805CODE
LOWluigi/parameter.py205CODE
LOWluigi/parameter.py1028CODE
LOWluigi/contrib/hadoop.py390CODE
LOWluigi/contrib/webhdfs.py69CODE
LOWluigi/contrib/ftp.py371CODE
AI Slop Vocabulary4 hits · 7 pts
SeverityFileLineSnippetContext
LOW⚡test/contrib/s3_test.py593 # we can just use this keyCOMMENT
LOWluigi/worker.py72# unscientifically just set the final value to a floating point number thatCOMMENT
LOWluigi/lock.py141 # If the file happen to not exist, simply returnCOMMENT
LOWluigi/contrib/hdfs/config.py113 # just return any random temporary locationCOMMENT
Overly Generic Function Names5 hits · 5 pts
SeverityFileLineSnippetContext
LOWtest/task_forwarded_attributes_test.py65 def run_task(self, task):CODE
LOWtest/scheduler_test.py366 def run_task(self):CODE
LOWtest/db_task_history_test.py129 def run_task(self, task):CODE
LOWtest/db_task_history_test.py171 def run_task(self, task):CODE
LOWtest/execution_summary_test.py36 def run_task(self, task):CODE
Modern Structural Boilerplate5 hits · 5 pts
SeverityFileLineSnippetContext
LOWluigi/__init__.py77__all__ = [CODE
LOWluigi/scheduler.py46logger = logging.getLogger(__name__)CODE
LOWluigi/configuration/__init__.py21__all__ = [CODE
LOWluigi/contrib/opener.py42__all__ = ["OpenerError", "NoOpenerError", "InvalidQuery", "OpenerRegistry", "Opener", "MockOpener", "LocalOpener", "S3OCODE
LOWluigi/contrib/batch.py70logger = logging.getLogger(__name__)CODE
Dead Code2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMtest/execution_summary_test.py160CODE
MEDIUMtest/execution_summary_test.py263CODE
Decorative Section Separators1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMtest/visualiser/visualiser_test.py319# ---------------------------------------------------------------------------COMMENT
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOWluigi/contrib/ssh.py145 # make sure to get the data so we know the connection is establishedCOMMENT