Repository Analysis

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.

22.6 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of spotify/luigi, a Python project with 18,745 GitHub stars. SynthScan v2.0 examined 71,316 lines of code across 319 source files, recording 1421 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 22.6 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

22.6
Adjusted Score
22.6
Raw Score
100%
Time Factor
2026-07-01
Last Push
18.7K
Stars
Python
Language
71.3K
Lines of Code
319
Files
1.4K
Pattern Hits
2026-07-14
Scan Date
0.12
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 4HIGH 35MEDIUM 15LOW 1367

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 1421 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers918 hits · 920 pts
SeverityFileLineSnippetContext
LOWtest/notifications_test.py36 def test_normalize_images_handles_none_list_and_tuple(self):CODE
LOWtest/notifications_test.py41 def test_iter_images_handles_none_list_and_tuple(self):CODE
LOWtest/notifications_test.py46 def test_generate_email_attaches_multiple_images(self):CODE
LOWtest/notifications_test.py193 def test_email_disabled_reason_format_none(self):CODE
LOWtest/notifications_test.py197 def test_email_disabled_reason_force_send(self):CODE
LOWtest/notifications_test.py201 def test_email_disabled_reason_tty(self):CODE
LOWtest/notifications_test.py206 def test_email_disabled_reason_default_allows_sending(self):CODE
LOWtest/notifications_test.py210 def test_generate_unicode_email(self):CODE
LOWtest/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
LOWtest/optional_parameter_test.py56 def test_optional_int_parameter(self):CODE
LOWtest/optional_parameter_test.py61 def test_optional_bool_parameter(self):CODE
LOWtest/optional_parameter_test.py66 def test_optional_float_parameter(self):CODE
LOWtest/optional_parameter_test.py71 def test_optional_dict_parameter(self):CODE
LOWtest/optional_parameter_test.py76 def test_optional_list_parameter(self):CODE
LOWtest/optional_parameter_test.py81 def test_optional_tuple_parameter(self):CODE
LOWtest/optional_parameter_test.py86 def test_optional_numerical_parameter_float(self):CODE
LOWtest/optional_parameter_test.py91 def test_optional_numerical_parameter_int(self):CODE
LOWtest/optional_parameter_test.py96 def test_optional_choice_parameter(self):CODE
LOWtest/optional_parameter_test.py102 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
LOWtest/interface_test.py67 def _summary_dict_module_path():CODE
LOWtest/interface_test.py70 def test_interface_run_positive_path(self):CODE
LOWtest/interface_test.py75 def test_interface_run_positive_path_with_detailed_summary_enabled(self):CODE
LOWtest/interface_test.py80 def test_interface_run_with_add_failure(self):CODE
LOWtest/interface_test.py85 def test_interface_run_with_add_failure_with_detailed_summary_enabled(self):CODE
LOWtest/interface_test.py90 def test_interface_run_with_run_failure(self):CODE
LOWtest/interface_test.py95 def test_interface_run_with_run_failure_with_detailed_summary_enabled(self):CODE
LOWtest/interface_test.py101 def test_that_status_is_success(self, fake_summary_dict):CODE
LOWtest/interface_test.py108 def test_that_status_is_success_with_retry(self, fake_summary_dict):CODE
LOWtest/interface_test.py115 def test_that_status_is_failed_when_there_is_one_failed_task(self, fake_summary_dict):CODE
LOWtest/interface_test.py122 def test_that_status_is_failed_with_scheduling_failure(self, fake_summary_dict):CODE
LOWtest/interface_test.py131 def test_that_status_is_scheduling_failed_with_one_scheduling_error(self, fake_summary_dict):CODE
LOWtest/interface_test.py138 def test_that_status_is_not_run_with_one_task_not_run(self, fake_summary_dict):CODE
LOWtest/interface_test.py145 def test_that_status_is_missing_ext_with_one_task_with_missing_external_dependency(self, fake_summary_dict):CODE
LOWtest/interface_test.py151 def test_stops_worker_on_add_exception(self):CODE
LOWtest/interface_test.py159 def test_stops_worker_on_run_exception(self):CODE
858 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…
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 Imports77 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__.py63CODE
LOWluigi/__init__.py63CODE
LOWluigi/__init__.py64CODE
LOWluigi/__init__.py65CODE
LOWluigi/__init__.py65CODE
17 more matches not shown…
Deep Nesting53 hits · 52 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
LOWtest/interface_test.py206 except Exception:CODE
LOWtest/db_task_history_test.py144 except Exception:CODE
MEDIUMtest/db_task_history_test.py141def setUp(self):CODE
LOWtest/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
LOWtest/contrib/dropbox_test.py175 except Exception as ex:CODE
LOWtest/contrib/dropbox_test.py180 except Exception as ex:CODE
LOWtest/contrib/dropbox_test.py189 except Exception as ex:CODE
LOWtest/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
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
MEDIUMluigi/worker.py393def get(self, block=None, timeout=None):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
HIGHtest/rpc_test.py117 fetch_results = ['{"response": null}', '{"response": {"pass": true}}']CODE
HIGHtest/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.py1298 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
MEDIUMtest/safe_extractor_test.py101 # Create a tar file with 3 filesCOMMENT
MEDIUMtest/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.py145 lorem = b"Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt\CODE
LOWtest/contrib/gcs_test.py145 lorem = b"Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt\CODE
LOWtest/contrib/gcs_test.py160 lorem = b"Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt\CODE
LOWtest/contrib/gcs_test.py160 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
LOWtest/safe_extractor_test.py88 # Check if the file existsCOMMENT
LOWtest/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.py1803 # 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.py1022CODE
LOWluigi/contrib/hadoop.py390CODE
LOWluigi/contrib/webhdfs.py69CODE
LOWluigi/contrib/ftp.py371CODE
AI Slop Vocabulary4 hits · 7 pts
SeverityFileLineSnippetContext
LOWtest/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__.py76__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