A tool for generating .pex (Python EXecutable) files, lock files and venvs.
This report presents the forensic synthetic code analysis of pex-tool/pex, a Python project with 4,216 GitHub stars. SynthScan v2.0 examined 166,818 lines of code across 654 source files, recording 4190 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 25.1 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
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.
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.
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.
The scanner identified 4190 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 4 | CODE | |
| LOW | pex/requirement_key.py | 4 | CODE | |
| LOW | pex/requirement_key.py | 6 | CODE | |
| LOW | pex/requirement_key.py | 7 | CODE | |
| LOW | pex/requirement_key.py | 11 | CODE | |
| LOW | pex/bootstrap.py | 5 | CODE | |
| LOW | pex/bootstrap.py | 5 | CODE | |
| LOW | pex/bootstrap.py | 14 | CODE | |
| LOW | pex/bootstrap.py | 14 | CODE | |
| LOW | pex/pep_508.py | 4 | CODE | |
| LOW | pex/pep_508.py | 7 | CODE | |
| LOW | pex/pep_508.py | 12 | CODE | |
| LOW | pex/pep_508.py | 12 | CODE | |
| LOW | pex/atomic_directory.py | 4 | CODE | |
| LOW | pex/atomic_directory.py | 21 | CODE | |
| LOW | pex/atomic_directory.py | 21 | CODE | |
| LOW | pex/atomic_directory.py | 21 | CODE | |
| LOW | pex/atomic_directory.py | 21 | CODE | |
| LOW | pex/auth.py | 4 | CODE | |
| LOW | pex/auth.py | 15 | CODE | |
| LOW | pex/auth.py | 15 | CODE | |
| LOW | pex/auth.py | 15 | CODE | |
| LOW | pex/auth.py | 15 | CODE | |
| LOW | pex/auth.py | 15 | CODE | |
| LOW | pex/lang.py | 4 | CODE | |
| LOW | pex/lang.py | 9 | CODE | |
| LOW | pex/pth.py | 4 | CODE | |
| LOW | pex/pth.py | 14 | CODE | |
| LOW | pex/compatibility.py | 7 | CODE | |
| LOW | pex/compatibility.py | 20 | CODE | |
| LOW | pex/compatibility.py | 20 | CODE | |
| LOW | pex/compatibility.py | 20 | CODE | |
| LOW | pex/compatibility.py | 20 | CODE | |
| LOW | pex/compatibility.py | 20 | CODE | |
| LOW | pex/compatibility.py | 20 | CODE | |
| LOW | pex/compatibility.py | 20 | CODE | |
| LOW | pex/compatibility.py | 20 | CODE | |
| LOW | pex/compatibility.py | 20 | CODE | |
| LOW | pex/compatibility.py | 20 | CODE | |
| LOW | pex/compatibility.py | 20 | CODE | |
| LOW | pex/compatibility.py | 37 | CODE | |
| LOW | pex/compatibility.py | 52 | CODE | |
| LOW | pex/compatibility.py | 53 | CODE | |
| LOW | pex/compatibility.py | 56 | CODE | |
| LOW | pex/compatibility.py | 57 | CODE | |
| LOW | pex/compatibility.py | 124 | CODE | |
| LOW | pex/compatibility.py | 125 | CODE | |
| LOW | pex/compatibility.py | 127 | CODE | |
| LOW | pex/compatibility.py | 132 | CODE | |
| LOW | pex/compatibility.py | 133 | CODE | |
| LOW | pex/compatibility.py | 134 | CODE | |
| LOW | pex/compatibility.py | 135 | CODE | |
| LOW | pex/compatibility.py | 136 | CODE | |
| LOW | pex/compatibility.py | 137 | CODE | |
| LOW | pex/compatibility.py | 138 | CODE | |
| LOW | pex/compatibility.py | 139 | CODE | |
| LOW | pex/compatibility.py | 140 | CODE | |
| LOW | pex/compatibility.py | 148 | CODE | |
| LOW | pex/compatibility.py | 149 | CODE | |
| LOW | pex/compatibility.py | 150 | CODE | |
| 2775 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pex/compatibility.py | 212 | def is_valid_python_identifier(text): | STRING |
| LOW | pex/interpreter_constraints.py | 35 | def _iter_interpreter_implementations(): | CODE |
| LOW | pex/targets.py | 454 | def require_at_most_one_target(self, purpose): | CODE |
| LOW | pex/artifact_url.py | 144 | def _guaranteed_available_algorithms(): | STRING |
| LOW⚡ | pex/pex_info.py | 261 | def venv_site_packages_copies(self): | CODE |
| LOW⚡ | pex/pex_info.py | 266 | def venv_site_packages_copies(self, value): | CODE |
| LOW⚡ | pex/pex_info.py | 271 | def venv_system_site_packages(self): | CODE |
| LOW⚡ | pex/pex_info.py | 276 | def venv_system_site_packages(self, value): | CODE |
| LOW | pex/pex_info.py | 403 | def has_interpreter_constraints(self): | CODE |
| LOW | pex/pex_info.py | 436 | def interpreter_selection_strategy(self): | CODE |
| LOW | pex/pex_info.py | 446 | def interpreter_selection_strategy(self, value): | CODE |
| LOW | pex/variables.py | 662 | def _ensure_writeable_pex_root(self, raw_pex_root): | CODE |
| LOW | pex/finders.py | 92 | def get_script_from_distributions( | CODE |
| LOW | pex/finders.py | 117 | def get_entry_point_from_console_script( | CODE |
| LOW | pex/layout.py | 205 | def _ensure_distributions_installed_serial( | CODE |
| LOW | pex/layout.py | 218 | def _ensure_distributions_installed_parallel( | CODE |
| LOW | pex/layout.py | 260 | def _ensure_distributions_installed( | CODE |
| LOW | pex/pep_427.py | 86 | def _headers_install_path_for_wheel( | CODE |
| LOW | pex/pep_427.py | 342 | def external_attr_as_stat_mode(self): | CODE |
| LOW | pex/pep_427.py | 511 | def iter_install_paths_by_name(self): | CODE |
| LOW | pex/pep_427.py | 687 | def install_wheel_interpreter( | CODE |
| LOW | pex/pep_427.py | 1043 | def create_dst_installed_file(regenerate_hash): | CODE |
| LOW | pex/dist_metadata.py | 158 | def render_metadata_file_description(self, metadata_file_rel_path): | CODE |
| LOW | pex/dist_metadata.py | 242 | def _find_installed_metadata_files( | CODE |
| LOW | pex/dist_metadata.py | 327 | def _is_dist_pkg_info_file_path(file_path): | CODE |
| LOW | pex/dist_metadata.py | 529 | def canonicalized_project_name(self): | CODE |
| LOW | pex/dist_metadata.py | 777 | def from_packaging_requirement(cls, requirement): | CODE |
| LOW | pex/dist_metadata.py | 925 | def from_packaging_requirement( | CODE |
| LOW | pex/sh_boot.py | 45 | def _calculate_applicable_binary_names( | CODE |
| LOW | pex/interpreter.py | 162 | def _normalize_macosx_deployment_target(value): | CODE |
| LOW | pex/interpreter.py | 611 | def configured_macosx_deployment_target(self): | CODE |
| LOW | pex/interpreter.py | 810 | def include_system_site_packages(self): | CODE |
| LOW | pex/interpreter.py | 1504 | def iter_base_candidate_binary_paths(interpreter): | CODE |
| LOW | pex/interpreter.py | 862 | def _resolve_pyvenv_canonical_python_binary( | STRING |
| LOW | pex/interpreter.py | 925 | def latest_release_of_min_compatible_version(interps): | STRING |
| LOW | pex/interpreter.py | 1094 | def _spawn_from_binary_external( | STRING |
| LOW | pex/common.py | 281 | def deterministic_external_attr(self): | CODE |
| LOW | pex/requirements.py | 265 | def parse_requirement_from_project_name_and_specifier( | CODE |
| LOW | pex/requirements.py | 284 | def parse_requirement_from_dist( | CODE |
| LOW | pex/requirements.py | 378 | def _strip_requirement_options(line): | CODE |
| LOW | pex/requirements.py | 397 | def _try_parse_fragment_project_name_and_marker(url): | CODE |
| LOW | pex/requirements.py | 422 | def from_project_name_and_version(cls, project_name_and_version): | CODE |
| LOW | pex/requirements.py | 433 | def _try_parse_project_name_and_specifier_from_path(path): | CODE |
| LOW | pex/requirements.py | 443 | def _try_parse_pip_local_formats( | CODE |
| LOW | pex/requirements.py | 849 | def parse_requirement_strings(requirements): | STRING |
| LOW | pex/pex_boot.py | 68 | def __entry_point_from_filename__(filename): | CODE |
| LOW | pex/executables.py | 75 | def create_sh_python_redirector_shebang(sh_script_content): | CODE |
| LOW | pex/resolver.py | 158 | def _uniqued_download_requests(requests=None): | CODE |
| LOW | pex/resolver.py | 601 | def _fingerprint_local_project( | CODE |
| LOW | pex/resolver.py | 1022 | def _iter_resolved_distributions( | CODE |
| LOW | pex/resolver.py | 1053 | def _categorize_build_requests( | CODE |
| LOW | pex/resolver.py | 1315 | def _categorize_install_requests( | CODE |
| LOW | pex/resolver.py | 1342 | def _resolve_direct_file_deps( | CODE |
| LOW | pex/environment.py | 321 | def _update_candidate_distributions(self, distribution_iter): | CODE |
| LOW | pex/environment.py | 713 | def _declare_namespace_packages(cls, resolved_dists): | CODE |
| LOW | pex/ziputils.py | 146 | def start_of_zip_offset_from_eof(self): | CODE |
| LOW | pex/exceptions.py | 47 | def reportable_unexpected_error_msg( | CODE |
| LOW | pex/typing.py | 55 | def _never_called_since_structurally_shadowed(*_args, **_kwargs): | CODE |
| LOW | pex/pex_bootstrapper.py | 98 | def iter_compatible_interpreters( | CODE |
| LOW | pex/pex_bootstrapper.py | 250 | def find_compatible_interpreter( | CODE |
| 916 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pex/pth.py | 17 | CODE | |
| LOW | pex/pex_builder.py | 361 | CODE | |
| LOW | pex/pex_builder.py | 621 | CODE | |
| LOW | pex/pex_builder.py | 727 | CODE | |
| LOW | pex/interpreter_constraints.py | 363 | CODE | |
| LOW | pex/entry_points_txt.py | 23 | CODE | |
| LOW | pex/util.py | 34 | CODE | |
| LOW | pex/variables.py | 815 | CODE | |
| LOW | pex/layout.py | 312 | CODE | |
| LOW | pex/pep_427.py | 742 | CODE | |
| LOW | pex/pep_427.py | 835 | CODE | |
| LOW | pex/pep_427.py | 241 | CODE | |
| LOW | pex/os.py | 18 | CODE | |
| LOW | pex/dist_metadata.py | 285 | CODE | |
| LOW | pex/dist_metadata.py | 397 | CODE | |
| LOW | pex/dist_metadata.py | 641 | CODE | |
| LOW | pex/dist_metadata.py | 828 | CODE | |
| LOW | pex/specifier_sets.py | 196 | CODE | |
| LOW | pex/specifier_sets.py | 251 | CODE | |
| LOW | pex/specifier_sets.py | 131 | CODE | |
| LOW | pex/sdist.py | 57 | CODE | |
| LOW | pex/jobs.py | 531 | CODE | |
| LOW | pex/interpreter.py | 1341 | CODE | |
| LOW | pex/interpreter.py | 1463 | CODE | |
| LOW | pex/interpreter.py | 1348 | CODE | |
| LOW | pex/common.py | 178 | CODE | |
| LOW | pex/common.py | 963 | CODE | |
| LOW | pex/common.py | 392 | CODE | |
| LOW | pex/common.py | 856 | CODE | |
| LOW | pex/common.py | 912 | CODE | |
| LOW | pex/requirements.py | 723 | CODE | |
| LOW | pex/pex_boot.py | 146 | CODE | |
| LOW | pex/executables.py | 142 | CODE | |
| LOW | pex/pep_723.py | 144 | CODE | |
| LOW | pex/pep_723.py | 99 | CODE | |
| LOW | pex/resolver.py | 214 | CODE | |
| LOW | pex/resolver.py | 684 | CODE | |
| LOW | pex/resolver.py | 780 | CODE | |
| LOW | pex/resolver.py | 1185 | CODE | |
| LOW | pex/resolver.py | 1342 | CODE | |
| LOW | pex/pex.py | 379 | CODE | |
| LOW | pex/pex.py | 666 | CODE | |
| LOW | pex/environment.py | 283 | CODE | |
| LOW | pex/environment.py | 596 | CODE | |
| LOW | pex/environment.py | 785 | CODE | |
| LOW | pex/ziputils.py | 188 | CODE | |
| LOW | pex/pex_bootstrapper.py | 98 | CODE | |
| LOW | pex/pex_bootstrapper.py | 250 | CODE | |
| LOW | pex/pex_bootstrapper.py | 516 | CODE | |
| LOW | pex/build_properties.py | 106 | CODE | |
| LOW | pex/sysconfig.py | 42 | CODE | |
| LOW | pex/sysconfig.py | 88 | CODE | |
| LOW | pex/hashing.py | 230 | CODE | |
| LOW | pex/pyenv.py | 28 | CODE | |
| LOW | pex/pyenv.py | 173 | CODE | |
| LOW | pex/pyenv.py | 117 | CODE | |
| LOW | pex/toml.py | 133 | CODE | |
| LOW | pex/scie/__init__.py | 522 | CODE | |
| LOW | pex/scie/model.py | 80 | CODE | |
| LOW | pex/scie/model.py | 145 | CODE | |
| 112 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.cfg | 61 | management = | COMMENT |
| LOW | pex/atomic_directory.py | 81 | target_basename = os.path.basename(self._work_dir) | COMMENT |
| LOW | pex/pex_builder.py | 821 | deterministic=deterministic, | COMMENT |
| LOW | pex/targets.py | 161 | # but Pip, which follows PEP-440, will evaluate `>=3.8.1` as false and exclude the | COMMENT |
| LOW | pex/dist_metadata.py | 81 | def is_tar_sdist(path): | COMMENT |
| LOW | pex/dist_metadata.py | 101 | # | whl | 6332494 | | COMMENT |
| LOW | pex/dist_metadata.py | 501 | COMMENT | |
| LOW | pex/__init__.py | 1 | # Copyright 2014 Pex project contributors. | COMMENT |
| LOW | pex/sdist.py | 61 | ): | COMMENT |
| LOW | pex/jobs.py | 761 | if costing_function is not None: | COMMENT |
| LOW | pex/sh_boot.py | 201 | # cache may behave differently) | COMMENT |
| LOW | pex/sh_boot.py | 221 | # | COMMENT |
| LOW | pex/interpreter.py | 741 | # A pyvenv is identified by a pyvenv.cfg file with a home key in one of the two following | COMMENT |
| LOW | pex/interpreter.py | 881 | if os.path.dirname(resolved) == os.path.dirname(maybe_venv_python_binary): | COMMENT |
| LOW | pex/interpreter.py | 1481 | # pypy | COMMENT |
| LOW | pex/common.py | 461 | members=None, # type: Optional[Iterable[Union[str, ZipInfo]]] | COMMENT |
| LOW | pex/executables.py | 81 | COMMENT | |
| LOW | pex/resolver.py | 941 | def install_chroot(self): | COMMENT |
| LOW | pex/resolver.py | 961 | # │ └── 1003685de2c3604dc6daab9540a66201c1d1f718 | COMMENT |
| LOW | pex/resolver.py | 981 | # When the pex is run, the runtime key is followed to the build time key, avoiding | COMMENT |
| LOW | pex/resolver.py | 1621 | ) | COMMENT |
| LOW | pex/resolver.py | 1641 | # distributions and then `pex.pep_427.install_wheel_chroot` to install each distribution in its | COMMENT |
| LOW | pex/environment.py | 441 | dep_requirement = override | COMMENT |
| LOW | pex/environment.py | 721 | # We only care about dists with one or more namespace packages though; thus, the guard. | COMMENT |
| LOW | pex/environment.py | 801 | # Prepend location to sys.path. | COMMENT |
| LOW | pex/whl.py | 41 | dest_dir=atomic_dir.work_dir, | COMMENT |
| LOW | pex/ziputils.py | 101 | # start of the central directory 2 bytes | COMMENT |
| LOW | pex/ziputils.py | 201 | if not self.has_header: | COMMENT |
| LOW | pex/sysconfig.py | 201 | # TODO(John Sirois): Consider using `sysconfig.get_path("scripts", expand=False)` in combination | COMMENT |
| LOW | pex/fetcher.py | 81 | # `ssl` module, which generally happens in the main thread, triggers, through instantiation | COMMENT |
| LOW | pex/fetcher.py | 101 | # loading config due to unknown configuration options. | COMMENT |
| LOW | pex/wheel.py | 61 | # Some WHEEL metadata in the wild has blank lines in between headers when it should not. | COMMENT |
| LOW | pex/wheel.py | 81 | # them in a frozenset with unstable order which can cause issues when attempting | COMMENT |
| LOW | pex/distutils/__init__.py | 1 | # Copyright 2021 Pex project contributors. | COMMENT |
| LOW | pex/distutils/commands/__init__.py | 1 | # Copyright 2021 Pex project contributors. | COMMENT |
| LOW | pex/tools/__init__.py | 1 | # Copyright 2020 Pex project contributors. | COMMENT |
| LOW | pex/cache/dirs.py | 881 | # wheel name which is unique on the host os up to the python and abi tags. In other words, | COMMENT |
| LOW | pex/cache/__init__.py | 1 | # Copyright 2024 Pex project contributors. | COMMENT |
| LOW | pex/resolve/locker.py | 301 | artifact_url = ArtifactURL.from_url_info( | COMMENT |
| LOW | pex/resolve/locker.py | 341 | # ... | COMMENT |
| LOW | pex/resolve/__init__.py | 1 | # Copyright 2021 Pex project contributors. | COMMENT |
| LOW | pex/resolve/locker_patches.py | 201 | Wheel.find_most_preferred_tag = lambda *args, **kwargs: 0 | COMMENT |
| LOW | pex/resolve/lockfile/create.py | 121 | project_name_and_version = ProjectNameAndVersion.from_filename(f) | COMMENT |
| LOW | pex/resolve/lockfile/__init__.py | 1 | # Copyright 2021 Pex project contributors. | COMMENT |
| LOW | pex/resolve/pep_691/__init__.py | 1 | # Copyright 2022 Pex project contributors. | COMMENT |
| LOW | pex/bin/__init__.py | 1 | # Copyright 2014 Pex project contributors. | COMMENT |
| LOW | pex/build_system/pep_518.py | 101 | # N.B.: We install extra requirements separately instead of having them resolved and | COMMENT |
| LOW | pex/build_system/__init__.py | 1 | # Copyright 2022 Pex project contributors. | COMMENT |
| LOW | pex/cli/__init__.py | 1 | # Copyright 2021 Pex project contributors. | COMMENT |
| LOW | pex/cli/commands/pip/__init__.py | 1 | # Copyright 2025 Pex project contributors. | COMMENT |
| LOW | pex/pip/__init__.py | 1 | # Copyright 2022 Pex project contributors. | COMMENT |
| LOW | pex/pip/tool.py | 261 | # type: (str) -> ErrorAnalysis | COMMENT |
| LOW | pex/pip/tool.py | 401 | # type: (...) -> Tuple[List[str], subprocess.Popen] | COMMENT |
| LOW | pex/pip/foreign_platform/__init__.py | 21 | COMMENT | |
| LOW | pex/pip/foreign_platform/requires_python.py | 41 | if PYTHON_FULL_VERSIONS: | COMMENT |
| LOW | pex/http/__init__.py | 1 | # Copyright 2025 Pex project contributors. | COMMENT |
| LOW | pex/commands/__init__.py | 1 | # Copyright 2021 Pex project contributors. | COMMENT |
| LOW | build-backend/pex_build/setuptools/__init__.py | 1 | # Copyright 2024 Pex project contributors. | COMMENT |
| LOW | tests/test_requirements.py | 361 | beautifulsoup4 | COMMENT |
| LOW | tests/test_pep_723.py | 221 | # /// script | COMMENT |
| 31 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | pex/sh_boot.py | 266 | if command -v "${{python}}" 2>/dev/null; then | STRING |
| HIGH | tests/resolve/lockfile/test_json_codec.py | 143 | "requires_python": null, | CODE |
| HIGH | tests/resolve/lockfile/test_json_codec.py | 368 | "requires_python": null, | CODE |
| HIGH | tests/resolve/lockfile/test_json_codec.py | 388 | - "requires_python": null, | CODE |
| HIGH | tests/resolve/lockfile/test_lockfile.py | 61 | "requires_python": null, | STRING |
| HIGH | tests/integration/cli/commands/test_lock.py | 442 | "requires_python": null, | CODE |
| HIGH | tests/integration/cli/commands/test_lock.py | 514 | "requires_python": null, | CODE |
| HIGH | tests/integration/cli/commands/test_lock.py | 1109 | "requires_python": null, | CODE |
| HIGH | tests/integration/cli/commands/test_lock.py | 1131 | "requires_python": null, | CODE |
| HIGH | tests/integration/cli/commands/test_lock.py | 1364 | "requires_python": null, | CODE |
| HIGH | tests/integration/cli/commands/test_lock.py | 1493 | "requires_python": null, | CODE |
| HIGH | tests/integration/cli/commands/test_lock.py | 1559 | "requires_python": null, | CODE |
| HIGH | tests/integration/cli/commands/test_lock.py | 1595 | "use_pep517": null, | CODE |
| HIGH | tests/integration/cli/commands/test_lock.py | 1676 | "requires_python": null, | CODE |
| HIGH | tests/integration/cli/commands/test_lock.py | 1805 | "requires_python": null, | CODE |
| HIGH | tests/integration/cli/commands/test_lock.py | 1871 | "requires_python": null, | CODE |
| HIGH | tests/integration/cli/commands/test_lock.py | 1907 | "use_pep517": null, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | pex/tools/commands/repository.py | 0 | \ [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" | STRING |
| HIGH | tests/integration/test_override_replace.py | 0 | \ [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" | STRING |
| HIGH | tests/integration/test_issue_2822.py | 0 | \ [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" | STRING |
| HIGH | tests/integration/test_scoped_repos.py | 0 | \ [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" | STRING |
| HIGH | tests/integration/resolve/test_venv_resolver.py | 0 | \ [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" | STRING |
| HIGH | …integration/cli/commands/test_split_universal_locks.py | 0 | \ [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" | STRING |
| HIGH | tests/integration/cli/commands/test_run.py | 0 | \ [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" | STRING |
| HIGH | tests/integration/cli/commands/test_lock_report.py | 0 | \ [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" | STRING |
| HIGH | …on/cli/commands/test_lock_reproducibility_hash_seed.py | 0 | \ [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" | STRING |
| HIGH | tests/integration/venv_ITs/test_issue_2160.py | 0 | \ [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" | STRING |
| HIGH | testing/local_project.py | 0 | \ [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pex/pep_427.py | 835 | CODE | |
| LOW | pex/resolver.py | 1546 | CODE | |
| LOW | pex/resolver.py | 1725 | CODE | |
| LOW | pex/resolver.py | 1797 | CODE | |
| LOW | pex/resolver.py | 1942 | CODE | |
| LOW | pex/resolver.py | 2032 | CODE | |
| LOW | pex/resolver.py | 1285 | CODE | |
| LOW | pex/resolve/lock_downloader.py | 77 | CODE | |
| LOW | pex/resolve/lock_downloader.py | 207 | CODE | |
| LOW | pex/resolve/resolvers.py | 247 | CODE | |
| LOW | pex/resolve/lock_resolver.py | 117 | CODE | |
| LOW | pex/resolve/lock_resolver.py | 204 | CODE | |
| LOW | pex/resolve/lock_resolver.py | 272 | CODE | |
| LOW | pex/resolve/lock_resolver.py | 332 | CODE | |
| LOW | pex/resolve/lock_resolver.py | 388 | CODE | |
| LOW | pex/resolve/lock_resolver.py | 432 | CODE | |
| LOW | pex/resolve/resolver_configuration.py | 65 | CODE | |
| LOW | pex/resolve/configured_resolver.py | 48 | CODE | |
| LOW | pex/resolve/pex_repository_resolver.py | 30 | CODE | |
| LOW | pex/resolve/lockfile/create.py | 169 | CODE | |
| LOW | pex/pip/version.py | 63 | CODE | |
| LOW | pex/pip/tool.py | 166 | CODE | |
| LOW | pex/pip/tool.py | 583 | CODE | |
| LOW | pex/pip/tool.py | 624 | CODE | |
| LOW | pex/pip/tool.py | 659 | CODE | |
| LOW | testing/__init__.py | 140 | CODE | |
| LOW | testing/__init__.py | 270 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | setup.cfg | 82 | # patterns here than we would otherwise need if we could leverage `**` support. | COMMENT |
| MEDIUM | pex/atomic_directory.py | 95 | # this compaction is more robust. | COMMENT |
| LOW | pex/fetcher.py | 186 | # There was no *.sock component, so just use the full path. | COMMENT |
| LOW | pex/scie/model.py | 460 | # hit, we just use major / minor. If the user wants control they can specify | COMMENT |
| MEDIUM | pex/resolve/pep_691/fingerprint_service.py | 166 | # enough; we need not fail the whole endeavor. The partial artifact just remains partial | STRING |
| LOW | pex/resolve/pep_691/fingerprint_service.py | 243 | # just return them as-is. | STRING |
| MEDIUM | pex/pip/tool.py | 406 | # prompt and we'd also like to know about this since it should never occur. We leverage | COMMENT |
| MEDIUM | tests/integration/test_issue_1520.py | 45 | # in conjunction with protobuf 4+ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pex/build_properties.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | pex/tools/commands/graph.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | pex/tools/commands/venv.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | pex/tools/commands/interpreter.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | pex/tools/commands/repository.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | pex/resolve/lockfile/updater.py | 62 | logger = logging.getLogger(__name__) | CODE |
| LOW | pex/docs/command.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | pex/cli/commands/venv.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | pex/cli/commands/interpreter.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | pex/pip/dependencies/requires.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | pex/pip/package_repositories/link_collector.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | pex/http/server.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | testing/mitmproxy.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | testing/devpi.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/gen-scie-platform.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/py27/lint_enum.py | 30 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/integration/cli/commands/test_issue_2050.py | 229 | #----------------------------------------------------------------------------- | STRING |
| MEDIUM | .github/workflows/track-pip-main.yml | 58 | # ----------- | COMMENT |
| MEDIUM | .github/workflows/track-pip-main.yml | 68 | # ------------------ | COMMENT |
| MEDIUM | .github/workflows/ci.yml | 96 | # ----------- | COMMENT |
| MEDIUM | .github/workflows/ci.yml | 105 | # ---------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pex/compatibility.py | 4 | # This file contains several 2.x/3.x compatibility checkstyle violations for a reason | COMMENT |
| MEDIUM | tests/integration/test_interpreter_selection.py | 161 | # Create a pex with interpreter constraints, but for not the default interpreter in the path. | COMMENT |
| MEDIUM | tests/integration/test_integration.py | 227 | # Create a temporary pex containing just `requests` with no entrypoint. | COMMENT |
| MEDIUM | tests/integration/test_integration.py | 244 | # Create a temporary pex containing just `requests` with no entrypoint. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pex/atomic_directory.py | 312 | except Exception: | CODE |
| LOW | pex/pth.py | 53 | except Exception as e: | CODE |
| LOW | pex/jobs.py | 584 | except Exception as e: | CODE |
| LOW | pex/jobs.py | 634 | except Exception as e: | CODE |
| LOW | pex/jobs.py | 650 | except Exception as e: | CODE |
| LOW | pex/result.py | 108 | except Exception as e: | CODE |
| LOW | pex/exceptions.py | 65 | except Exception: | CODE |
| LOW | build-backend/pex_build/__init__.py | 90 | except Exception: | CODE |
| LOW | tests/integration/test_issue_2235.py | 38 | except Exception as e: | CODE |
| MEDIUM | testing/__init__.py | 650 | print("Error cloning pyenv on attempt", index + 1, "of 3:", e, file=sys.stderr) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/resolve/test_locker.py | 62 | assert "git://example.org" == strip_credentials("git://git@example.org", Credentials("git")) | CODE |
| LOW | tests/resolve/test_locker.py | 63 | assert "git://example.org" == strip_credentials("git://****@example.org", Credentials("****")) | CODE |
| LOW⚡ | tests/resolve/test_locker.py | 76 | assert "git://git@example.org" == inject_credentials("git://example.org", Credentials("git")) | CODE |
| LOW⚡ | tests/resolve/test_locker.py | 77 | assert "git://git@example.org" == inject_credentials( | CODE |
| LOW⚡ | tests/resolve/test_locker.py | 78 | "git://****@example.org", Credentials("git") | CODE |
| LOW⚡ | tests/resolve/test_locker.py | 80 | assert "http://joe:bob@example.org" == inject_credentials( | CODE |
| LOW⚡ | tests/resolve/test_locker.py | 83 | assert "http://joe:bob@example.org" == inject_credentials( | CODE |
| LOW⚡ | tests/resolve/test_locker.py | 84 | "http://joe:****@example.org", Credentials("joe", "bob") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pex/pex_builder.py | 284 | # Check if 'script' is a console_script. | COMMENT |
| LOW | pex/pex_builder.py | 295 | # Check if 'script' is an ordinary script. | COMMENT |
| LOW | pex/pex.py | 677 | # Check if the arg is an expected startup arg. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_pex.py | 516 | "my_package/my_module.py": 'def do_something():\n print("hello world!")\n', | CODE |
| LOW | tests/integration/test_reproducible.py | 285 | def do_something(): | STRING |
| LOW | tests/integration/test_integration.py | 385 | def do_something(): | STRING |
| LOW | tests/integration/test_integration.py | 1066 | def do_something(): | STRING |
| LOW | testing/__init__.py | 176 | os.path.join(name, "my_module.py"): 'def do_something():\n print("hello world!")\n', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pex/distutils/commands/bdist_pex.py | 125 | # In order for code to run to here, pex is on the sys.path - make sure to propagate the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pex/pip/tool.py | 876 | # WARNING: This command is only meant for debugging. Do not use this with automation for | COMMENT |