Official project repository for the Setuptools build system
This report summarizes scanner evidence for pypa/setuptools, a Python project with 2,865 GitHub stars. SynthScan examined 85,912 lines of code across 381 source files, recording 1104 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 17.4 (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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 651 finding(s).
Are imports declared and package/API names verified? 239 finding(s).
Are wrappers, guards, and repeated structures necessary? 634 finding(s).
Which changes need focused human review? 1104 finding(s).
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.
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.
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.
The scanner identified 1104 distinct pattern matches across 18 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | conftest.py | 57 | def disable_plugins_already_run(cls, config): | CODE |
| LOW | tools/build_launchers.py | 80 | def build_cmake_project_with_msbuild(build_arena, msbuild_parameters): | CODE |
| LOW | tools/generate_validation_code.py | 10 | def generate_pyproject_validation(dest: Path, schemas: Iterable[Path]) -> bool: | CODE |
| LOW | setuptools/_normalization.py | 120 | def filename_component_broken(value: str) -> str: | CODE |
| LOW | setuptools/_normalization.py | 148 | def safer_best_effort_version(value: str) -> str: | CODE |
| LOW | setuptools/_normalization.py | 155 | def _missing_canonicalize_license_expression(expression: str) -> str: | CODE |
| LOW | setuptools/discovery.py | 459 | def _ensure_no_accidental_inclusion(self, detected: list[str], kind: str): | CODE |
| LOW | setuptools/discovery.py | 499 | def _find_name_single_package_or_module(self) -> str | None: | STRING |
| LOW | setuptools/__init__.py | 68 | def _get_project_config_files(self, filenames=None): | CODE |
| LOW | setuptools/installer.py | 142 | def _warn_wheel_not_available(dist): | CODE |
| LOW | setuptools/extension.py | 163 | def _convert_pyx_sources_to_lang(self): | CODE |
| LOW | setuptools/_core_metadata.py | 52 | def _read_field_unescaped_from_msg(msg: Message, field: str) -> str | None: | CODE |
| LOW | setuptools/monkey.py | 93 | def _patch_distribution_metadata(): | CODE |
| LOW | setuptools/build_meta.py | 99 | def no_install_setup_requires(): | CODE |
| LOW | setuptools/build_meta.py | 114 | def _get_immediate_subdirectories(a_dir): | CODE |
| LOW | setuptools/build_meta.py | 141 | def suppress_known_deprecation(): | CODE |
| LOW⚡ | setuptools/build_meta.py | 330 | def get_requires_for_build_wheel( | CODE |
| LOW⚡ | setuptools/build_meta.py | 335 | def get_requires_for_build_sdist( | CODE |
| LOW⚡ | setuptools/build_meta.py | 340 | def _bubble_up_info_directory( | CODE |
| LOW | setuptools/build_meta.py | 368 | def prepare_metadata_for_build_wheel( | CODE |
| LOW | setuptools/build_meta.py | 478 | def get_requires_for_build_editable( | CODE |
| LOW | setuptools/build_meta.py | 483 | def prepare_metadata_for_build_editable( | CODE |
| LOW | setuptools/msvc.py | 387 | def _find_latest_available_vs_ver(self): | STRING |
| LOW | setuptools/_scripts.py | 143 | def importlib_load_entry_point(spec, group, name): | CODE |
| LOW | setuptools/dist.py | 407 | def _finalize_license_expression(self) -> None: | CODE |
| LOW | setuptools/dist.py | 648 | def _enforce_option_lowercase(self, opt: str, section: str) -> str: | STRING |
| LOW | setuptools/dist.py | 671 | def _skip_setupcfg_normalization(self, section: str) -> bool: | STRING |
| LOW | setuptools/dist.py | 734 | def _get_project_config_files(self, filenames: Iterable[StrPath] | None): | STRING |
| LOW | setuptools/_vendor/packaging/metadata.py | 589 | def _process_metadata_version(self, value: str) -> _MetadataVersion: | CODE |
| LOW | setuptools/_vendor/packaging/metadata.py | 624 | def _process_description_content_type(self, value: str) -> str: | CODE |
| LOW | setuptools/_vendor/packaging/metadata.py | 706 | def _process_license_expression(self, value: str) -> NormalizedLicenseExpression: | CODE |
| LOW⚡ | setuptools/_vendor/packaging/pylock.py | 203 | def _get_required_sequence_of_objects( | CODE |
| LOW⚡ | setuptools/_vendor/packaging/pylock.py | 213 | def _validate_normalized_name(name: str) -> NormalizedName: | CODE |
| LOW | setuptools/_vendor/packaging/_parser.py | 95 | def _parse_requirement_details( | CODE |
| LOW | setuptools/_vendor/packaging/_parser.py | 148 | def _parse_requirement_marker( | CODE |
| LOW | setuptools/_vendor/packaging/markers.py | 378 | def _repair_python_full_version( | CODE |
| LOW | setuptools/_vendor/packaging/_manylinux.py | 86 | def _glibc_version_string_confstr() -> str | None: | CODE |
| LOW | setuptools/_vendor/packaging/_manylinux.py | 105 | def _glibc_version_string_ctypes() -> str | None: | CODE |
| LOW | setuptools/_vendor/packaging/specifiers.py | 493 | def _compare_greater_than_equal(self, prospective: Version, spec: str) -> bool: | CODE |
| LOW | setuptools/_vendor/packaging/licenses/__init__.py | 60 | def canonicalize_license_expression( | CODE |
| LOW | setuptools/_vendor/importlib_metadata/__init__.py | 619 | def _read_files_egginfo_installed(self): | CODE |
| LOW | setuptools/_vendor/importlib_metadata/__init__.py | 647 | def _read_files_egginfo_sources(self): | CODE |
| LOW | setuptools/_vendor/importlib_metadata/__init__.py | 680 | def _convert_egg_info_reqs_to_simple_reqs(sections): | CODE |
| LOW | setuptools/_vendor/wheel/_metadata.py | 89 | def requires_to_requires_dist(requirement: Requirement) -> str: | STRING |
| LOW | setuptools/_vendor/wheel/macosx_libfile.py | 261 | def get_base_class_and_magic_number( | CODE |
| LOW | setuptools/_vendor/wheel/macosx_libfile.py | 292 | def extract_macosx_min_system_version(path_to_lib: str): | CODE |
| LOW | setuptools/_vendor/wheel/macosx_libfile.py | 407 | def calculate_macosx_platform_tag(archive_root: StrPath, platform_tag: str) -> str: | CODE |
| LOW | setuptools/_vendor/more_itertools/more.py | 4272 | def nth_combination_with_replacement(iterable, r, index): | CODE |
| LOW | setuptools/_vendor/more_itertools/more.py | 4420 | def combination_with_replacement_index(element, iterable): | CODE |
| LOW | setuptools/_vendor/more_itertools/recipes.py | 689 | def random_combination_with_replacement(iterable, r): | CODE |
| LOW | setuptools/_vendor/more_itertools/recipes.py | 1386 | def _running_median_minheap_and_maxheap(iterator): # pragma: no cover | CODE |
| LOW | setuptools/_vendor/more_itertools/recipes.py | 1402 | def _running_median_minheap_only(iterator): # pragma: no cover | CODE |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 1198 | def _create_pax_generic_header(cls, pax_headers, type, encoding): | CODE |
| LOW | setuptools/_vendor/tomli/_parser.py | 361 | def skip_comments_and_array_ws(src: str, pos: Pos) -> Pos: | CODE |
| LOW | setuptools/_vendor/tomli/_parser.py | 595 | def parse_basic_str_escape_multiline(src: str, pos: Pos) -> tuple[Pos, str]: | CODE |
| LOW⚡ | setuptools/_vendor/platformdirs/api.py | 81 | def _append_app_name_and_version(self, *base: str) -> str: | CODE |
| LOW⚡ | setuptools/_vendor/platformdirs/api.py | 91 | def _optionally_create_directory(self, path: str) -> None: | CODE |
| LOW⚡ | setuptools/_vendor/platformdirs/api.py | 95 | def _first_item_as_path_if_multipath(self, directory: str) -> Path: | CODE |
| LOW⚡ | setuptools/_vendor/platformdirs/android.py | 168 | def _android_documents_folder() -> str: | CODE |
| LOW⚡ | setuptools/_vendor/platformdirs/android.py | 184 | def _android_downloads_folder() -> str: | CODE |
| 347 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | setuptools/archive_util.py | 256 | except tarfile.ExtractError: | CODE |
| HIGH | setuptools/unicode_utils.py | 17 | except UnicodeError: | CODE |
| HIGH | setuptools/msvc.py | 350 | except OSError: | CODE |
| HIGH | setuptools/_vendor/packaging/tags.py | 226 | except ValueError: # noqa: PERF203 | CODE |
| HIGH | setuptools/_vendor/packaging/metadata.py | 575 | except KeyError: | CODE |
| HIGH | setuptools/_vendor/packaging/metadata.py | 567 | except AttributeError: | CODE |
| HIGH | setuptools/_vendor/packaging/markers.py | 200 | except InvalidSpecifier: | CODE |
| HIGH | setuptools/_vendor/wheel/macosx_libfile.py | 334 | except ValueError: | CODE |
| HIGH | setuptools/_vendor/more_itertools/more.py | 3328 | except TypeError: | CODE |
| HIGH | setuptools/_vendor/more_itertools/more.py | 3727 | except exceptions: | CODE |
| HIGH | setuptools/_vendor/more_itertools/more.py | 3750 | except exceptions: | CODE |
| HIGH | setuptools/_vendor/more_itertools/more.py | 4100 | except Empty: | CODE |
| HIGH | setuptools/_vendor/backports/tarfile/__init__.py | 2113 | except KeyError: | CODE |
| HIGH | setuptools/_vendor/backports/tarfile/__init__.py | 2118 | except KeyError: | CODE |
| HIGH | setuptools/_vendor/backports/tarfile/__init__.py | 2577 | except KeyError: | CODE |
| HIGH | setuptools/_vendor/backports/tarfile/__init__.py | 2582 | except KeyError: | CODE |
| HIGH | setuptools/_vendor/autocommand/__init__.py | 26 | except ImportError: # pragma: no cover | CODE |
| HIGH | setuptools/_vendor/autocommand/autocommand.py | 22 | except ImportError: # pragma: no cover | CODE |
| HIGH | setuptools/_vendor/tomli/_parser.py | 322 | except IndexError: | CODE |
| HIGH | setuptools/_vendor/platformdirs/windows.py | 255 | except ImportError: | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 1007 | except JsonSchemaValueException: | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 1021 | except JsonSchemaValueException: | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 591 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 603 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 945 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 954 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 1004 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 1423 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 1432 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 243 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 248 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 630 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 642 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 1068 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 1118 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 1141 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 1158 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 1175 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 487 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 492 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 550 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 570 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 1088 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 1103 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 1001 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 278 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 283 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 322 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 328 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 372 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 378 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 735 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 741 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 129 | except JsonSchemaValueException: pass | CODE |
| HIGH | …nfig/_validate_pyproject/fastjsonschema_validations.py | 148 | except JsonSchemaValueException: pass | CODE |
| HIGH | setuptools/tests/contexts.py | 81 | except excs: | CODE |
| HIGH | setuptools/tests/test_sdist.py | 81 | except UnicodeError: | CODE |
| HIGH | setuptools/command/bdist_egg.py | 279 | except OSError: | CODE |
| HIGH | setuptools/command/build_ext.py | 75 | except ImportError: | CODE |
| HIGH | setuptools/command/build_py.py | 246 | except KeyError: | CODE |
| 14 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/generate_validation_code.py | 1 | CODE | |
| LOW | docs/conf.py | 1 | CODE | |
| LOW | setuptools/_path.py | 1 | CODE | |
| LOW | setuptools/modified.py | 3 | CODE | |
| LOW | setuptools/modified.py | 3 | CODE | |
| LOW | setuptools/modified.py | 3 | CODE | |
| LOW | setuptools/modified.py | 3 | CODE | |
| LOW | setuptools/modified.py | 11 | CODE | |
| LOW | setuptools/modified.py | 11 | CODE | |
| LOW | setuptools/modified.py | 11 | CODE | |
| LOW | setuptools/modified.py | 11 | CODE | |
| LOW | setuptools/discovery.py | 40 | CODE | |
| LOW | setuptools/discovery.py | 50 | CODE | |
| LOW | setuptools/warnings.py | 8 | CODE | |
| LOW | setuptools/_reqs.py | 1 | CODE | |
| LOW | setuptools/depends.py | 1 | CODE | |
| LOW | setuptools/__init__.py | 8 | CODE | |
| LOW | setuptools/__init__.py | 21 | CODE | |
| LOW | setuptools/__init__.py | 24 | CODE | |
| LOW | setuptools/__init__.py | 27 | CODE | |
| LOW | setuptools/__init__.py | 28 | CODE | |
| LOW | setuptools/__init__.py | 29 | CODE | |
| LOW | setuptools/installer.py | 1 | CODE | |
| LOW | setuptools/glob.py | 9 | CODE | |
| LOW | setuptools/extension.py | 1 | CODE | |
| LOW | setuptools/_core_metadata.py | 7 | CODE | |
| LOW | setuptools/_itertools.py | 1 | CODE | |
| LOW | setuptools/monkey.py | 5 | CODE | |
| LOW | setuptools/build_meta.py | 29 | CODE | |
| LOW | setuptools/errors.py | 6 | CODE | |
| LOW | setuptools/msvc.py | 8 | CODE | |
| LOW | setuptools/_importlib.py | 1 | CODE | |
| LOW | setuptools/_importlib.py | 1 | CODE | |
| LOW | setuptools/_scripts.py | 1 | CODE | |
| LOW | setuptools/dist.py | 1 | CODE | |
| LOW | setuptools/dist.py | 20 | CODE | |
| LOW | setuptools/compat/py312.py | 1 | CODE | |
| LOW | setuptools/compat/py311.py | 1 | CODE | |
| LOW | setuptools/compat/py310.py | 7 | CODE | |
| LOW | setuptools/compat/py310.py | 9 | CODE | |
| LOW | setuptools/_vendor/packaging/tags.py | 5 | CODE | |
| LOW | setuptools/_vendor/packaging/_musllinux.py | 7 | CODE | |
| LOW | setuptools/_vendor/packaging/metadata.py | 1 | CODE | |
| LOW | setuptools/_vendor/packaging/version.py | 10 | CODE | |
| LOW | setuptools/_vendor/packaging/pylock.py | 1 | CODE | |
| LOW | setuptools/_vendor/packaging/_parser.py | 7 | CODE | |
| LOW | setuptools/_vendor/packaging/utils.py | 5 | CODE | |
| LOW | setuptools/_vendor/packaging/requirements.py | 4 | CODE | |
| LOW | setuptools/_vendor/packaging/markers.py | 5 | CODE | |
| LOW | setuptools/_vendor/packaging/_manylinux.py | 1 | CODE | |
| LOW | setuptools/_vendor/packaging/_tokenizer.py | 1 | CODE | |
| LOW | setuptools/_vendor/packaging/specifiers.py | 11 | CODE | |
| LOW | setuptools/_vendor/packaging/_elffile.py | 10 | CODE | |
| LOW | setuptools/_vendor/packaging/licenses/__init__.py | 32 | CODE | |
| LOW | setuptools/_vendor/packaging/licenses/_spdx.py | 2 | CODE | |
| LOW | setuptools/_vendor/jaraco/context/__init__.py | 1 | CODE | |
| LOW | setuptools/_vendor/jaraco/functools/__init__.py | 1 | CODE | |
| LOW | setuptools/_vendor/importlib_metadata/_meta.py | 1 | CODE | |
| LOW | setuptools/_vendor/importlib_metadata/__init__.py | 10 | CODE | |
| LOW | setuptools/_vendor/importlib_metadata/compat/py39.py | 5 | CODE | |
| 147 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | setuptools/_vendor/packaging/_parser.py | 67 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/packaging/_parser.py | 69 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/packaging/_parser.py | 261 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/packaging/_parser.py | 263 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | setuptools/_vendor/backports/tarfile/__init__.py | 75 | #--------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | setuptools/_vendor/backports/tarfile/__init__.py | 77 | #--------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | setuptools/_vendor/backports/tarfile/__init__.py | 147 | #--------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | setuptools/_vendor/backports/tarfile/__init__.py | 149 | #--------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | setuptools/_vendor/backports/tarfile/__init__.py | 155 | #--------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | setuptools/_vendor/backports/tarfile/__init__.py | 157 | #--------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 1 | #------------------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 3 | #------------------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 111 | #--------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 113 | #--------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 304 | #--------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 306 | #--------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 603 | #------------------------ | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 605 | #------------------------ | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 723 | #----------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 725 | #----------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 843 | #------------------ | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 845 | #------------------ | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 1321 | #-------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 1765 | #-------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 2468 | #-------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 2620 | #-------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 2685 | #-------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 2816 | #-------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 2818 | #-------------------- | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 1977 | #-------------------------------------------------------------------------- | STRING |
| MEDIUM | setuptools/config/_validate_pyproject/formats.py | 27 | # ------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/config/_validate_pyproject/formats.py | 73 | # ------------------------------------------------------------------------------------- | STRING |
| MEDIUM | setuptools/config/_validate_pyproject/formats.py | 132 | # ------------------------------------------------------------------------------------- | STRING |
| MEDIUM | setuptools/config/_validate_pyproject/formats.py | 147 | # ------------------------------------------------------------------------------------- | STRING |
| MEDIUM | setuptools/config/_validate_pyproject/formats.py | 228 | # ------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/config/_validate_pyproject/formats.py | 243 | # ------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setuptools/tests/config/setupcfg_examples.txt | 1 | # ==================================================================== | COMMENT |
| MEDIUM | setuptools/tests/config/setupcfg_examples.txt | 4 | # ==================================================================== | COMMENT |
| MEDIUM⚡ | setuptools/tests/config/downloads/__init__.py | 16 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | setuptools/tests/config/downloads/__init__.py | 18 | # ---------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setuptools/_imp.py | 28 | CODE | |
| LOW | setuptools/depends.py | 114 | CODE | |
| LOW | setuptools/msvc.py | 316 | CODE | |
| LOW | setuptools/msvc.py | 407 | CODE | |
| LOW | setuptools/msvc.py | 586 | CODE | |
| LOW | setuptools/msvc.py | 840 | CODE | |
| LOW | setuptools/dist.py | 546 | CODE | |
| LOW | setuptools/dist.py | 689 | CODE | |
| LOW | setuptools/dist.py | 1019 | CODE | |
| LOW | setuptools/wheel.py | 250 | CODE | |
| LOW | setuptools/_vendor/packaging/tags.py | 248 | CODE | |
| LOW | setuptools/_vendor/packaging/tags.py | 367 | CODE | |
| LOW | setuptools/_vendor/packaging/tags.py | 399 | CODE | |
| LOW | setuptools/_vendor/packaging/tags.py | 592 | CODE | |
| LOW | setuptools/_vendor/packaging/metadata.py | 337 | CODE | |
| LOW | setuptools/_vendor/packaging/metadata.py | 740 | CODE | |
| LOW | setuptools/_vendor/packaging/metadata.py | 777 | CODE | |
| LOW | setuptools/_vendor/packaging/metadata.py | 954 | CODE | |
| LOW | setuptools/_vendor/packaging/markers.py | 233 | CODE | |
| LOW | setuptools/_vendor/packaging/_manylinux.py | 219 | CODE | |
| LOW | setuptools/_vendor/packaging/specifiers.py | 611 | CODE | |
| LOW | setuptools/_vendor/packaging/licenses/__init__.py | 60 | CODE | |
| LOW | setuptools/_vendor/importlib_metadata/_itertools.py | 133 | CODE | |
| LOW | setuptools/_vendor/wheel/_metadata.py | 47 | CODE | |
| LOW | setuptools/_vendor/wheel/_metadata.py | 147 | CODE | |
| LOW | setuptools/_vendor/wheel/macosx_libfile.py | 292 | CODE | |
| LOW | setuptools/_vendor/wheel/macosx_libfile.py | 407 | CODE | |
| LOW | setuptools/_vendor/wheel/_bdist_wheel.py | 82 | CODE | |
| LOW | setuptools/_vendor/wheel/_bdist_wheel.py | 119 | CODE | |
| LOW | setuptools/_vendor/wheel/_bdist_wheel.py | 323 | CODE | |
| LOW | setuptools/_vendor/wheel/wheelfile.py | 65 | CODE | |
| LOW | setuptools/_vendor/wheel/wheelfile.py | 157 | CODE | |
| LOW | setuptools/_vendor/wheel/_commands/tags.py | 26 | CODE | |
| LOW | setuptools/_vendor/wheel/_commands/convert.py | 67 | CODE | |
| LOW | setuptools/_vendor/wheel/_commands/convert.py | 287 | CODE | |
| LOW | setuptools/_vendor/wheel/_commands/convert.py | 136 | CODE | |
| LOW | setuptools/_vendor/wheel/_commands/convert.py | 165 | CODE | |
| LOW | setuptools/_vendor/wheel/_commands/convert.py | 223 | CODE | |
| LOW | setuptools/_vendor/wheel/_commands/convert.py | 253 | CODE | |
| LOW | setuptools/_vendor/more_itertools/more.py | 709 | CODE | |
| LOW | setuptools/_vendor/more_itertools/more.py | 1356 | CODE | |
| LOW | setuptools/_vendor/more_itertools/more.py | 1590 | CODE | |
| LOW | setuptools/_vendor/more_itertools/more.py | 1718 | CODE | |
| LOW | setuptools/_vendor/more_itertools/more.py | 2651 | CODE | |
| LOW | setuptools/_vendor/more_itertools/more.py | 3415 | CODE | |
| LOW | setuptools/_vendor/more_itertools/more.py | 778 | CODE | |
| LOW | setuptools/_vendor/more_itertools/more.py | 1153 | CODE | |
| LOW | setuptools/_vendor/more_itertools/more.py | 2282 | CODE | |
| LOW | setuptools/_vendor/more_itertools/more.py | 2338 | CODE | |
| LOW | setuptools/_vendor/more_itertools/more.py | 3469 | CODE | |
| LOW | setuptools/_vendor/more_itertools/recipes.py | 858 | CODE | |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 759 | CODE | |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 2841 | CODE | |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 343 | CODE | |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 674 | CODE | |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 1555 | CODE | |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 1663 | CODE | |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 1777 | CODE | |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 2028 | CODE | |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 2170 | CODE | |
| 62 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | setuptools/_vendor/packaging/tags.py | 1 | # This file is dual licensed under the terms of the Apache License, Version | COMMENT |
| MEDIUM | setuptools/_vendor/packaging/metadata.py | 298 | # This class is for writing RFC822 messages | COMMENT |
| MEDIUM | setuptools/_vendor/packaging/metadata.py | 315 | # This class is for writing RFC822 messages | COMMENT |
| MEDIUM | setuptools/_vendor/packaging/version.py | 1 | # This file is dual licensed under the terms of the Apache License, Version | COMMENT |
| MEDIUM | setuptools/_vendor/packaging/__init__.py | 1 | # This file is dual licensed under the terms of the Apache License, Version | COMMENT |
| MEDIUM | setuptools/_vendor/packaging/utils.py | 1 | # This file is dual licensed under the terms of the Apache License, Version | COMMENT |
| MEDIUM | setuptools/_vendor/packaging/requirements.py | 1 | # This file is dual licensed under the terms of the Apache License, Version | COMMENT |
| MEDIUM | setuptools/_vendor/packaging/_structures.py | 1 | # This file is dual licensed under the terms of the Apache License, Version | COMMENT |
| MEDIUM | setuptools/_vendor/packaging/markers.py | 1 | # This file is dual licensed under the terms of the Apache License, Version | COMMENT |
| MEDIUM | setuptools/_vendor/packaging/specifiers.py | 1 | # This file is dual licensed under the terms of the Apache License, Version | COMMENT |
| MEDIUM | setuptools/_vendor/more_itertools/more.py | 1028 | # Create the filler for the next windows. The padding ensures | COMMENT |
| MEDIUM | setuptools/_vendor/more_itertools/more.py | 2828 | """This function is the inverse of :func:`itertools.accumulate`. By default | STRING |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 1098 | # Create a pax extended header if necessary. | COMMENT |
| MEDIUM | setuptools/_vendor/backports/tarfile/__init__.py | 2192 | # Create a TarInfo object from the file. | STRING |
| MEDIUM | setuptools/_vendor/autocommand/__init__.py | 3 | # This file is part of autocommand. | COMMENT |
| MEDIUM | setuptools/_vendor/autocommand/automain.py | 3 | # This file is part of autocommand. | COMMENT |
| MEDIUM | setuptools/_vendor/autocommand/errors.py | 3 | # This file is part of autocommand. | COMMENT |
| MEDIUM | setuptools/_vendor/autocommand/autocommand.py | 3 | # This file is part of autocommand. | COMMENT |
| MEDIUM | setuptools/_vendor/autocommand/autoasync.py | 3 | # This file is part of autocommand. | COMMENT |
| MEDIUM | setuptools/_vendor/autocommand/autoparse.py | 3 | # This file is part of autocommand. | COMMENT |
| MEDIUM | setuptools/_distutils/core.py | 127 | # Create the Distribution instance, using the remaining arguments | STRING |
| MEDIUM | setuptools/_distutils/extension.py | 14 | # This class is really only used by the "build_ext" command, so it might | COMMENT |
| MEDIUM | setuptools/_distutils/tests/test_build_py.py | 171 | # Create a fake project structure with a package namespace: | COMMENT |
| MEDIUM⚡ | setuptools/_distutils/tests/test_core.py | 98 | # Create a directory and write the setup.py file there: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setuptools/archive_util.py | 15 | __all__ = [ | CODE |
| LOW | setuptools/modified.py | 18 | __all__ = ['newer', 'newer_group', 'newer_pairwise', 'newer_pairwise_group'] | CODE |
| LOW | setuptools/depends.py | 17 | __all__ = ['Require', 'find_module'] | CODE |
| LOW | setuptools/__init__.py | 33 | __all__ = [ | CODE |
| LOW | setuptools/glob.py | 22 | __all__ = ["escape", "glob", "iglob"] | CODE |
| LOW | setuptools/build_meta.py | 57 | __all__ = [ | CODE |
| LOW | setuptools/dist.py | 50 | __all__ = ['Distribution'] | CODE |
| LOW | setuptools/compat/py310.py | 3 | __all__ = ['tomllib'] | CODE |
| LOW | setuptools/_vendor/packaging/tags.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | setuptools/_vendor/packaging/version.py | 65 | __all__ = ["VERSION_PATTERN", "InvalidVersion", "Version", "parse"] | CODE |
| LOW | setuptools/_vendor/packaging/pylock.py | 29 | __all__ = [ | CODE |
| LOW | setuptools/_vendor/packaging/markers.py | 19 | __all__ = [ | CODE |
| LOW | setuptools/_vendor/packaging/licenses/__init__.py | 39 | __all__ = [ | CODE |
| LOW | setuptools/_vendor/importlib_metadata/__init__.py | 44 | __all__ = [ | CODE |
| LOW | setuptools/_vendor/importlib_metadata/_compat.py | 4 | __all__ = ['install', 'NullFinder'] | CODE |
| LOW | setuptools/_vendor/wheel/wheelfile.py | 3 | __all__ = ["WHEEL_INFO_RE", "WheelFile", "WheelError"] | CODE |
| LOW | setuptools/_vendor/wheel/wheelfile.py | 129 | def _update_crc(newdata: bytes) -> None: | CODE |
| LOW | setuptools/_vendor/zipp/__init__.py | 24 | __all__ = ['Path'] | CODE |
| LOW | setuptools/_vendor/more_itertools/more.py | 60 | __all__ = [ | CODE |
| LOW | setuptools/_vendor/more_itertools/recipes.py | 39 | __all__ = [ | CODE |
| LOW⚡ | setuptools/_vendor/backports/tarfile/__init__.py | 66 | __all__ = ["TarFile", "TarInfo", "is_tarfile", "TarError", "ReadError", | CODE |
| LOW | setuptools/_vendor/platformdirs/macos.py | 144 | __all__ = [ | CODE |
| LOW | setuptools/_vendor/platformdirs/unix.py | 270 | __all__ = [ | CODE |
| LOW | setuptools/_vendor/platformdirs/version.py | 4 | __all__ = [ | CODE |
| LOW | setuptools/_vendor/platformdirs/__init__.py | 593 | __all__ = [ | CODE |
| LOW | setuptools/_vendor/platformdirs/android.py | 247 | __all__ = [ | CODE |
| LOW | setuptools/_vendor/platformdirs/windows.py | 270 | __all__ = [ | CODE |
| LOW⚡ | setuptools/config/_apply_pyprojecttoml.py | 388 | def _set_static_list_metadata(attr: str, dist: Distribution, val: list) -> None: | CODE |
| LOW | setuptools/config/_validate_pyproject/__init__.py | 10 | __all__ = [ | CODE |
| LOW | setuptools/tests/__init__.py | 6 | __all__ = ['fail_on_ascii'] | CODE |
| LOW⚡ | setuptools/tests/config/downloads/__init__.py | 9 | __all__ = ["DOWNLOAD_DIR", "output_file", "retrieve_file", "urls_from_file"] | CODE |
| LOW | setuptools/command/setopt.py | 13 | __all__ = ['config_file', 'edit_config', 'option_base', 'setopt'] | CODE |
| LOW | setuptools/_distutils/_msvccompiler.py | 5 | __all__ = ["MSVCCompiler"] | CODE |
| LOW | setuptools/_distutils/filelist.py | 42 | def set_allfiles(self, allfiles: Iterable[str]) -> None: | CODE |
| LOW | setuptools/_distutils/ccompiler.py | 15 | __all__ = [ | CODE |
| LOW | setuptools/_distutils/core.py | 30 | __all__ = ['Command', 'Distribution', 'Extension', 'setup'] | CODE |
| LOW | setuptools/_distutils/cygwinccompiler.py | 11 | __all__ = [ | CODE |
| LOW | setuptools/_distutils/errors.py | 17 | __all__ = [ | CODE |
| LOW⚡ | setuptools/_distutils/dist.py | 1358 | def set_keywords(self, value: str | Iterable[str]) -> None: | CODE |
| LOW⚡ | setuptools/_distutils/dist.py | 1364 | def set_platforms(self, value: str | Iterable[str]) -> None: | CODE |
| LOW⚡ | setuptools/_distutils/dist.py | 1370 | def set_classifiers(self, value: str | Iterable[str]) -> None: | CODE |
| LOW⚡ | setuptools/_distutils/dist.py | 1380 | def set_requires(self, value: Iterable[str]) -> None: | CODE |
| LOW⚡ | setuptools/_distutils/dist.py | 1390 | def set_provides(self, value: Iterable[str]) -> None: | CODE |
| LOW | setuptools/_distutils/dist.py | 1401 | def set_obsoletes(self, value: Iterable[str]) -> None: | CODE |
| LOW | setuptools/_distutils/command/__init__.py | 6 | __all__ = [ | CODE |
| LOW | setuptools/_distutils/compilers/C/base.py | 190 | def set_executables(self, **kwargs: str) -> None: | CODE |
| LOW | setuptools/_distutils/compilers/C/base.py | 305 | def set_include_dirs(self, dirs: list[str]) -> None: | CODE |
| LOW | setuptools/_distutils/compilers/C/base.py | 331 | def set_libraries(self, libnames: list[str]) -> None: | CODE |
| LOW | setuptools/_distutils/compilers/C/base.py | 347 | def set_library_dirs(self, dirs: list[str]) -> None: | CODE |
| LOW | setuptools/_distutils/compilers/C/base.py | 360 | def set_runtime_library_dirs(self, dirs: list[str]) -> None: | CODE |
| LOW | setuptools/_distutils/compilers/C/base.py | 376 | def set_link_objects(self, objects: list[str]) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mypy.ini | 41 | attr-defined, | COMMENT |
| LOW | .github/workflows/ci-sage.yml | 1 | name: Run Sage CI for Linux | COMMENT |
| LOW | .github/workflows/ci-sage.yml | 21 | ## The workflow consists of two jobs: | COMMENT |
| LOW | setuptools/compat/py39.py | 1 | import sys | COMMENT |
| LOW | setuptools/_vendor/packaging/tags.py | 501 | # Consider any iOS major.minor version from the version requested, down to | COMMENT |
| LOW | setuptools/_vendor/packaging/metadata.py | 201 | # later on (if the caller is validating) so it doesn't *really* | COMMENT |
| LOW | setuptools/_vendor/packaging/metadata.py | 241 | bpayload = msg.get_payload(decode=True) | COMMENT |
| LOW | setuptools/_vendor/packaging/metadata.py | 361 | # We have to wrap parsed.keys() in a set, because in the case of multiple | COMMENT |
| LOW | setuptools/_vendor/packaging/metadata.py | 381 | value = [] | COMMENT |
| LOW | setuptools/_vendor/packaging/metadata.py | 441 | # If this is one of our string fields, then we'll check to see if our | COMMENT |
| LOW | setuptools/_vendor/packaging/metadata.py | 461 | # Special Case: Keywords | COMMENT |
| LOW | setuptools/_vendor/packaging/version.py | 781 | # Versions with a local segment need that segment parsed to implement | COMMENT |
| LOW | setuptools/_vendor/packaging/markers.py | 301 | COMMENT | |
| LOW | setuptools/_vendor/packaging/specifiers.py | 521 | # If we've gotten to here, it means that prospective version is both | COMMENT |
| LOW | setuptools/_vendor/packaging/licenses/__init__.py | 1 | ####################################################################################### | COMMENT |
| LOW | setuptools/_vendor/packaging/licenses/__init__.py | 21 | # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | COMMENT |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 1 | #------------------------------------------------------------------- | COMMENT |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 1321 | #-------------------------------------------------------------------------- | COMMENT |
| LOW | setuptools/_vendor/autocommand/__init__.py | 1 | # Copyright 2014-2016 Nathan West | COMMENT |
| LOW | setuptools/_vendor/autocommand/automain.py | 1 | # Copyright 2014-2015 Nathan West | COMMENT |
| LOW | setuptools/_vendor/autocommand/errors.py | 1 | # Copyright 2014-2016 Nathan West | COMMENT |
| LOW | setuptools/_vendor/autocommand/autocommand.py | 1 | # Copyright 2014-2015 Nathan West | COMMENT |
| LOW | setuptools/_vendor/autocommand/autoasync.py | 1 | # Copyright 2014-2015 Nathan West | COMMENT |
| LOW | setuptools/_vendor/autocommand/autoparse.py | 1 | # Copyright 2014-2015 Nathan West | COMMENT |
| LOW | setuptools/_vendor/tomli/_parser.py | 21 | from collections.abc import Iterable | COMMENT |
| LOW | setuptools/_vendor/tomli/_parser.py | 161 | out = Output() | COMMENT |
| LOW | setuptools/_distutils/cmd.py | 41 | two is necessary because option values might come from the outside | COMMENT |
| LOW | setuptools/_distutils/cmd.py | 121 | COMMENT | |
| LOW | setuptools/_distutils/cmd.py | 201 | """ | COMMENT |
| LOW | setuptools/_distutils/version.py | 221 | # 3) recognize the numeric components may have leading zeroes | COMMENT |
| LOW | setuptools/_distutils/version.py | 241 | # lexically within a tuple comparison. This has the desired effect if | COMMENT |
| LOW | setuptools/_distutils/version.py | 261 | # Perhaps a "moderately strict" version class could be implemented that | COMMENT |
| LOW | setuptools/_distutils/util.py | 301 | it set to None. | COMMENT |
| LOW | setuptools/_distutils/fancy_getopt.py | 321 | # --flimflam set the flim-flam level | COMMENT |
| LOW | setuptools/_distutils/text_file.py | 201 | # Have to preserve the trailing newline, because it's | COMMENT |
| LOW | setuptools/_distutils/dist.py | 201 | # Store the distribution meta-data (name, version, author, and so | COMMENT |
| LOW | setuptools/_distutils/dist.py | 221 | # is raised if no named package provides the command being | COMMENT |
| LOW | setuptools/_distutils/dist.py | 261 | self.extra_path = None | COMMENT |
| LOW | setuptools/_distutils/tests/test_sysconfig.py | 201 | ) | COMMENT |
| LOW | setuptools/_distutils/command/build_ext.py | 41 | # XXX thoughts on how to deal with complex command-line options like | COMMENT |
| LOW | setuptools/_distutils/command/build_ext.py | 561 | # XXX not honouring 'define_macros' or 'undef_macros' -- the | COMMENT |
| LOW | setuptools/_distutils/command/install_lib.py | 21 | description = "install all Python modules (extensions and pure Python)" | COMMENT |
| LOW | setuptools/_distutils/command/build_py.py | 81 | COMMENT | |
| LOW | setuptools/_distutils/command/build_py.py | 361 | # (Actually, it gets copied to the directory for this package | COMMENT |
| LOW | setuptools/_distutils/command/bdist_rpm.py | 521 | # XXX again, suppressed because config file syntax doesn't | COMMENT |
| LOW | setuptools/_distutils/command/install.py | 281 | self.compile = None | COMMENT |
| LOW | setuptools/_distutils/command/install.py | 301 | # directory not in sys.path. | COMMENT |
| LOW | setuptools/_distutils/command/install.py | 321 | self.record = None | COMMENT |
| LOW | setuptools/_distutils/compilers/C/msvc.py | 481 | except (subprocess.CalledProcessError, OSError) as msg: | COMMENT |
| LOW | setuptools/_distutils/compilers/C/base.py | 81 | # (UnixCCompiler, MSVCCompiler, etc.) -- or perhaps the base | COMMENT |
| LOW | setuptools/_distutils/compilers/C/base.py | 1001 | # empty) to the program name: eg. progname + ".exe" for | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | setuptools/_vendor/wheel/_metadata.py | 0 | convert an arbitrary string to a standard distribution name any runs of non-alphanumeric/. characters are replaced with | STRING |
| HIGH | setuptools/_vendor/wheel/_bdist_wheel.py | 0 | convert an arbitrary string to a standard distribution name any runs of non-alphanumeric/. characters are replaced with | STRING |
| HIGH | setuptools/_distutils/command/install_egg_info.py | 0 | convert an arbitrary string to a standard distribution name any runs of non-alphanumeric/. characters are replaced with | STRING |
| HIGH | setuptools/_vendor/platformdirs/macos.py | 0 | :return: state directory tied to the user, same as `user_data_dir` | STRING |
| HIGH | setuptools/_vendor/platformdirs/android.py | 0 | :return: state directory tied to the user, same as `user_data_dir` | STRING |
| HIGH | setuptools/_vendor/platformdirs/windows.py | 0 | :return: state directory tied to the user, same as `user_data_dir` | STRING |
| HIGH | setuptools/_vendor/platformdirs/macos.py | 0 | :return: runtime directory shared by users, same as `user_runtime_dir` | STRING |
| HIGH | setuptools/_vendor/platformdirs/android.py | 0 | :return: runtime directory shared by users, same as `user_runtime_dir` | STRING |
| HIGH | setuptools/_vendor/platformdirs/windows.py | 0 | :return: runtime directory shared by users, same as `user_runtime_dir` | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setuptools/version.py | 5 | except Exception: # noqa: BLE001 # intentional broad fallback | CODE |
| LOW | setuptools/__init__.py | 72 | except Exception: # noqa: BLE001 # intentional broad fallback | CODE |
| LOW | setuptools/__init__.py | 93 | except Exception as ex: | CODE |
| LOW | setuptools/extension.py | 25 | except Exception: # noqa: BLE001 # intentional broad fallback | CODE |
| LOW | setuptools/dist.py | 206 | except Exception as e: | CODE |
| MEDIUM | setuptools/dist.py | 84 | def check_importable(dist, attr, value): | CODE |
| LOW | setuptools/_vendor/packaging/pylock.py | 139 | except Exception as e: | CODE |
| LOW | setuptools/_vendor/packaging/pylock.py | 170 | except Exception as e: | CODE |
| LOW | setuptools/_vendor/packaging/pylock.py | 183 | except Exception as e: | CODE |
| LOW⚡ | setuptools/_vendor/packaging/pylock.py | 198 | except Exception as e: | CODE |
| LOW | setuptools/_vendor/packaging/pylock.py | 546 | except Exception as e: | CODE |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 2665 | except Exception as e: | CODE |
| LOW | setuptools/_vendor/platformdirs/android.py | 132 | except Exception: # noqa: BLE001 | CODE |
| LOW | setuptools/_vendor/platformdirs/android.py | 142 | except Exception: # noqa: BLE001 | CODE |
| LOW⚡ | setuptools/_vendor/platformdirs/android.py | 177 | except Exception: # noqa: BLE001 | CODE |
| LOW⚡ | setuptools/_vendor/platformdirs/android.py | 193 | except Exception: # noqa: BLE001 | CODE |
| LOW | setuptools/_vendor/platformdirs/android.py | 209 | except Exception: # noqa: BLE001 | CODE |
| LOW | setuptools/_vendor/platformdirs/android.py | 225 | except Exception: # noqa: BLE001 | CODE |
| LOW | setuptools/_vendor/platformdirs/android.py | 241 | except Exception: # noqa: BLE001 | CODE |
| LOW⚡ | setuptools/config/_apply_pyprojecttoml.py | 358 | except Exception as ex: # noqa: BLE001 # intentional broad fallback | CODE |
| LOW | setuptools/config/pyprojecttoml.py | 418 | except Exception as ex: # noqa: BLE001 # intentional broad fallback | CODE |
| LOW | setuptools/config/expand.py | 76 | except Exception as e: | CODE |
| LOW | setuptools/config/expand.py | 188 | except Exception: # noqa: BLE001 # intentional broad fallback | CODE |
| LOW | setuptools/config/_validate_pyproject/formats.py | 209 | except Exception: # noqa: BLE001 | STRING |
| LOW | setuptools/config/_validate_pyproject/formats.py | 266 | except Exception: # noqa: BLE001 | CODE |
| LOW | setuptools/tests/contexts.py | 92 | except Exception: # noqa: BLE001 # intentional broad fallback | CODE |
| MEDIUM | setuptools/tests/contexts.py | 78 | def suppress_exceptions(*excs): | CODE |
| LOW | setuptools/tests/fixtures.py | 65 | except Exception: # noqa: BLE001 # intentional broad fallback | CODE |
| MEDIUM | setuptools/tests/test_sdist.py | 91 | def latin1_fail(): | CODE |
| LOW | setuptools/tests/test_sdist.py | 96 | except Exception: # noqa: BLE001 # intentional broad fallback | STRING |
| LOW | setuptools/command/editable_wheel.py | 143 | except Exception as ex: | STRING |
| LOW | setuptools/command/editable_wheel.py | 307 | except Exception: # noqa: BLE001 # intentional broad fallback | CODE |
| LOW | setuptools/command/editable_wheel.py | 611 | except Exception as ex: | STRING |
| MEDIUM | setuptools/command/editable_wheel.py | 132 | def run(self) -> None: | CODE |
| LOW | setuptools/command/sdist.py | 104 | except Exception: # noqa: BLE001, S110 # best-effort; failure is non-fatal | CODE |
| LOW | setuptools/_distutils/tests/test_archive_util.py | 242 | except Exception: # noqa: BLE001, S110 # the failure itself is under test | CODE |
| LOW | setuptools/_distutils/command/install.py | 147 | except Exception: # noqa: BLE001 # any failure falls back to the framework scheme | CODE |
| LOW | setuptools/_distutils/compilers/C/tests/test_msvc.py | 91 | except Exception: # noqa: BLE001 # capture any error for later inspection | CODE |
| MEDIUM | setuptools/_distutils/compilers/C/tests/test_msvc.py | 88 | def run(self): | CODE |
| LOW | _distutils_hack/__init__.py | 121 | except Exception: # noqa: BLE001 # intentional broad fallback | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ruff.toml | 16 | # Ensure modern type annotation syntax and best practices | COMMENT |
| MEDIUM | tox.ini | 38 | # use verbose mode by default to facilitate debugging from CI logs | COMMENT |
| MEDIUM | setuptools/errors.py | 10 | # Re-export errors from distutils to facilitate the migration to PEP632 | COMMENT |
| LOW | setuptools/_vendor/packaging/metadata.py | 222 | # is unparsable, and we can just add the whole thing to our | COMMENT |
| LOW | setuptools/_vendor/packaging/metadata.py | 418 | # This is already a string, so just add it. | COMMENT |
| LOW | setuptools/_vendor/packaging/metadata.py | 447 | # what we should parse it as, and we have to just add it to our list | COMMENT |
| LOW | setuptools/_vendor/packaging/specifiers.py | 505 | # version. If it's not we can short circuit and just return False now | COMMENT |
| LOW | setuptools/_vendor/packaging/specifiers.py | 532 | # version. If it's not we can short circuit and just return False now | COMMENT |
| LOW | setuptools/_vendor/packaging/specifiers.py | 792 | # then we'll just return None since we don't know if this should have | COMMENT |
| LOW | setuptools/_vendor/wheel/_commands/convert.py | 160 | # For any other file, just pass it through | COMMENT |
| LOW | setuptools/_vendor/wheel/_commands/convert.py | 189 | # For any other file, just pass it through | COMMENT |
| LOW | setuptools/_vendor/wheel/_commands/convert.py | 283 | # For any other file, just pass it through | COMMENT |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 1468 | # Normally, we could just use "utf-8" as the encoding and "strict" | COMMENT |
| LOW | setuptools/command/dist_info.py | 105 | # TODO: if bdist_wheel if merged into setuptools, just add "keep_egg_info" there | COMMENT |
| MEDIUM | setuptools/_distutils/util.py | 337 | # safety's sake (script should be more robust in the face of | STRING |
| MEDIUM | setuptools/_distutils/tests/test_extension.py | 211 | # normalize it away so the check is robust across versions. | COMMENT |
| LOW | setuptools/_distutils/tests/support.py | 109 | # To further add to the shared builds fun on Unix, we can't just add | COMMENT |
| LOW | setuptools/_distutils/command/build_py.py | 178 | # package_dir at all, as we just use the directory implied | COMMENT |
| LOW | setuptools/_distutils/command/install.py | 185 | # Or, just set the base director(y|ies) | COMMENT |
| LOW | setuptools/_distutils/compilers/C/unix.py | 58 | # * optimization/debug/warning flags; we just use whatever's in Python's | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setuptools/_vendor/jaraco/text/__init__.py | 185 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do | CODE |
| LOW | setuptools/_vendor/jaraco/text/__init__.py | 185 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do | CODE |
| LOW⚡ | setuptools/_vendor/jaraco/text/__init__.py | 223 | Lorem ipsum dolor sit amet, consectetur adipiscing ... | CODE |
| LOW⚡ | setuptools/_vendor/jaraco/text/__init__.py | 223 | Lorem ipsum dolor sit amet, consectetur adipiscing ... | CODE |
| LOW⚡ | setuptools/_vendor/jaraco/text/__init__.py | 233 | files(__name__).joinpath('Lorem ipsum.txt').read_text(encoding='utf-8') | STRING |
| LOW⚡ | setuptools/_vendor/jaraco/text/__init__.py | 522 | >>> normalize_newlines('Lorem Ipsum\u2029') | CODE |
| LOW⚡ | setuptools/_vendor/jaraco/text/__init__.py | 523 | 'Lorem Ipsum\n' | CODE |
| LOW⚡ | setuptools/_vendor/jaraco/text/__init__.py | 524 | >>> normalize_newlines('Lorem Ipsum\r\n') | CODE |
| LOW⚡ | setuptools/_vendor/jaraco/text/__init__.py | 525 | 'Lorem Ipsum\n' | CODE |
| LOW⚡ | setuptools/_vendor/jaraco/text/__init__.py | 526 | >>> normalize_newlines('Lorem Ipsum\x85') | CODE |
| LOW⚡ | setuptools/_vendor/jaraco/text/__init__.py | 527 | 'Lorem Ipsum\n' | CODE |
| LOW | setuptools/_vendor/jaraco/text/__init__.py | 640 | >>> lines = lines_from(files(__name__).joinpath('Lorem ipsum.txt')) | CODE |
| LOW | setuptools/_vendor/jaraco/text/__init__.py | 642 | 'Lorem ipsum...' | CODE |
| LOW | setuptools/_vendor/jaraco/text/Lorem ipsum.txt | 1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliq | CODE |
| LOW | setuptools/_vendor/jaraco/text/Lorem ipsum.txt | 1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliq | CODE |
| LOW⚡ | setuptools/tests/test_warnings.py | 23 | args=("Summary", "Lorem ipsum"), | STRING |
| LOW⚡ | setuptools/tests/test_warnings.py | 30 | Lorem ipsum | CODE |
| LOW⚡ | setuptools/tests/test_warnings.py | 40 | args=("Summary", "Lorem ipsum"), | STRING |
| LOW⚡ | setuptools/tests/test_warnings.py | 47 | Lorem ipsum | CODE |
| LOW | setuptools/tests/test_warnings.py | 79 | _DETAILS = "Lorem ipsum" | STRING |
| LOW | setuptools/tests/test_warnings.py | 92 | Lorem ipsum | CODE |
| LOW | setuptools/tests/test_bdist_wheel.py | 91 | author_email="illustrious@example.org", | CODE |
| LOW | setuptools/tests/config/test_setupcfg.py | 128 | 'name = fake_name\n' | CODE |
| LOW | setuptools/tests/config/test_setupcfg.py | 152 | assert metadata.name == 'fake_name' | CODE |
| LOW | setuptools/tests/config/test_setupcfg.py | 155 | assert metadata.maintainer_email == 'test@test.com' | CODE |
| LOW | setuptools/tests/config/test_setupcfg.py | 218 | assert metadata.author_email == 'test@test.com' | CODE |
| LOW | setuptools/tests/config/test_setupcfg.py | 231 | 'name = fake_name\n' | CODE |
| LOW | setuptools/tests/config/test_setupcfg.py | 350 | fake_env(tmpdir, '[metadata]\nname = fake_name\nunknown = some\n') | CODE |
| LOW | setuptools/tests/config/test_setupcfg.py | 440 | {"author-email": "test@test.com"}, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setuptools/_vendor/packaging/pylock.py | 479 | CODE | |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 948 | CODE | |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 1663 | CODE | |
| LOW | setuptools/command/build_ext.py | 404 | CODE | |
| LOW | setuptools/command/build_ext.py | 439 | CODE | |
| LOW | setuptools/_distutils/compilers/C/unix.py | 355 | CODE | |
| LOW | setuptools/_distutils/compilers/C/zos.py | 177 | CODE | |
| LOW | setuptools/_distutils/compilers/C/cygwin.py | 130 | CODE | |
| LOW | setuptools/_distutils/compilers/C/msvc.py | 551 | CODE | |
| LOW | setuptools/_distutils/compilers/C/base.py | 713 | CODE | |
| LOW | setuptools/_distutils/compilers/C/base.py | 776 | CODE | |
| LOW | setuptools/_distutils/compilers/C/base.py | 807 | CODE | |
| LOW | setuptools/_distutils/compilers/C/base.py | 838 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setuptools/_vendor/packaging/metadata.py | 634 | # Check if content-type is valid or defaulted to `text/plain` and thus was | COMMENT |
| LOW | setuptools/_vendor/wheel/_commands/unpack.py | 24 | # Set permissions to the same values as they were set in the archive | COMMENT |
| LOW | setuptools/_vendor/more_itertools/more.py | 1390 | # Check if beyond max level | COMMENT |
| LOW | setuptools/_vendor/more_itertools/more.py | 1396 | # Check if done iterating | COMMENT |
| LOW | setuptools/_vendor/more_itertools/more.py | 4558 | # Check if any chunks need addition processing | COMMENT |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 1203 | # Check if one of the fields contains surrogate characters and thereby | COMMENT |
| LOW | setuptools/_vendor/backports/tarfile/__init__.py | 1437 | # Check if the pax header contains a hdrcharset field. This tells us | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | setuptools/_vendor/jaraco/text/__init__.py | 476 | null, prefix, rest = line.partition(self.prefix) | STRING |
| HIGH | setuptools/_vendor/jaraco/text/__init__.py | 500 | null, prefix, rest = text.rpartition(prefix) | STRING |
| HIGH | setuptools/_distutils/dist.py | 551 | # All is well: return true | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setuptools/_vendor/autocommand/autocommand.py | 40 | # Step 1: if requested, run it all in an asyncio event loop. autoasync | COMMENT |
| LOW | setuptools/_vendor/autocommand/autocommand.py | 52 | # Step 2: create parser. We do this second so that the arguments are | COMMENT |
| LOW | setuptools/_vendor/autocommand/autocommand.py | 64 | # Step 3: call the function automatically if __name__ == '__main__' (or | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setuptools/_vendor/autocommand/autocommand.py | 40 | # Step 1: if requested, run it all in an asyncio event loop. autoasync | COMMENT |
| LOW | setuptools/_vendor/autocommand/autocommand.py | 52 | # Step 2: create parser. We do this second so that the arguments are | COMMENT |
| LOW | setuptools/_vendor/autocommand/autocommand.py | 64 | # Step 3: call the function automatically if __name__ == '__main__' (or | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setuptools/_vendor/packaging/markers.py | 296 | # added here, make sure to mirror/adapt Requirement. | COMMENT |