Repository Analysis

pypa/setuptools

Official project repository for the Setuptools build system

13.7 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of pypa/setuptools, a Python project with 2,840 GitHub stars. SynthScan v2.0 examined 85,174 lines of code across 374 source files, recording 1021 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 13.7 places this repository in the Low 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).

13.7
Adjusted Score
13.7
Raw Score
100%
Time Factor
2026-07-12
Last Push
2.8K
Stars
Python
Language
85.2K
Lines of Code
374
Files
1.0K
Pattern Hits
2026-07-14
Scan Date
0.03
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 0HIGH 12MEDIUM 73LOW 936

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 1021 distinct pattern matches across 17 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 Identifiers399 hits · 372 pts
SeverityFileLineSnippetContext
LOWconftest.py57 def disable_plugins_already_run(cls, config):CODE
LOWtools/build_launchers.py80def build_cmake_project_with_msbuild(build_arena, msbuild_parameters):CODE
LOWtools/generate_validation_code.py10def generate_pyproject_validation(dest: Path, schemas: Iterable[Path]) -> bool:CODE
LOWsetuptools/_normalization.py120def filename_component_broken(value: str) -> str:CODE
LOWsetuptools/_normalization.py148def safer_best_effort_version(value: str) -> str:CODE
LOWsetuptools/_normalization.py155def _missing_canonicalize_license_expression(expression: str) -> str:CODE
LOWsetuptools/discovery.py459 def _ensure_no_accidental_inclusion(self, detected: list[str], kind: str):CODE
LOWsetuptools/discovery.py499 def _find_name_single_package_or_module(self) -> str | None:STRING
LOWsetuptools/__init__.py68 def _get_project_config_files(self, filenames=None):CODE
LOWsetuptools/installer.py142def _warn_wheel_not_available(dist):CODE
LOWsetuptools/extension.py163 def _convert_pyx_sources_to_lang(self):CODE
LOWsetuptools/_core_metadata.py52def _read_field_unescaped_from_msg(msg: Message, field: str) -> str | None:CODE
LOWsetuptools/monkey.py93def _patch_distribution_metadata():CODE
LOWsetuptools/build_meta.py99def no_install_setup_requires():CODE
LOWsetuptools/build_meta.py114def _get_immediate_subdirectories(a_dir):CODE
LOWsetuptools/build_meta.py141def suppress_known_deprecation():CODE
LOWsetuptools/build_meta.py330 def get_requires_for_build_wheel(CODE
LOWsetuptools/build_meta.py335 def get_requires_for_build_sdist(CODE
LOWsetuptools/build_meta.py340 def _bubble_up_info_directory(CODE
LOWsetuptools/build_meta.py368 def prepare_metadata_for_build_wheel(CODE
LOWsetuptools/build_meta.py478 def get_requires_for_build_editable(CODE
LOWsetuptools/build_meta.py483 def prepare_metadata_for_build_editable(CODE
LOWsetuptools/msvc.py387 def _find_latest_available_vs_ver(self):STRING
LOWsetuptools/_scripts.py143 def importlib_load_entry_point(spec, group, name):CODE
LOWsetuptools/dist.py407 def _finalize_license_expression(self) -> None:CODE
LOWsetuptools/dist.py648 def _enforce_option_lowercase(self, opt: str, section: str) -> str:STRING
LOWsetuptools/dist.py671 def _skip_setupcfg_normalization(self, section: str) -> bool:STRING
LOWsetuptools/dist.py734 def _get_project_config_files(self, filenames: Iterable[StrPath] | None):STRING
LOWsetuptools/_vendor/packaging/metadata.py589 def _process_metadata_version(self, value: str) -> _MetadataVersion:CODE
LOWsetuptools/_vendor/packaging/metadata.py624 def _process_description_content_type(self, value: str) -> str:CODE
LOWsetuptools/_vendor/packaging/metadata.py706 def _process_license_expression(self, value: str) -> NormalizedLicenseExpression:CODE
LOWsetuptools/_vendor/packaging/pylock.py203def _get_required_sequence_of_objects(CODE
LOWsetuptools/_vendor/packaging/pylock.py213def _validate_normalized_name(name: str) -> NormalizedName:CODE
LOWsetuptools/_vendor/packaging/_parser.py95def _parse_requirement_details(CODE
LOWsetuptools/_vendor/packaging/_parser.py148def _parse_requirement_marker(CODE
LOWsetuptools/_vendor/packaging/markers.py378def _repair_python_full_version(CODE
LOWsetuptools/_vendor/packaging/_manylinux.py86def _glibc_version_string_confstr() -> str | None:CODE
LOWsetuptools/_vendor/packaging/_manylinux.py105def _glibc_version_string_ctypes() -> str | None:CODE
LOWsetuptools/_vendor/packaging/specifiers.py493 def _compare_greater_than_equal(self, prospective: Version, spec: str) -> bool:CODE
LOWsetuptools/_vendor/packaging/licenses/__init__.py60def canonicalize_license_expression(CODE
LOWsetuptools/_vendor/importlib_metadata/__init__.py619 def _read_files_egginfo_installed(self):CODE
LOWsetuptools/_vendor/importlib_metadata/__init__.py647 def _read_files_egginfo_sources(self):CODE
LOWsetuptools/_vendor/importlib_metadata/__init__.py680 def _convert_egg_info_reqs_to_simple_reqs(sections):CODE
LOWsetuptools/_vendor/wheel/_metadata.py89def requires_to_requires_dist(requirement: Requirement) -> str:STRING
LOWsetuptools/_vendor/wheel/macosx_libfile.py261def get_base_class_and_magic_number(CODE
LOWsetuptools/_vendor/wheel/macosx_libfile.py292def extract_macosx_min_system_version(path_to_lib: str):CODE
LOWsetuptools/_vendor/wheel/macosx_libfile.py407def calculate_macosx_platform_tag(archive_root: StrPath, platform_tag: str) -> str:CODE
LOWsetuptools/_vendor/more_itertools/more.py4272def nth_combination_with_replacement(iterable, r, index):CODE
LOWsetuptools/_vendor/more_itertools/more.py4420def combination_with_replacement_index(element, iterable):CODE
LOWsetuptools/_vendor/more_itertools/recipes.py689def random_combination_with_replacement(iterable, r):CODE
LOWsetuptools/_vendor/more_itertools/recipes.py1386def _running_median_minheap_and_maxheap(iterator): # pragma: no coverCODE
LOWsetuptools/_vendor/more_itertools/recipes.py1402def _running_median_minheap_only(iterator): # pragma: no coverCODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py1198 def _create_pax_generic_header(cls, pax_headers, type, encoding):CODE
LOWsetuptools/_vendor/tomli/_parser.py361def skip_comments_and_array_ws(src: str, pos: Pos) -> Pos:CODE
LOWsetuptools/_vendor/tomli/_parser.py595def parse_basic_str_escape_multiline(src: str, pos: Pos) -> tuple[Pos, str]:CODE
LOWsetuptools/_vendor/platformdirs/api.py81 def _append_app_name_and_version(self, *base: str) -> str:CODE
LOWsetuptools/_vendor/platformdirs/api.py91 def _optionally_create_directory(self, path: str) -> None:CODE
LOWsetuptools/_vendor/platformdirs/api.py95 def _first_item_as_path_if_multipath(self, directory: str) -> Path:CODE
LOWsetuptools/_vendor/platformdirs/android.py168def _android_documents_folder() -> str:CODE
LOWsetuptools/_vendor/platformdirs/android.py184def _android_downloads_folder() -> str:CODE
339 more matches not shown…
Unused Imports200 hits · 200 pts
SeverityFileLineSnippetContext
LOWtools/generate_validation_code.py1CODE
LOWdocs/conf.py1CODE
LOWsetuptools/_path.py1CODE
LOWsetuptools/modified.py3CODE
LOWsetuptools/modified.py3CODE
LOWsetuptools/modified.py3CODE
LOWsetuptools/modified.py3CODE
LOWsetuptools/modified.py11CODE
LOWsetuptools/modified.py11CODE
LOWsetuptools/modified.py11CODE
LOWsetuptools/modified.py11CODE
LOWsetuptools/discovery.py40CODE
LOWsetuptools/discovery.py50CODE
LOWsetuptools/warnings.py8CODE
LOWsetuptools/_reqs.py1CODE
LOWsetuptools/depends.py1CODE
LOWsetuptools/__init__.py8CODE
LOWsetuptools/__init__.py21CODE
LOWsetuptools/__init__.py24CODE
LOWsetuptools/__init__.py27CODE
LOWsetuptools/__init__.py28CODE
LOWsetuptools/__init__.py29CODE
LOWsetuptools/installer.py1CODE
LOWsetuptools/glob.py9CODE
LOWsetuptools/extension.py1CODE
LOWsetuptools/_core_metadata.py7CODE
LOWsetuptools/_itertools.py1CODE
LOWsetuptools/monkey.py5CODE
LOWsetuptools/build_meta.py29CODE
LOWsetuptools/errors.py6CODE
LOWsetuptools/msvc.py8CODE
LOWsetuptools/_importlib.py1CODE
LOWsetuptools/_importlib.py2CODE
LOWsetuptools/_scripts.py1CODE
LOWsetuptools/dist.py1CODE
LOWsetuptools/dist.py20CODE
LOWsetuptools/compat/py312.py1CODE
LOWsetuptools/compat/py311.py1CODE
LOWsetuptools/compat/py310.py7CODE
LOWsetuptools/compat/py310.py9CODE
LOWsetuptools/_vendor/packaging/tags.py5CODE
LOWsetuptools/_vendor/packaging/_musllinux.py7CODE
LOWsetuptools/_vendor/packaging/metadata.py1CODE
LOWsetuptools/_vendor/packaging/version.py10CODE
LOWsetuptools/_vendor/packaging/pylock.py1CODE
LOWsetuptools/_vendor/packaging/_parser.py7CODE
LOWsetuptools/_vendor/packaging/utils.py5CODE
LOWsetuptools/_vendor/packaging/requirements.py4CODE
LOWsetuptools/_vendor/packaging/markers.py5CODE
LOWsetuptools/_vendor/packaging/_manylinux.py1CODE
LOWsetuptools/_vendor/packaging/_tokenizer.py1CODE
LOWsetuptools/_vendor/packaging/specifiers.py11CODE
LOWsetuptools/_vendor/packaging/_elffile.py10CODE
LOWsetuptools/_vendor/packaging/licenses/__init__.py32CODE
LOWsetuptools/_vendor/packaging/licenses/_spdx.py2CODE
LOWsetuptools/_vendor/jaraco/context/__init__.py1CODE
LOWsetuptools/_vendor/jaraco/functools/__init__.py1CODE
LOWsetuptools/_vendor/importlib_metadata/_meta.py1CODE
LOWsetuptools/_vendor/importlib_metadata/__init__.py10CODE
LOWsetuptools/_vendor/importlib_metadata/compat/py39.py5CODE
140 more matches not shown…
Decorative Section Separators40 hits · 114 pts
SeverityFileLineSnippetContext
MEDIUMsetuptools/_vendor/packaging/_parser.py67# --------------------------------------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/packaging/_parser.py69# --------------------------------------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/packaging/_parser.py261# --------------------------------------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/packaging/_parser.py263# --------------------------------------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py75#---------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py77#---------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py147#---------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py149#---------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py155#---------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py157#---------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py1#-------------------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py3#-------------------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py111#---------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py113#---------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py304#---------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py306#---------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py603#------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py605#------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py723#-----------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py725#-----------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py843#------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py845#------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py1321 #--------------------------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py1765 #--------------------------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py2468 #--------------------------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py2620 #--------------------------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py2685 #--------------------------------------------------------------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py2816#--------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py2818#--------------------COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py1977 #--------------------------------------------------------------------------STRING
MEDIUMsetuptools/config/_validate_pyproject/formats.py27# -------------------------------------------------------------------------------------COMMENT
MEDIUMsetuptools/config/_validate_pyproject/formats.py73# -------------------------------------------------------------------------------------STRING
MEDIUMsetuptools/config/_validate_pyproject/formats.py132# -------------------------------------------------------------------------------------STRING
MEDIUMsetuptools/config/_validate_pyproject/formats.py147# -------------------------------------------------------------------------------------STRING
MEDIUMsetuptools/config/_validate_pyproject/formats.py228# -------------------------------------------------------------------------------------COMMENT
MEDIUMsetuptools/config/_validate_pyproject/formats.py243# -------------------------------------------------------------------------------------COMMENT
MEDIUMsetuptools/tests/config/setupcfg_examples.txt1# ====================================================================COMMENT
MEDIUMsetuptools/tests/config/setupcfg_examples.txt4# ====================================================================COMMENT
MEDIUMsetuptools/tests/config/downloads/__init__.py16# ----------------------------------------------------------------------COMMENT
MEDIUMsetuptools/tests/config/downloads/__init__.py18# ----------------------------------------------------------------------COMMENT
Deep Nesting123 hits · 113 pts
SeverityFileLineSnippetContext
LOWsetuptools/_imp.py28CODE
LOWsetuptools/depends.py115CODE
LOWsetuptools/msvc.py316CODE
LOWsetuptools/msvc.py407CODE
LOWsetuptools/msvc.py586CODE
LOWsetuptools/msvc.py840CODE
LOWsetuptools/dist.py546CODE
LOWsetuptools/dist.py689CODE
LOWsetuptools/dist.py1020CODE
LOWsetuptools/wheel.py250CODE
LOWsetuptools/_vendor/packaging/tags.py248CODE
LOWsetuptools/_vendor/packaging/tags.py367CODE
LOWsetuptools/_vendor/packaging/tags.py399CODE
LOWsetuptools/_vendor/packaging/tags.py592CODE
LOWsetuptools/_vendor/packaging/metadata.py337CODE
LOWsetuptools/_vendor/packaging/metadata.py740CODE
LOWsetuptools/_vendor/packaging/metadata.py777CODE
LOWsetuptools/_vendor/packaging/metadata.py954CODE
LOWsetuptools/_vendor/packaging/markers.py233CODE
LOWsetuptools/_vendor/packaging/_manylinux.py219CODE
LOWsetuptools/_vendor/packaging/specifiers.py611CODE
LOWsetuptools/_vendor/packaging/licenses/__init__.py60CODE
LOWsetuptools/_vendor/importlib_metadata/_itertools.py133CODE
LOWsetuptools/_vendor/wheel/_metadata.py47CODE
LOWsetuptools/_vendor/wheel/_metadata.py147CODE
LOWsetuptools/_vendor/wheel/macosx_libfile.py292CODE
LOWsetuptools/_vendor/wheel/macosx_libfile.py407CODE
LOWsetuptools/_vendor/wheel/_bdist_wheel.py82CODE
LOWsetuptools/_vendor/wheel/_bdist_wheel.py119CODE
LOWsetuptools/_vendor/wheel/_bdist_wheel.py323CODE
LOWsetuptools/_vendor/wheel/wheelfile.py65CODE
LOWsetuptools/_vendor/wheel/wheelfile.py157CODE
LOWsetuptools/_vendor/wheel/_commands/tags.py26CODE
LOWsetuptools/_vendor/wheel/_commands/convert.py67CODE
LOWsetuptools/_vendor/wheel/_commands/convert.py287CODE
LOWsetuptools/_vendor/wheel/_commands/convert.py136CODE
LOWsetuptools/_vendor/wheel/_commands/convert.py165CODE
LOWsetuptools/_vendor/wheel/_commands/convert.py223CODE
LOWsetuptools/_vendor/wheel/_commands/convert.py253CODE
LOWsetuptools/_vendor/more_itertools/more.py709CODE
LOWsetuptools/_vendor/more_itertools/more.py1356CODE
LOWsetuptools/_vendor/more_itertools/more.py1590CODE
LOWsetuptools/_vendor/more_itertools/more.py1718CODE
LOWsetuptools/_vendor/more_itertools/more.py2651CODE
LOWsetuptools/_vendor/more_itertools/more.py3415CODE
LOWsetuptools/_vendor/more_itertools/more.py778CODE
LOWsetuptools/_vendor/more_itertools/more.py1153CODE
LOWsetuptools/_vendor/more_itertools/more.py2282CODE
LOWsetuptools/_vendor/more_itertools/more.py2338CODE
LOWsetuptools/_vendor/more_itertools/more.py3469CODE
LOWsetuptools/_vendor/more_itertools/recipes.py858CODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py759CODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py2841CODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py343CODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py674CODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py1555CODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py1663CODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py1777CODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py2028CODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py2170CODE
63 more matches not shown…
Self-Referential Comments24 hits · 64 pts
SeverityFileLineSnippetContext
MEDIUMsetuptools/_vendor/packaging/tags.py1# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMsetuptools/_vendor/packaging/metadata.py298# This class is for writing RFC822 messagesCOMMENT
MEDIUMsetuptools/_vendor/packaging/metadata.py315# This class is for writing RFC822 messagesCOMMENT
MEDIUMsetuptools/_vendor/packaging/version.py1# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMsetuptools/_vendor/packaging/__init__.py1# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMsetuptools/_vendor/packaging/utils.py1# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMsetuptools/_vendor/packaging/requirements.py1# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMsetuptools/_vendor/packaging/_structures.py1# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMsetuptools/_vendor/packaging/markers.py1# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMsetuptools/_vendor/packaging/specifiers.py1# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMsetuptools/_vendor/more_itertools/more.py1028 # Create the filler for the next windows. The padding ensuresCOMMENT
MEDIUMsetuptools/_vendor/more_itertools/more.py2828 """This function is the inverse of :func:`itertools.accumulate`. By defaultSTRING
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py1098 # Create a pax extended header if necessary.COMMENT
MEDIUMsetuptools/_vendor/backports/tarfile/__init__.py2192 # Create a TarInfo object from the file.STRING
MEDIUMsetuptools/_vendor/autocommand/__init__.py3# This file is part of autocommand.COMMENT
MEDIUMsetuptools/_vendor/autocommand/automain.py3# This file is part of autocommand.COMMENT
MEDIUMsetuptools/_vendor/autocommand/errors.py3# This file is part of autocommand.COMMENT
MEDIUMsetuptools/_vendor/autocommand/autocommand.py3# This file is part of autocommand.COMMENT
MEDIUMsetuptools/_vendor/autocommand/autoasync.py3# This file is part of autocommand.COMMENT
MEDIUMsetuptools/_vendor/autocommand/autoparse.py3# This file is part of autocommand.COMMENT
MEDIUMsetuptools/_distutils/core.py145 # Create the Distribution instance, using the remaining argumentsSTRING
MEDIUMsetuptools/_distutils/extension.py12# This class is really only used by the "build_ext" command, so it mightCOMMENT
MEDIUMsetuptools/_distutils/tests/test_build_py.py171 # Create a fake project structure with a package namespace:COMMENT
MEDIUMsetuptools/_distutils/tests/test_core.py98 # Create a directory and write the setup.py file there:STRING
Over-Commented Block57 hits · 56 pts
SeverityFileLineSnippetContext
LOWmypy.ini41 attr-defined,COMMENT
LOW.github/workflows/ci-sage.yml1name: Run Sage CI for LinuxCOMMENT
LOW.github/workflows/ci-sage.yml21## The workflow consists of two jobs:COMMENT
LOWsetuptools/compat/py39.py1import sysCOMMENT
LOWsetuptools/_vendor/packaging/tags.py501 # Consider any iOS major.minor version from the version requested, down toCOMMENT
LOWsetuptools/_vendor/packaging/metadata.py201 # later on (if the caller is validating) so it doesn't *really*COMMENT
LOWsetuptools/_vendor/packaging/metadata.py241 bpayload = msg.get_payload(decode=True)COMMENT
LOWsetuptools/_vendor/packaging/metadata.py361 # We have to wrap parsed.keys() in a set, because in the case of multipleCOMMENT
LOWsetuptools/_vendor/packaging/metadata.py381 value = []COMMENT
LOWsetuptools/_vendor/packaging/metadata.py441 # If this is one of our string fields, then we'll check to see if ourCOMMENT
LOWsetuptools/_vendor/packaging/metadata.py461 # Special Case: KeywordsCOMMENT
LOWsetuptools/_vendor/packaging/version.py781 # Versions with a local segment need that segment parsed to implementCOMMENT
LOWsetuptools/_vendor/packaging/markers.py301COMMENT
LOWsetuptools/_vendor/packaging/specifiers.py521 # If we've gotten to here, it means that prospective version is bothCOMMENT
LOWsetuptools/_vendor/packaging/licenses/__init__.py1#######################################################################################COMMENT
LOWsetuptools/_vendor/packaging/licenses/__init__.py21# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR ACOMMENT
LOWsetuptools/_vendor/backports/tarfile/__init__.py1#-------------------------------------------------------------------COMMENT
LOWsetuptools/_vendor/backports/tarfile/__init__.py1321 #--------------------------------------------------------------------------COMMENT
LOWsetuptools/_vendor/autocommand/__init__.py1# Copyright 2014-2016 Nathan WestCOMMENT
LOWsetuptools/_vendor/autocommand/automain.py1# Copyright 2014-2015 Nathan WestCOMMENT
LOWsetuptools/_vendor/autocommand/errors.py1# Copyright 2014-2016 Nathan WestCOMMENT
LOWsetuptools/_vendor/autocommand/autocommand.py1# Copyright 2014-2015 Nathan WestCOMMENT
LOWsetuptools/_vendor/autocommand/autoasync.py1# Copyright 2014-2015 Nathan WestCOMMENT
LOWsetuptools/_vendor/autocommand/autoparse.py1# Copyright 2014-2015 Nathan WestCOMMENT
LOWsetuptools/_vendor/tomli/_parser.py21 from collections.abc import IterableCOMMENT
LOWsetuptools/_vendor/tomli/_parser.py161 out = Output()COMMENT
LOWsetuptools/_distutils/cmd.py41 two is necessary because option values might come from the outsideCOMMENT
LOWsetuptools/_distutils/cmd.py121COMMENT
LOWsetuptools/_distutils/cmd.py201 """COMMENT
LOWsetuptools/_distutils/version.py221# 3) recognize the numeric components may have leading zeroesCOMMENT
LOWsetuptools/_distutils/version.py241# lexically within a tuple comparison. This has the desired effect ifCOMMENT
LOWsetuptools/_distutils/version.py261# Perhaps a "moderately strict" version class could be implemented thatCOMMENT
LOWsetuptools/_distutils/util.py381COMMENT
LOWsetuptools/_distutils/fancy_getopt.py321 # and with wrapped text:COMMENT
LOWsetuptools/_distutils/text_file.py181COMMENT
LOWsetuptools/_distutils/text_file.py201 # (NB. this means that if the final line is all commentCOMMENT
LOWsetuptools/_distutils/dist.py181 # 'cmdclass' maps command names to class objects, so weCOMMENT
LOWsetuptools/_distutils/dist.py201 # 'command_options' is where we store command options betweenCOMMENT
LOWsetuptools/_distutils/dist.py241COMMENT
LOWsetuptools/_distutils/tests/test_sysconfig.py201 assert global_sysconfig.get_config_var('CFLAGS') == sysconfig.get_config_var(COMMENT
LOWsetuptools/_distutils/command/build_ext.py41 # XXX thoughts on how to deal with complex command-line options likeCOMMENT
LOWsetuptools/_distutils/command/build_ext.py301 # 'self.extensions', as supplied by setup.py, is a list ofCOMMENT
LOWsetuptools/_distutils/command/build_ext.py541 # accordingly.COMMENT
LOWsetuptools/_distutils/command/install_lib.py21 description = "install all Python modules (extensions and pure Python)"COMMENT
LOWsetuptools/_distutils/command/build_py.py241 ".py" file (relative to the distribution root) that implements theCOMMENT
LOWsetuptools/_distutils/command/build_py.py361COMMENT
LOWsetuptools/_distutils/command/bdist_rpm.py501COMMENT
LOWsetuptools/_distutils/command/install.py281 # own directory and creating a .pth file if it makes sense.COMMENT
LOWsetuptools/_distutils/command/install.py301 # These are only here as a conduit from the 'build' command to theCOMMENT
LOWsetuptools/_distutils/command/install.py321 # party Python modules on various platforms given a wideCOMMENT
LOWsetuptools/_distutils/compilers/C/unix.py41# Makefile and live with it. Is this adequate? If not, we mightCOMMENT
LOWsetuptools/_distutils/compilers/C/unix.py321 cc_var = sysconfig.get_config_var("CC")COMMENT
LOWsetuptools/_distutils/compilers/C/cygwin.py181COMMENT
LOWsetuptools/_distutils/compilers/C/msvc.py421 self.spawn([self.rc] + pp_opts + [output_opt, input_opt])COMMENT
LOWsetuptools/_distutils/compilers/C/base.py61 against, etc. -- are attributes of the compiler instance. To allow forCOMMENT
LOWsetuptools/_distutils/compilers/C/base.py81 # class should have methods for the common ones.COMMENT
LOWsetuptools/_distutils/compilers/C/base.py981 # * library files (shared or static) are named by plugging theCOMMENT
Modern Structural Boilerplate50 hits · 53 pts
SeverityFileLineSnippetContext
LOWsetuptools/archive_util.py14__all__ = [CODE
LOWsetuptools/modified.py18__all__ = ['newer', 'newer_pairwise', 'newer_group', 'newer_pairwise_group']CODE
LOWsetuptools/depends.py17__all__ = ['Require', 'find_module']CODE
LOWsetuptools/__init__.py33__all__ = [CODE
LOWsetuptools/glob.py22__all__ = ["glob", "iglob", "escape"]CODE
LOWsetuptools/build_meta.py57__all__ = [CODE
LOWsetuptools/dist.py50__all__ = ['Distribution']CODE
LOWsetuptools/compat/py310.py3__all__ = ['tomllib']CODE
LOWsetuptools/_vendor/packaging/tags.py26logger = logging.getLogger(__name__)CODE
LOWsetuptools/_vendor/packaging/version.py65__all__ = ["VERSION_PATTERN", "InvalidVersion", "Version", "parse"]CODE
LOWsetuptools/_vendor/packaging/pylock.py29__all__ = [CODE
LOWsetuptools/_vendor/packaging/markers.py19__all__ = [CODE
LOWsetuptools/_vendor/packaging/licenses/__init__.py39__all__ = [CODE
LOWsetuptools/_vendor/importlib_metadata/__init__.py44__all__ = [CODE
LOWsetuptools/_vendor/importlib_metadata/_compat.py4__all__ = ['install', 'NullFinder']CODE
LOWsetuptools/_vendor/wheel/wheelfile.py3__all__ = ["WHEEL_INFO_RE", "WheelFile", "WheelError"]CODE
LOWsetuptools/_vendor/wheel/wheelfile.py129 def _update_crc(newdata: bytes) -> None:CODE
LOWsetuptools/_vendor/zipp/__init__.py24__all__ = ['Path']CODE
LOWsetuptools/_vendor/more_itertools/more.py60__all__ = [CODE
LOWsetuptools/_vendor/more_itertools/recipes.py39__all__ = [CODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py66__all__ = ["TarFile", "TarInfo", "is_tarfile", "TarError", "ReadError",CODE
LOWsetuptools/_vendor/platformdirs/macos.py144__all__ = [CODE
LOWsetuptools/_vendor/platformdirs/unix.py270__all__ = [CODE
LOWsetuptools/_vendor/platformdirs/version.py4__all__ = [CODE
LOWsetuptools/_vendor/platformdirs/__init__.py593__all__ = [CODE
LOWsetuptools/_vendor/platformdirs/android.py247__all__ = [CODE
LOWsetuptools/_vendor/platformdirs/windows.py270__all__ = [CODE
LOWsetuptools/config/_apply_pyprojecttoml.py388def _set_static_list_metadata(attr: str, dist: Distribution, val: list) -> None:CODE
LOWsetuptools/config/_validate_pyproject/__init__.py10__all__ = [CODE
LOWsetuptools/tests/__init__.py6__all__ = ['fail_on_ascii']CODE
LOWsetuptools/tests/config/downloads/__init__.py9__all__ = ["DOWNLOAD_DIR", "retrieve_file", "output_file", "urls_from_file"]CODE
LOWsetuptools/command/setopt.py12__all__ = ['config_file', 'edit_config', 'option_base', 'setopt']CODE
LOWsetuptools/_distutils/_msvccompiler.py5__all__ = ["MSVCCompiler"]CODE
LOWsetuptools/_distutils/filelist.py42 def set_allfiles(self, allfiles: Iterable[str]) -> None:CODE
LOWsetuptools/_distutils/ccompiler.py15__all__ = [CODE
LOWsetuptools/_distutils/core.py29__all__ = ['Distribution', 'Command', 'Extension', 'setup']CODE
LOWsetuptools/_distutils/cygwinccompiler.py11__all__ = [CODE
LOWsetuptools/_distutils/dist.py1330 def set_keywords(self, value: str | Iterable[str]) -> None:CODE
LOWsetuptools/_distutils/dist.py1336 def set_platforms(self, value: str | Iterable[str]) -> None:CODE
LOWsetuptools/_distutils/dist.py1342 def set_classifiers(self, value: str | Iterable[str]) -> None:CODE
LOWsetuptools/_distutils/dist.py1352 def set_requires(self, value: Iterable[str]) -> None:CODE
LOWsetuptools/_distutils/dist.py1362 def set_provides(self, value: Iterable[str]) -> None:CODE
LOWsetuptools/_distutils/dist.py1373 def set_obsoletes(self, value: Iterable[str]) -> None:CODE
LOWsetuptools/_distutils/command/__init__.py6__all__ = [CODE
LOWsetuptools/_distutils/compilers/C/base.py169 def set_executables(self, **kwargs: str) -> None:CODE
LOWsetuptools/_distutils/compilers/C/base.py286 def set_include_dirs(self, dirs: list[str]) -> None:CODE
LOWsetuptools/_distutils/compilers/C/base.py312 def set_libraries(self, libnames: list[str]) -> None:CODE
LOWsetuptools/_distutils/compilers/C/base.py328 def set_library_dirs(self, dirs: list[str]) -> None:CODE
LOWsetuptools/_distutils/compilers/C/base.py341 def set_runtime_library_dirs(self, dirs: list[str]) -> None:CODE
LOWsetuptools/_distutils/compilers/C/base.py357 def set_link_objects(self, objects: list[str]) -> None:CODE
Cross-File Repetition9 hits · 45 pts
SeverityFileLineSnippetContext
HIGHsetuptools/_vendor/wheel/_metadata.py0convert an arbitrary string to a standard distribution name any runs of non-alphanumeric/. characters are replaced with STRING
HIGHsetuptools/_vendor/wheel/_bdist_wheel.py0convert an arbitrary string to a standard distribution name any runs of non-alphanumeric/. characters are replaced with STRING
HIGHsetuptools/_distutils/command/install_egg_info.py0convert an arbitrary string to a standard distribution name any runs of non-alphanumeric/. characters are replaced with STRING
HIGHsetuptools/_vendor/platformdirs/macos.py0:return: state directory tied to the user, same as `user_data_dir`STRING
HIGHsetuptools/_vendor/platformdirs/android.py0:return: state directory tied to the user, same as `user_data_dir`STRING
HIGHsetuptools/_vendor/platformdirs/windows.py0:return: state directory tied to the user, same as `user_data_dir`STRING
HIGHsetuptools/_vendor/platformdirs/macos.py0:return: runtime directory shared by users, same as `user_runtime_dir`STRING
HIGHsetuptools/_vendor/platformdirs/android.py0:return: runtime directory shared by users, same as `user_runtime_dir`STRING
HIGHsetuptools/_vendor/platformdirs/windows.py0:return: runtime directory shared by users, same as `user_runtime_dir`STRING
Excessive Try-Catch Wrapping40 hits · 44 pts
SeverityFileLineSnippetContext
LOWsetuptools/version.py5except Exception:CODE
LOWsetuptools/__init__.py72 except Exception:CODE
LOWsetuptools/__init__.py93 except Exception as ex:CODE
LOWsetuptools/extension.py25 except Exception:CODE
LOWsetuptools/dist.py206 except Exception as e:CODE
MEDIUMsetuptools/dist.py84def check_importable(dist, attr, value):CODE
LOWsetuptools/_vendor/packaging/pylock.py139 except Exception as e:CODE
LOWsetuptools/_vendor/packaging/pylock.py170 except Exception as e:CODE
LOWsetuptools/_vendor/packaging/pylock.py183 except Exception as e:CODE
LOWsetuptools/_vendor/packaging/pylock.py198 except Exception as e:CODE
LOWsetuptools/_vendor/packaging/pylock.py546 except Exception as e:CODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py2665 except Exception as e:CODE
LOWsetuptools/_vendor/platformdirs/android.py132 except Exception: # noqa: BLE001CODE
LOWsetuptools/_vendor/platformdirs/android.py142 except Exception: # noqa: BLE001CODE
LOWsetuptools/_vendor/platformdirs/android.py177 except Exception: # noqa: BLE001CODE
LOWsetuptools/_vendor/platformdirs/android.py193 except Exception: # noqa: BLE001CODE
LOWsetuptools/_vendor/platformdirs/android.py209 except Exception: # noqa: BLE001CODE
LOWsetuptools/_vendor/platformdirs/android.py225 except Exception: # noqa: BLE001CODE
LOWsetuptools/_vendor/platformdirs/android.py241 except Exception: # noqa: BLE001CODE
LOWsetuptools/config/_apply_pyprojecttoml.py358 except Exception as ex:CODE
LOWsetuptools/config/pyprojecttoml.py418 except Exception as ex:CODE
LOWsetuptools/config/expand.py76 except Exception as e:CODE
LOWsetuptools/config/expand.py188 except Exception:CODE
LOWsetuptools/config/_validate_pyproject/formats.py209 except Exception: # noqa: BLE001STRING
LOWsetuptools/config/_validate_pyproject/formats.py266 except Exception: # noqa: BLE001CODE
LOWsetuptools/tests/contexts.py92 except Exception:CODE
MEDIUMsetuptools/tests/contexts.py78def suppress_exceptions(*excs):CODE
LOWsetuptools/tests/fixtures.py65 except Exception:CODE
LOWsetuptools/tests/test_sdist.py95 except Exception:STRING
MEDIUMsetuptools/tests/test_sdist.py90def latin1_fail():CODE
LOWsetuptools/command/editable_wheel.py141 except Exception as ex:STRING
LOWsetuptools/command/editable_wheel.py305 except Exception:CODE
LOWsetuptools/command/editable_wheel.py609 except Exception as ex:STRING
MEDIUMsetuptools/command/editable_wheel.py130def run(self) -> None:CODE
LOWsetuptools/command/sdist.py101 except Exception:CODE
LOWsetuptools/_distutils/tests/test_archive_util.py244 except Exception:CODE
LOWsetuptools/_distutils/command/install.py146 except Exception:CODE
LOWsetuptools/_distutils/compilers/C/tests/test_msvc.py93 except Exception:CODE
MEDIUMsetuptools/_distutils/compilers/C/tests/test_msvc.py90def run(self):CODE
LOW_distutils_hack/__init__.py121 except Exception:CODE
Fake / Example Data29 hits · 33 pts
SeverityFileLineSnippetContext
LOWsetuptools/_vendor/jaraco/text/__init__.py185 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed doCODE
LOWsetuptools/_vendor/jaraco/text/__init__.py185 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed doCODE
LOWsetuptools/_vendor/jaraco/text/__init__.py223 Lorem ipsum dolor sit amet, consectetur adipiscing ...CODE
LOWsetuptools/_vendor/jaraco/text/__init__.py223 Lorem ipsum dolor sit amet, consectetur adipiscing ...CODE
LOWsetuptools/_vendor/jaraco/text/__init__.py233 files(__name__).joinpath('Lorem ipsum.txt').read_text(encoding='utf-8')STRING
LOWsetuptools/_vendor/jaraco/text/__init__.py522 >>> normalize_newlines('Lorem Ipsum\u2029')CODE
LOWsetuptools/_vendor/jaraco/text/__init__.py523 'Lorem Ipsum\n'CODE
LOWsetuptools/_vendor/jaraco/text/__init__.py524 >>> normalize_newlines('Lorem Ipsum\r\n')CODE
LOWsetuptools/_vendor/jaraco/text/__init__.py525 'Lorem Ipsum\n'CODE
LOWsetuptools/_vendor/jaraco/text/__init__.py526 >>> normalize_newlines('Lorem Ipsum\x85')CODE
LOWsetuptools/_vendor/jaraco/text/__init__.py527 'Lorem Ipsum\n'CODE
LOWsetuptools/_vendor/jaraco/text/__init__.py640 >>> lines = lines_from(files(__name__).joinpath('Lorem ipsum.txt'))CODE
LOWsetuptools/_vendor/jaraco/text/__init__.py642 'Lorem ipsum...'CODE
LOWsetuptools/_vendor/jaraco/text/Lorem ipsum.txt1Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqCODE
LOWsetuptools/_vendor/jaraco/text/Lorem ipsum.txt1Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqCODE
LOWsetuptools/tests/test_warnings.py23 args=("Summary", "Lorem ipsum"),STRING
LOWsetuptools/tests/test_warnings.py30 Lorem ipsumCODE
LOWsetuptools/tests/test_warnings.py40 args=("Summary", "Lorem ipsum"),STRING
LOWsetuptools/tests/test_warnings.py47 Lorem ipsumCODE
LOWsetuptools/tests/test_warnings.py79 _DETAILS = "Lorem ipsum"STRING
LOWsetuptools/tests/test_warnings.py92 Lorem ipsumCODE
LOWsetuptools/tests/test_bdist_wheel.py91 author_email="illustrious@example.org",CODE
LOWsetuptools/tests/config/test_setupcfg.py128 'name = fake_name\n'CODE
LOWsetuptools/tests/config/test_setupcfg.py152 assert metadata.name == 'fake_name'CODE
LOWsetuptools/tests/config/test_setupcfg.py155 assert metadata.maintainer_email == 'test@test.com'CODE
LOWsetuptools/tests/config/test_setupcfg.py216 assert metadata.author_email == 'test@test.com'CODE
LOWsetuptools/tests/config/test_setupcfg.py229 'name = fake_name\n'CODE
LOWsetuptools/tests/config/test_setupcfg.py349 fake_env(tmpdir, '[metadata]\nname = fake_name\nunknown = some\n')CODE
LOWsetuptools/tests/config/test_setupcfg.py439 {"author-email": "test@test.com"},CODE
AI Slop Vocabulary19 hits · 32 pts
SeverityFileLineSnippetContext
MEDIUMruff.toml15 # Ensure modern type annotation syntax and best practicesCOMMENT
MEDIUMtox.ini38 # use verbose mode by default to facilitate debugging from CI logsCOMMENT
MEDIUMsetuptools/errors.py10# Re-export errors from distutils to facilitate the migration to PEP632COMMENT
LOWsetuptools/_vendor/packaging/metadata.py222 # is unparsable, and we can just add the whole thing to ourCOMMENT
LOWsetuptools/_vendor/packaging/metadata.py418 # This is already a string, so just add it.COMMENT
LOWsetuptools/_vendor/packaging/metadata.py447 # what we should parse it as, and we have to just add it to our listCOMMENT
LOWsetuptools/_vendor/packaging/specifiers.py505 # version. If it's not we can short circuit and just return False nowCOMMENT
LOWsetuptools/_vendor/packaging/specifiers.py532 # version. If it's not we can short circuit and just return False nowCOMMENT
LOWsetuptools/_vendor/packaging/specifiers.py792 # then we'll just return None since we don't know if this should haveCOMMENT
LOWsetuptools/_vendor/wheel/_commands/convert.py160 # For any other file, just pass it throughCOMMENT
LOWsetuptools/_vendor/wheel/_commands/convert.py189 # For any other file, just pass it throughCOMMENT
LOWsetuptools/_vendor/wheel/_commands/convert.py283 # For any other file, just pass it throughCOMMENT
LOWsetuptools/_vendor/backports/tarfile/__init__.py1468 # Normally, we could just use "utf-8" as the encoding and "strict"COMMENT
LOWsetuptools/command/dist_info.py101 # TODO: if bdist_wheel if merged into setuptools, just add "keep_egg_info" thereCOMMENT
MEDIUMsetuptools/_distutils/util.py415 # safety's sake (script should be more robust in the face ofSTRING
LOWsetuptools/_distutils/tests/support.py109 # To further add to the shared builds fun on Unix, we can't just addCOMMENT
LOWsetuptools/_distutils/command/build_py.py175 # package_dir at all, as we just use the directory impliedCOMMENT
LOWsetuptools/_distutils/command/install.py182 # Or, just set the base director(y|ies)COMMENT
LOWsetuptools/_distutils/compilers/C/unix.py40# * optimization/debug/warning flags; we just use whatever's in Python'sCOMMENT
AI Structural Patterns14 hits · 13 pts
SeverityFileLineSnippetContext
LOWsetuptools/_vendor/packaging/pylock.py479CODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py948CODE
LOWsetuptools/_vendor/backports/tarfile/__init__.py1663CODE
LOWsetuptools/command/build_ext.py406CODE
LOWsetuptools/command/build_ext.py441CODE
LOWsetuptools/_distutils/extension.py92CODE
LOWsetuptools/_distutils/compilers/C/unix.py249CODE
LOWsetuptools/_distutils/compilers/C/zos.py166CODE
LOWsetuptools/_distutils/compilers/C/cygwin.py132CODE
LOWsetuptools/_distutils/compilers/C/msvc.py492CODE
LOWsetuptools/_distutils/compilers/C/base.py697CODE
LOWsetuptools/_distutils/compilers/C/base.py760CODE
LOWsetuptools/_distutils/compilers/C/base.py791CODE
LOWsetuptools/_distutils/compilers/C/base.py822CODE
Redundant / Tautological Comments7 hits · 9 pts
SeverityFileLineSnippetContext
LOWsetuptools/_vendor/packaging/metadata.py634 # Check if content-type is valid or defaulted to `text/plain` and thus wasCOMMENT
LOWsetuptools/_vendor/wheel/_commands/unpack.py24 # Set permissions to the same values as they were set in the archiveCOMMENT
LOWsetuptools/_vendor/more_itertools/more.py1390 # Check if beyond max levelCOMMENT
LOWsetuptools/_vendor/more_itertools/more.py1396 # Check if done iteratingCOMMENT
LOWsetuptools/_vendor/more_itertools/more.py4558 # Check if any chunks need addition processingCOMMENT
LOWsetuptools/_vendor/backports/tarfile/__init__.py1203 # Check if one of the fields contains surrogate characters and therebyCOMMENT
LOWsetuptools/_vendor/backports/tarfile/__init__.py1437 # Check if the pax header contains a hdrcharset field. This tells usCOMMENT
Cross-Language Confusion3 hits · 8 pts
SeverityFileLineSnippetContext
HIGHsetuptools/_vendor/jaraco/text/__init__.py476 null, prefix, rest = line.partition(self.prefix)STRING
HIGHsetuptools/_vendor/jaraco/text/__init__.py500 null, prefix, rest = text.rpartition(prefix)STRING
HIGHsetuptools/_distutils/dist.py521 # All is well: return trueSTRING
Verbosity Indicators3 hits · 4 pts
SeverityFileLineSnippetContext
LOWsetuptools/_vendor/autocommand/autocommand.py40 # Step 1: if requested, run it all in an asyncio event loop. autoasyncCOMMENT
LOWsetuptools/_vendor/autocommand/autocommand.py52 # Step 2: create parser. We do this second so that the arguments areCOMMENT
LOWsetuptools/_vendor/autocommand/autocommand.py64 # Step 3: call the function automatically if __name__ == '__main__' (orCOMMENT
Structural Annotation Overuse3 hits · 4 pts
SeverityFileLineSnippetContext
LOWsetuptools/_vendor/autocommand/autocommand.py40 # Step 1: if requested, run it all in an asyncio event loop. autoasyncCOMMENT
LOWsetuptools/_vendor/autocommand/autocommand.py52 # Step 2: create parser. We do this second so that the arguments areCOMMENT
LOWsetuptools/_vendor/autocommand/autocommand.py64 # Step 3: call the function automatically if __name__ == '__main__' (orCOMMENT
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsetuptools/_vendor/packaging/markers.py296 # added here, make sure to mirror/adapt Requirement.COMMENT