Repository Analysis

giampaolo/psutil

Cross-platform lib for process and system monitoring in Python

21.2 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of giampaolo/psutil, a Python project with 11,256 GitHub stars. SynthScan v2.0 examined 65,787 lines of code across 274 source files, recording 815 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 21.2 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).

21.2
Adjusted Score
21.2
Raw Score
100%
Time Factor
2026-08-02
Last Push
11.3K
Stars
Python
Language
65.8K
Lines of Code
274
Files
815
Pattern Hits
2026-08-02
Scan Date
0.09
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

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

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 26MEDIUM 292LOW 497

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 815 distinct pattern matches across 14 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.

Decorative Section Separators291 hits · 857 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml293# =============================================================================COMMENT
MEDIUMtests/test_contracts.py45# ===================================================================COMMENT
MEDIUMtests/test_contracts.py47# ===================================================================COMMENT
MEDIUMtests/test_contracts.py343# ===================================================================COMMENT
MEDIUMtests/test_contracts.py345# ===================================================================COMMENT
MEDIUMtests/test_heap.py62# =====================================================================COMMENT
MEDIUMtests/test_heap.py64# =====================================================================COMMENT
MEDIUMtests/test_heap.py164# =====================================================================COMMENT
MEDIUMtests/test_heap.py166# =====================================================================COMMENT
MEDIUMtests/test_unicode.py125# ===================================================================COMMENT
MEDIUMtests/test_unicode.py127# ===================================================================COMMENT
MEDIUMtests/test_unicode.py290# ===================================================================COMMENT
MEDIUMtests/test_unicode.py292# ===================================================================COMMENT
MEDIUMtests/test_misc.py187# ===================================================================COMMENT
MEDIUMtests/test_misc.py189# ===================================================================COMMENT
MEDIUMtests/test_misc.py335# ===================================================================COMMENT
MEDIUMtests/test_misc.py337# ===================================================================COMMENT
MEDIUMtests/test_misc.py46# ===================================================================COMMENT
MEDIUMtests/test_misc.py48# ===================================================================COMMENT
MEDIUMtests/test_misc.py371# ===================================================================STRING
MEDIUMtests/test_misc.py373# ===================================================================STRING
MEDIUMtests/test_misc.py526# ===================================================================STRING
MEDIUMtests/test_misc.py528# ===================================================================STRING
MEDIUMtests/test_misc.py760# ===================================================================STRING
MEDIUMtests/test_misc.py762# ===================================================================STRING
MEDIUMtests/test_linux.py2536# =====================================================================COMMENT
MEDIUMtests/test_linux.py2538# =====================================================================COMMENT
MEDIUMtests/test_linux.py74# =====================================================================COMMENT
MEDIUMtests/test_linux.py76# =====================================================================COMMENT
MEDIUMtests/test_linux.py235# =====================================================================COMMENT
MEDIUMtests/test_linux.py237# =====================================================================COMMENT
MEDIUMtests/test_linux.py700# =====================================================================STRING
MEDIUMtests/test_linux.py702# =====================================================================STRING
MEDIUMtests/test_linux.py1798# =====================================================================STRING
MEDIUMtests/test_linux.py1800# =====================================================================STRING
MEDIUMtests/test_linux.py2053# =====================================================================STRING
MEDIUMtests/test_linux.py2055# =====================================================================STRING
MEDIUMtests/test_linux.py583# =====================================================================STRING
MEDIUMtests/test_linux.py585# =====================================================================STRING
MEDIUMtests/test_linux.py1063# =====================================================================STRING
MEDIUMtests/test_linux.py1065# =====================================================================STRING
MEDIUMtests/test_linux.py1321# =====================================================================STRING
MEDIUMtests/test_linux.py1323# =====================================================================STRING
MEDIUMtests/test_linux.py1616# =====================================================================STRING
MEDIUMtests/test_linux.py1618# =====================================================================STRING
MEDIUMtests/__init__.py345# ===================================================================COMMENT
MEDIUMtests/__init__.py347# ===================================================================COMMENT
MEDIUMtests/__init__.py110# ===================================================================COMMENT
MEDIUMtests/__init__.py112# ===================================================================COMMENT
MEDIUMtests/__init__.py297# ===================================================================COMMENT
MEDIUMtests/__init__.py299# ===================================================================COMMENT
MEDIUMtests/__init__.py716# ===================================================================COMMENT
MEDIUMtests/__init__.py718# ===================================================================COMMENT
MEDIUMtests/__init__.py842# ===================================================================COMMENT
MEDIUMtests/__init__.py844# ===================================================================COMMENT
MEDIUMtests/__init__.py1498# ===================================================================COMMENT
MEDIUMtests/__init__.py1500# ===================================================================COMMENT
MEDIUMtests/__init__.py1729# =====================================================================COMMENT
MEDIUMtests/__init__.py1731# =====================================================================COMMENT
MEDIUMtests/__init__.py1885# ===================================================================COMMENT
231 more matches not shown…
Hyper-Verbose Identifiers263 hits · 214 pts
SeverityFileLineSnippetContext
LOWsetup.py360def print_install_instructions():CODE
LOWtests/test_contracts.py164 def test_proc_ioprio_class_linux(self):CODE
LOWtests/test_contracts.py179 def test_proc_ioprio_value_windows(self):CODE
LOWtests/test_contracts.py192 def test_proc_priority_windows(self):CODE
LOWtests/test_contracts.py260 def test_sensors_temperatures(self):CODE
LOWtests/test_contracts.py446 def test_sensors_temperatures(self):CODE
LOWtests/test_connections.py53def this_proc_net_connections(kind):CODE
LOWtests/test_connections.py69 def compare_procsys_connections(self, pid, proc_cons, kind='all'):CODE
LOWtests/test_connections.py566 def test_net_connection_constants(self):STRING
LOWtests/test_unicode.py230 def test_proc_net_connections(self):CODE
LOWtests/test_misc.py111 def test_no_such_process__repr__(self):CODE
LOWtests/test_misc.py121 def test_no_such_process__str__(self):CODE
LOWtests/test_misc.py131 def test_zombie_process__repr__(self):CODE
LOWtests/test_misc.py143 def test_zombie_process__str__(self):CODE
LOWtests/test_misc.py153 def test_access_denied__repr__(self):CODE
LOWtests/test_misc.py160 def test_access_denied__str__(self):CODE
LOWtests/test_misc.py167 def test_timeout_expired__repr__(self):CODE
LOWtests/test_misc.py179 def test_timeout_expired__str__(self):CODE
LOWtests/test_misc.py342 def test_exceptions_survive_reimport(self):CODE
LOWtests/test_misc.py236 def test_process_as_dict_no_new_names(self):CODE
LOWtests/test_misc.py320 def test_sanity_version_check(self):CODE
LOWtests/test_misc.py377 def test_memoize_when_activated(self):STRING
LOWtests/test_misc.py549 def test_increase_but_no_wrap(self):STRING
LOWtests/test_misc.py599 def test_changing_keys_w_wrap(self):STRING
LOWtests/test_misc.py739 def test_cache_clear_public_apis(self):STRING
LOWtests/test_misc.py804 def test_instructions_are_silent_if_toolchain_is_ok(self):STRING
LOWtests/test_misc.py813 def test_instructions_without_compiler(self):STRING
LOWtests/test_misc.py825 def test_instructions_on_macos(self):STRING
LOWtests/test_misc.py833 def test_instructions_without_headers(self):STRING
LOWtests/test_misc.py848 def test_detection_without_compiler(self):STRING
LOWtests/test_posix.py187 def test_username_no_resolution(self):CODE
LOWtests/test_posix.py243 def test_name_long_cmdline_ad_exc(self):CODE
LOWtests/test_posix.py256 def test_name_long_cmdline_nsp_exc(self):CODE
LOWtests/test_posix.py358 def test_page_faults_minor_increase(self):CODE
LOWtests/test_posix.py488 def test_pid_exists_let_raise(self):CODE
LOWtests/test_changelog_bot.py68 def test_appends_to_end_of_section(self):STRING
LOWtests/test_changelog_bot.py75 def test_does_not_glue_to_next_header(self):STRING
LOWtests/test_changelog_bot.py84 def test_inserts_into_correct_section(self):STRING
LOWtests/test_changelog_bot.py94 def test_inserts_in_sorted_position(self):STRING
LOWtests/test_changelog_bot.py102 def test_inserts_into_last_run_of_grouped_section(self):STRING
LOWtests/test_changelog_bot.py211 def test_passes_for_sorted_run(self):STRING
LOWtests/test_changelog_bot.py214 def test_raises_when_placed_after_higher_number(self):STRING
LOWtests/test_changelog_bot.py219 def test_stops_at_group_boundary(self):STRING
LOWtests/test_changelog_bot.py243 def test_replaces_single_line_entry(self):STRING
LOWtests/test_changelog_bot.py253 def test_replaces_multiline_entry_span(self):STRING
LOWtests/test_changelog_bot.py261 def test_raises_when_entry_absent(self):STRING
LOWtests/test_changelog_bot.py265 def test_does_not_match_released_block_entry(self):STRING
LOWtests/test_changelog_bot.py55 def test_returns_only_top_block(self):STRING
LOWtests/test_changelog_bot.py130 def test_multiline_entry_kept_together(self):STRING
LOWtests/test_changelog_bot.py138 def test_creates_missing_section_after_enhancements(self):STRING
LOWtests/test_changelog_bot.py154 def test_created_section_has_blank_line_before_first_entry(self):STRING
LOWtests/test_changelog_bot.py171 def test_created_enhancements_has_blank_line_before_entry(self):STRING
LOWtests/test_changelog_bot.py186 def test_creates_missing_enhancements_before_bug_fixes(self):STRING
LOWtests/test_changelog_bot.py307 def test_adds_new_contributor_sorted(self):STRING
LOWtests/test_changelog_bot.py321 def test_appends_gh_to_existing_contributor(self):STRING
LOWtests/test_changelog_bot.py331 def test_sorts_before_legacy_named_link(self):STRING
LOWtests/test_changelog_bot.py357 def test_repeat_legacy_contributor_appends_not_duplicates(self):STRING
LOWtests/test_changelog_bot.py369 def test_giampaolo_is_skipped(self):STRING
LOWtests/test_changelog_bot.py376 def test_duplicate_gh_is_skipped(self):STRING
LOWtests/test_changelog_bot.py402 def test_append_to_wrapped_entry_hits_last_line(self):STRING
203 more matches not shown…
Cross-File Repetition24 hits · 120 pts
SeverityFileLineSnippetContext
HIGHpsutil/_pswindows.py0swap system memory as a (total, used, free, sin, sout) tuple.STRING
HIGHpsutil/_psosx.py0swap system memory as a (total, used, free, sin, sout) tuple.STRING
HIGHpsutil/_psaix.py0swap system memory as a (total, used, free, sin, sout) tuple.STRING
HIGHpsutil/_pswindows.py0return system per-cpu times as a list of named tuples.STRING
HIGHpsutil/_psaix.py0return system per-cpu times as a list of named tuples.STRING
HIGHpsutil/_pssunos.py0return system per-cpu times as a list of named tuples.STRING
HIGHpsutil/_pswindows.py0return currently connected users as a list of named tuples.STRING
HIGHpsutil/_psosx.py0return currently connected users as a list of named tuples.STRING
HIGHpsutil/_psbsd.py0return currently connected users as a list of named tuples.STRING
HIGHpsutil/_psaix.py0return currently connected users as a list of named tuples.STRING
HIGHpsutil/_pslinux.py0return currently connected users as a list of named tuples.STRING
HIGHpsutil/_pssunos.py0return currently connected users as a list of named tuples.STRING
HIGHpsutil/_psosx.py0return the system boot time expressed in seconds since the epoch.STRING
HIGHpsutil/_psbsd.py0return the system boot time expressed in seconds since the epoch.STRING
HIGHpsutil/_psaix.py0return the system boot time expressed in seconds since the epoch.STRING
HIGHpsutil/_pssunos.py0return the system boot time expressed in seconds since the epoch.STRING
HIGHpsutil/_pslinux.py0return the system boot time expressed in seconds since the epoch.STRING
HIGHpsutil/_psosx.py0decorator which translates bare oserror exceptions into nosuchprocess and accessdenied.STRING
HIGHpsutil/_psbsd.py0decorator which translates bare oserror exceptions into nosuchprocess and accessdenied.STRING
HIGHpsutil/_pslinux.py0decorator which translates bare oserror exceptions into nosuchprocess and accessdenied.STRING
HIGHpsutil/_psbsd.py0returns a list of pids currently running on the system.STRING
HIGHpsutil/_psaix.py0returns a list of pids currently running on the system.STRING
HIGHpsutil/_pslinux.py0returns a list of pids currently running on the system.STRING
HIGHpsutil/_pssunos.py0returns a list of pids currently running on the system.STRING
Over-Commented Block83 hits · 76 pts
SeverityFileLineSnippetContext
LOWtests/__init__.py941 not really due to the time variant.COMMENT
LOWtests/test_system.py561 assert isinstance(cp_time, float)COMMENT
LOWtests/test_system.py601 total += cp_timeCOMMENT
LOWtests/test_windows.py401 # # _UPTIME constant is not public but it is used internallyCOMMENT
LOWdocs/conf.py261 "blog/category/*",COMMENT
LOWdocs/conf.py281# references resolvable.COMMENT
LOWdocs/_static/js/search-shortcuts.js1// Copyright (c) 2009 Giampaolo Rodola. All rights reserved.COMMENT
LOWdocs/_static/js/theme-toggle.js1// Copyright (c) 2009 Giampaolo Rodola. All rights reserved.COMMENT
LOW.github/workflows/docs.yml1# Builds and tests the docs, then deploys them to GitHub Pages.COMMENT
LOWpsutil/_psutil_aix.c1/*COMMENT
LOWpsutil/_psutil_aix.c21// versions)COMMENT
LOWpsutil/_psutil_aix.c41#include <mntent.h>COMMENT
LOWpsutil/_pswindows.py521 d['display_name'] = self.display_name()COMMENT
LOWpsutil/_pswindows.py541 # check whether it's runningCOMMENT
LOWpsutil/_psutil_linux.c1/*COMMENT
LOWpsutil/_psutil_windows.c1/*COMMENT
LOWpsutil/__init__.py641 # I expect that the code below will be a pretty commonCOMMENT
LOWpsutil/__init__.py1261 delta_time = st2 - st1COMMENT
LOWpsutil/_pslinux.py61HAS_CPU_AFFINITY = hasattr(_psutil, "proc_cpu_affinity_get")COMMENT
LOWpsutil/_pslinux.py321 # - starting from 4.4.0 we match free's "available" column.COMMENT
LOWpsutil/_pslinux.py1001 # On Linux 2.6+ each line *usually* has 14 fields, and the diskCOMMENT
LOWpsutil/_pslinux.py1821 if monotonic:COMMENT
LOWpsutil/_pslinux.py1901COMMENT
LOWpsutil/_psutil_sunos.c1/*COMMENT
LOWpsutil/_psposix.py61 return numCOMMENT
LOWpsutil/arch/posix/init.c21// allow the synonym _SC_PAGE_SIZE for _SC_PAGESIZE. WhetherCOMMENT
LOWpsutil/arch/posix/init.c101 PSUTIL_ADD_INT(mod, "RLIMIT_AS", RLIMIT_AS);COMMENT
LOWpsutil/arch/posix/init.c121#ifdef RLIMIT_NPROCCOMMENT
LOWpsutil/arch/posix/init.c141#endifCOMMENT
LOWpsutil/arch/posix/net.c1/*COMMENT
LOWpsutil/arch/posix/net.c21COMMENT
LOWpsutil/arch/posix/net.c361#endifCOMMENT
LOWpsutil/arch/posix/net.c421#endifCOMMENT
LOWpsutil/arch/posix/net.c541#endifCOMMENT
LOWpsutil/arch/posix/net.c561 case (IFM_10G_TWINAX):COMMENT
LOWpsutil/arch/posix/init.h21COMMENT
LOWpsutil/arch/osx/cpu.c1/*COMMENT
LOWpsutil/arch/osx/cpu.c21#include <mach/mach_host.h>COMMENT
LOWpsutil/arch/osx/cpu.c181// values well below it.COMMENT
LOWpsutil/arch/osx/proc_utils.c1/*COMMENT
LOWpsutil/arch/osx/proc_utils.c161// https://github.com/giampaolo/psutil/issues/2885COMMENT
LOWpsutil/arch/osx/net.c1/*COMMENT
LOWpsutil/arch/osx/proc.c1/*COMMENT
LOWpsutil/arch/osx/proc.c21#include <sys/resource.h>COMMENT
LOWpsutil/arch/osx/disk.c1/*COMMENT
LOWpsutil/arch/sunos/net.c1/*COMMENT
LOWpsutil/arch/sunos/environ.c301// returned array. In case of error value of variable will not beCOMMENT
LOWpsutil/arch/netbsd/cpu.c1/*COMMENT
LOWpsutil/arch/netbsd/mem.c1/*COMMENT
LOWpsutil/arch/all/utils.c1/*COMMENT
LOWpsutil/arch/all/init.h1/*COMMENT
LOWpsutil/arch/all/init.h21COMMENT
LOWpsutil/arch/all/init.h61COMMENT
LOWpsutil/arch/all/init.h81 #define SIZEOF_PID_T PSUTIL_SIZEOF_PID_T // set as a macro in setup.pyCOMMENT
LOWpsutil/arch/all/init.h101 #define PyLong_FromPid PyLong_FromLongCOMMENT
LOWpsutil/arch/bsd/heap.c1/*COMMENT
LOWpsutil/arch/bsd/proc_utils.c1/*COMMENT
LOWpsutil/arch/bsd/proc.c1/*COMMENT
LOWpsutil/arch/bsd/proc.c81 // Calculate memory.COMMENT
LOWpsutil/arch/bsd/proc.c141 // https://svnweb.freebsd.org/base/head/usr.bin/top/machine.c?COMMENT
23 more matches not shown…
Deep Nesting106 hits · 74 pts
SeverityFileLineSnippetContext
LOW_bootstrap.py28CODE
LOWtests/test_connections.py293CODE
LOWtests/test_misc.py193CODE
LOWtests/test_posix.py453CODE
LOWtests/test_linux.py851CODE
LOWtests/test_linux.py883CODE
LOWtests/test_linux.py956CODE
LOWtests/test_linux.py1069CODE
LOWtests/test_linux.py1187CODE
LOWtests/test_linux.py1966CODE
LOWtests/test_linux.py1993CODE
LOWtests/test_linux.py2104CODE
LOWtests/test_linux.py2471CODE
LOWtests/test_linux.py852CODE
LOWtests/test_linux.py884CODE
LOWtests/test_linux.py975CODE
LOWtests/test_linux.py1967CODE
LOWtests/test_linux.py1994CODE
LOWtests/test_linux.py2105CODE
LOWtests/__init__.py224CODE
LOWtests/__init__.py539CODE
LOWtests/__init__.py1543CODE
LOWtests/__init__.py1639CODE
LOWtests/__init__.py1654CODE
LOWtests/__init__.py1761CODE
LOWtests/__init__.py1846CODE
LOWtests/test_sudo.py35CODE
LOWtests/test_process_all.py58CODE
LOWtests/test_process_all.py221CODE
LOWtests/test_process_all.py256CODE
LOWtests/test_process_all.py401CODE
LOWtests/test_process_all.py436CODE
LOWtests/test_process_all.py466CODE
LOWtests/test_process_all.py557CODE
LOWtests/test_process_all.py558CODE
LOWtests/test_process_all.py573CODE
LOWtests/test_process.py548CODE
LOWtests/test_process.py748CODE
LOWtests/test_process.py932CODE
LOWtests/test_process.py1269CODE
LOWtests/test_process.py1376CODE
LOWtests/test_system.py388CODE
LOWtests/test_system.py458CODE
LOWtests/test_system.py820CODE
LOWtests/test_system.py964CODE
LOWtests/test_windows.py332CODE
LOWtests/test_scripts.py92CODE
LOWtests/test_type_hints.py42CODE
LOWtests/test_type_hints.py50CODE
LOWdocs/test_docs.py728CODE
LOWscripts/iotop.py64CODE
LOWscripts/procsmem.py58CODE
LOWscripts/cpu_distribution.py60CODE
LOWscripts/procinfo.py139CODE
LOWscripts/internal/print_sysinfo.py49CODE
LOWscripts/internal/find_broken_links.py102CODE
LOWscripts/internal/find_broken_links.py123CODE
LOWscripts/internal/find_broken_links.py160CODE
LOWscripts/internal/find_broken_links.py191CODE
LOWscripts/internal/print_dist.py64CODE
46 more matches not shown…
Excessive Try-Catch Wrapping21 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUMtests/__init__.py225def attempt(exe):CODE
LOWtests/__init__.py355 except Exception:CODE
LOWtests/__init__.py211except Exception: # noqa: BLE001CODE
LOWtests/__init__.py216except Exception: # noqa: BLE001CODE
LOWtests/__init__.py1523 except Exception:CODE
LOWtests/__init__.py1537 except Exception:CODE
LOWtests/__init__.py1579 except Exception:CODE
LOWtests/__init__.py509 except Exception:STRING
LOWtests/test_process_all.py121 except Exception as exc: # noqa: BLE001CODE
LOWtests/test_process_all.py189 except Exception as exc:CODE
LOWtests/test_process_all.py231 except Exception: # noqa: BLE001CODE
LOWscripts/internal/find_broken_links.py209 except Exception: # noqa: BLE001CODE
LOWpsutil/_common.py262 except Exception as err:CODE
LOWpsutil/_common.py269 except Exception as err:CODE
LOWpsutil/_common.py616 except Exception:CODE
LOWpsutil/_common.py688 except Exception: # noqa: BLE001CODE
LOWpsutil/__init__.py2030except Exception: # noqa: BLE001CODE
LOWpsutil/__init__.py2038except Exception: # noqa: BLE001CODE
LOWpsutil/__init__.py2573 except Exception as err: # noqa: BLE001CODE
LOWpsutil/_psosx.py249except Exception as err: # noqa: BLE001CODE
LOWpsutil/_psbsd.py342 except Exception as err: # noqa: BLE001CODE
Cross-Language Confusion2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHpsutil/_pslinux.py1378 ret = bcat(path, fallback=null)CODE
HIGHpsutil/_pslinux.py1379 if ret != null:CODE
Unused Imports9 hits · 7 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py7CODE
LOWtests/conftest.py8CODE
LOWtests/test_type_hints.py7CODE
LOWdocs/conf.py298CODE
LOWscripts/internal/print_downloads.py178CODE
LOWpsutil/_pswindows.py7CODE
LOWpsutil/__init__.py21CODE
LOWpsutil/__init__.py56CODE
LOWpsutil/_ntuples.py5CODE
Verbosity Indicators3 hits · 4 pts
SeverityFileLineSnippetContext
LOWscripts/internal/find_adopters.py731 # Step 1: enumerate all popular Python repos.COMMENT
LOWscripts/internal/find_adopters.py750 # Step 2: fetch data needed for the requested filters.COMMENT
LOWscripts/internal/find_adopters.py764 # Step 3: apply filters.COMMENT
Structural Annotation Overuse3 hits · 4 pts
SeverityFileLineSnippetContext
LOWscripts/internal/find_adopters.py731 # Step 1: enumerate all popular Python repos.COMMENT
LOWscripts/internal/find_adopters.py750 # Step 2: fetch data needed for the requested filters.COMMENT
LOWscripts/internal/find_adopters.py764 # Step 3: apply filters.COMMENT
Modern Structural Boilerplate5 hits · 4 pts
SeverityFileLineSnippetContext
LOWtests/__init__.py66__all__ = [CODE
LOWdocs/_ext/availability.py17logger = logging.getLogger(__name__)CODE
LOWpsutil/_common.py38__all__ = [CODE
LOWpsutil/__init__.py232__all__ = [CODE
LOWpsutil/_psposix.py26__all__ = ['pid_exists', 'wait_pid', 'disk_usage', 'get_terminal_map']CODE
AI Structural Patterns3 hits · 2 pts
SeverityFileLineSnippetContext
LOWscripts/internal/download_wheels.py60CODE
LOWpsutil/_pswindows.py968CODE
LOWpsutil/_pswindows.py978CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/internal/install-sysdeps.sh43# Check if running as rootCOMMENT
AI Slop Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
LOWpsutil/_pssunos.py687 # If that's the case we just return theCOMMENT