An interactive NVIDIA-GPU process viewer and beyond, the one-stop solution for GPU process management.
This report presents the forensic synthetic code analysis of XuehaiPan/nvitop, a Python project with 7,083 GitHub stars. SynthScan v2.0 examined 31,058 lines of code across 110 source files, recording 488 pattern matches distributed across 13 syntactic categories. The overall adjusted score of 23.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).
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.
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 488 distinct pattern matches across 13 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 |
|---|---|---|---|---|
| MEDIUM | install-nvidia-driver.sh | 17 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/version.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/__init__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/cli.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/select.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/__main__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/__init__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/tui.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/library/messagebox.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/library/messagebox.py | 2 | # This file is originally part of ranger, the console file manager. https://github.com/ranger/ranger | COMMENT |
| MEDIUM | nvitop/tui/library/displayable.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/library/displayable.py | 2 | # This file is originally part of ranger, the console file manager. https://github.com/ranger/ranger | COMMENT |
| MEDIUM | nvitop/tui/library/device.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/library/host.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/library/libcurses.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/library/__init__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/library/widestring.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/library/widestring.py | 2 | # This file is originally part of ranger, the console file manager. https://github.com/ranger/ranger | COMMENT |
| MEDIUM | nvitop/tui/library/utils.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/library/mouse.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/library/mouse.py | 2 | # This file is originally part of ranger, the console file manager. https://github.com/ranger/ranger | COMMENT |
| MEDIUM | nvitop/tui/library/process.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/library/selection.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/library/keybinding.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/library/keybinding.py | 2 | # This file is originally part of ranger, the console file manager. https://github.com/ranger/ranger | COMMENT |
| MEDIUM | nvitop/tui/library/history.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/screens/metrics.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/screens/treeview.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/screens/__init__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/screens/help.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/screens/base.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/screens/environ.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/screens/main/__init__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/screens/main/panels/device.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/screens/main/panels/host.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/screens/main/panels/__init__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/screens/main/panels/process.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/tui/screens/main/panels/base.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/api/termcolor.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/api/device.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/api/host.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/api/collector.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/api/libcudart.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/api/__init__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/api/caching.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/api/utils.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/api/process.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/api/libcuda.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop/api/libnvml.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop-exporter/nvitop_exporter/version.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop-exporter/nvitop_exporter/exporter.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop-exporter/nvitop_exporter/__init__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop-exporter/nvitop_exporter/cli.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop-exporter/nvitop_exporter/utils.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | nvitop-exporter/nvitop_exporter/__main__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | examples/collector-tensorboard/collector_tensorboard.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | examples/monitor-web/monitor_web.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | examples/take-snapshots/take_snapshots_demo.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | examples/select-devices-api/select_devices_api.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| MEDIUM | examples/collector-csv/collector_csv.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| 6 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 14 | CODE | |
| LOW | nvitop/__init__.py | 22 | CODE | |
| LOW | nvitop/__init__.py | 35 | CODE | |
| LOW | nvitop/__init__.py | 36 | CODE | |
| LOW | nvitop/select.py | 57 | CODE | |
| LOW | nvitop/tui/__init__.py | 6 | CODE | |
| LOW | nvitop/tui/__init__.py | 6 | CODE | |
| LOW | nvitop/tui/__init__.py | 6 | CODE | |
| LOW | nvitop/tui/__init__.py | 6 | CODE | |
| LOW | nvitop/tui/__init__.py | 6 | CODE | |
| LOW | nvitop/tui/__init__.py | 6 | CODE | |
| LOW | nvitop/tui/__init__.py | 6 | CODE | |
| LOW | nvitop/tui/__init__.py | 15 | CODE | |
| LOW | nvitop/tui/tui.py | 6 | CODE | |
| LOW | nvitop/tui/library/messagebox.py | 7 | CODE | |
| LOW | nvitop/tui/library/displayable.py | 7 | CODE | |
| LOW | nvitop/tui/library/device.py | 6 | CODE | |
| LOW | nvitop/tui/library/host.py | 6 | CODE | |
| LOW | nvitop/tui/library/host.py | 12 | CODE | |
| LOW | nvitop/tui/library/host.py | 12 | CODE | |
| LOW | nvitop/tui/library/libcurses.py | 6 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 6 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 7 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 7 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 8 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 8 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 9 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 9 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 10 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 10 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 10 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 10 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 10 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 10 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 10 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 10 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 20 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 20 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 21 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 21 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 21 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 21 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 27 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 28 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 28 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 29 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| LOW | nvitop/tui/library/__init__.py | 30 | CODE | |
| 130 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | install-nvidia-driver.sh | 2 | # ============================================================================== | COMMENT |
| MEDIUM | install-nvidia-driver.sh | 16 | # ============================================================================== | COMMENT |
| MEDIUM | install-nvidia-driver.sh | 32 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/version.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/__init__.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/select.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/api/termcolor.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/api/termcolor.py | 19 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/api/termcolor.py | 41 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/api/device.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/api/host.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/api/collector.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/api/libcudart.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/api/__init__.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/api/caching.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/api/utils.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/api/process.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/api/libcuda.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop/api/libnvml.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop-exporter/nvitop_exporter/version.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop-exporter/nvitop_exporter/exporter.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop-exporter/nvitop_exporter/__init__.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop-exporter/nvitop_exporter/cli.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop-exporter/nvitop_exporter/utils.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | nvitop-exporter/nvitop_exporter/__main__.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | examples/collector-tensorboard/collector_tensorboard.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | examples/monitor-web/monitor_web.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | examples/take-snapshots/take_snapshots_demo.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | examples/select-devices-api/select_devices_api.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | examples/collector-csv/collector_csv.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | examples/ml-framework-callbacks/keras.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | examples/ml-framework-callbacks/lightning.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | examples/ml-framework-callbacks/tensorboard.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | examples/monitor-colored/monitor_colored.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | examples/monitor-minimal/monitor_minimal.py | 16 | # ============================================================================== | COMMENT |
| MEDIUM | examples/collector-background/collector_background.py | 16 | # ============================================================================== | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | nvitop/select.py | 148 | Select a subset of devices satisfying the specified criteria. Note: The *min count* constraint may not be s | STRING |
| HIGH | nvitop/api/device.py | 438 | Return a list of devices of the given indices. Args: indices (Iterable[Union[int, Tuple[int, int]]] | STRING |
| HIGH | nvitop/api/device.py | 501 | Return a list of CUDA devices of the given CUDA indices. The CUDA ordinal will be enumerate from the ``CUDA_VIS | STRING |
| HIGH | nvitop/api/device.py | 2574 | Return a list of MIG devices of the given indices. Args: indices (Iterable[Tuple[int, int]]): | STRING |
| HIGH | nvitop/api/device.py | 2851 | Return a list of CUDA devices of the given CUDA indices. The CUDA ordinal will be enumerate from the ``CUDA_VIS | STRING |
| HIGH | nvitop/api/device.py | 3018 | Parse the given ``CUDA_VISIBLE_DEVICES`` value into a list of NVML device indices. This function is aliased by :met | STRING |
| HIGH | nvitop/api/device.py | 3076 | Parse the given ``CUDA_VISIBLE_DEVICES`` value and convert it into a comma-separated string of UUIDs. This function | STRING |
| HIGH | nvitop/api/device.py | 3346 | Parse the given ``CUDA_VISIBLE_DEVICES`` environment variable in a separate process and return a list of device UUIDs. | STRING |
| HIGH | nvitop/api/collector.py | 65 | Retrieve status of demanded devices and GPU processes. Args: devices (Optional[Union[Device, Iterable[Devic | STRING |
| HIGH | nvitop/api/collector.py | 206 | Start a background daemon thread that collect and call the callback function periodically. See also :func:`Resource | STRING |
| HIGH | nvitop/api/collector.py | 621 | Start a background daemon thread that collect and call the callback function periodically. See also :func:`coll | STRING |
| HIGH | nvitop/api/libcudart.py | 673 | Get a handle to a compute device. Args: pciBusId (str): String in one of the following forms: ` | STRING |
| HIGH | nvitop/api/libcuda.py | 586 | Get a handle to a compute device. Args: pciBusId (str): String in one of the following forms: ` | STRING |
| HIGH | examples/ml-framework-callbacks/keras.py | 79 | Automatically log GPU stats during training stage. :class:`GpuStatsLogger` is a callback and in order to use it you | STRING |
| HIGH | examples/ml-framework-callbacks/lightning.py | 85 | Automatically log GPU stats during training stage. :class:`GpuStatsLogger` is a callback and in order to use it you | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | nvitop/__init__.py | 39 | __all__ = [*api.__all__, 'select_devices'] | CODE |
| LOW | nvitop/select.py | 75 | __all__ = ['select_devices'] | CODE |
| LOW | nvitop/tui/__init__.py | 18 | __all__ = [ | CODE |
| LOW | nvitop/tui/tui.py | 38 | __all__ = ['TUI', 'MonitorMode'] | CODE |
| LOW | nvitop/tui/library/messagebox.py | 31 | __all__ = ['SIGNAL_HINT_BLANK', 'SIGNAL_HINT_KEY_SPANS', 'SIGNAL_HINT_TEXT', 'MessageBox'] | CODE |
| LOW | nvitop/tui/library/displayable.py | 20 | __all__ = ['Displayable', 'DisplayableContainer'] | CODE |
| LOW | nvitop/tui/library/device.py | 17 | __all__ = ['Device', 'MigDevice'] | CODE |
| LOW | nvitop/tui/library/host.py | 15 | __all__ = [ | CODE |
| LOW | nvitop/tui/library/libcurses.py | 24 | __all__ = ['CursesShortcuts', 'libcurses', 'setlocale_utf8'] | CODE |
| LOW | nvitop/tui/library/libcurses.py | 312 | def update_lines_cols() -> None: | CODE |
| LOW | nvitop/tui/library/libcurses.py | 324 | def set_base_attr(attr: str | int = 0) -> None: | CODE |
| LOW | nvitop/tui/library/__init__.py | 54 | __all__ = [ | CODE |
| LOW | nvitop/tui/library/widestring.py | 17 | __all__ = ['WideString', 'wcslen'] | CODE |
| LOW | nvitop/tui/library/utils.py | 30 | __all__ = [ | CODE |
| LOW | nvitop/tui/library/mouse.py | 17 | __all__ = ['MouseEvent'] | CODE |
| LOW | nvitop/tui/library/process.py | 21 | __all__ = ['GpuProcess', 'HostProcess'] | CODE |
| LOW | nvitop/tui/library/selection.py | 26 | __all__ = ['Selection'] | CODE |
| LOW | nvitop/tui/library/keybinding.py | 22 | __all__ = [ | CODE |
| LOW | nvitop/tui/library/history.py | 27 | __all__ = ['BufferedHistoryGraph', 'HistoryGraph'] | CODE |
| LOW | nvitop/tui/screens/metrics.py | 41 | __all__ = ['ProcessMetricsScreen'] | CODE |
| LOW | nvitop/tui/screens/metrics.py | 288 | def set_snapshot_interval(cls, interval: float) -> None: | CODE |
| LOW | nvitop/tui/screens/treeview.py | 44 | __all__ = ['TreeViewScreen'] | CODE |
| LOW | nvitop/tui/screens/treeview.py | 163 | def set_prefix(self, prefix: str = '') -> None: | CODE |
| LOW | nvitop/tui/screens/treeview.py | 316 | def set_snapshot_interval(cls, interval: float) -> None: | CODE |
| LOW | nvitop/tui/screens/__init__.py | 14 | __all__ = [ | CODE |
| LOW | nvitop/tui/screens/help.py | 21 | __all__ = ['HelpScreen'] | CODE |
| LOW | nvitop/tui/screens/base.py | 17 | __all__ = ['BaseScreen', 'BaseSelectableScreen'] | CODE |
| LOW | nvitop/tui/screens/environ.py | 23 | __all__ = ['EnvironScreen'] | CODE |
| LOW | nvitop/tui/screens/main/__init__.py | 32 | __all__ = ['BreakLoop', 'MainScreen'] | CODE |
| LOW | nvitop/tui/screens/main/panels/device.py | 33 | __all__ = ['DevicePanel'] | CODE |
| LOW | nvitop/tui/screens/main/panels/device.py | 171 | def set_snapshot_interval(cls, interval: float) -> None: | CODE |
| LOW | nvitop/tui/screens/main/panels/host.py | 35 | __all__ = ['HostPanel'] | CODE |
| LOW | nvitop/tui/screens/main/panels/host.py | 191 | def set_snapshot_interval(cls, interval: float) -> None: | CODE |
| LOW | nvitop/tui/screens/main/panels/__init__.py | 12 | __all__ = [ | CODE |
| LOW | nvitop/tui/screens/main/panels/process.py | 49 | __all__ = ['OrderName', 'ProcessPanel'] | CODE |
| LOW | nvitop/tui/screens/main/panels/process.py | 348 | def set_snapshot_interval(cls, interval: float) -> None: | CODE |
| LOW | nvitop/tui/screens/main/panels/base.py | 18 | __all__ = ['BasePanel', 'BaseSelectablePanel'] | CODE |
| LOW | nvitop/api/termcolor.py | 104 | __all__ = ['colored', 'cprint'] | CODE |
| LOW | nvitop/api/device.py | 138 | __all__ = [ | CODE |
| LOW | nvitop/api/host.py | 48 | __all__ = [ | CODE |
| LOW | nvitop/api/collector.py | 41 | __all__ = ['ResourceMetricCollector', 'collect_in_background', 'take_snapshots'] | CODE |
| LOW | nvitop/api/__init__.py | 68 | __all__ = [ # noqa: RUF022 | CODE |
| LOW | nvitop/api/caching.py | 42 | __all__ = ['ttl_cache'] | CODE |
| LOW | nvitop/api/utils.py | 41 | __all__ = [ # noqa: RUF022 | CODE |
| LOW | nvitop/api/utils.py | 68 | def set_color(value: bool) -> None: | CODE |
| LOW | nvitop/api/process.py | 52 | __all__ = ['GpuProcess', 'HostProcess', 'command_join'] | CODE |
| LOW | nvitop/api/process.py | 635 | def set_gpu_memory(self, value: int | NaType) -> None: | CODE |
| LOW | nvitop/api/libnvml.py | 53 | __all__ = [ # will be updated in below | CODE |
| LOW | nvitop-exporter/nvitop_exporter/exporter.py | 486 | def update_host(self) -> None: | CODE |
| LOW | nvitop-exporter/nvitop_exporter/exporter.py | 542 | def update_device(self, device: Device) -> None: # pylint: disable=too-many-locals | CODE |
| LOW | nvitop-exporter/nvitop_exporter/__init__.py | 24 | __all__ = ['PrometheusExporter', 'get_ip_address'] | CODE |
| LOW | nvitop-exporter/nvitop_exporter/utils.py | 22 | __all__ = ['get_ip_address'] | CODE |
| LOW | examples/monitor-web/monitor_web.py | 68 | __all__ = ['main'] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | nvitop/tui/library/messagebox.py | 336 | def register_signal_keybindings(cls, screen: BaseSelectableScreen, keymap_name: str) -> None: | CODE |
| LOW | nvitop/tui/library/messagebox.py | 356 | def confirm_sending_signal_to_processes( | CODE |
| LOW | nvitop/tui/library/device.py | 143 | def memory_utilization_string(self) -> str: # in percentage | CODE |
| LOW | nvitop/tui/library/device.py | 159 | def bandwidth_loading_intensity(self) -> LoadingIntensity: | CODE |
| LOW⚡ | nvitop/tui/library/process.py | 90 | def gpu_memory_percent_string(self) -> str: # in percentage | CODE |
| LOW⚡ | nvitop/tui/library/process.py | 93 | def gpu_sm_utilization_string(self) -> str: # in percentage | CODE |
| LOW⚡ | nvitop/tui/library/process.py | 96 | def gpu_memory_utilization_string(self) -> str: # in percentage | CODE |
| LOW⚡ | nvitop/tui/library/process.py | 99 | def gpu_encoder_utilization_string(self) -> str: # in percentage | CODE |
| LOW⚡ | nvitop/tui/library/process.py | 102 | def gpu_decoder_utilization_string(self) -> str: # in percentage | CODE |
| LOW⚡ | nvitop/api/device.py | 3192 | def _get_global_physical_device() -> PhysicalDevice: | CODE |
| LOW⚡ | nvitop/api/device.py | 3198 | def _parse_cuda_visible_devices( | CODE |
| LOW⚡ | nvitop/api/device.py | 3205 | def _parse_cuda_visible_devices( | CODE |
| LOW⚡ | nvitop/api/device.py | 3212 | def _parse_cuda_visible_devices( # pylint: disable=too-many-branches,too-many-statements | CODE |
| LOW | nvitop/api/device.py | 475 | def from_cuda_visible_devices() -> list[CudaDevice]: | CODE |
| LOW | nvitop/api/device.py | 547 | def parse_cuda_visible_devices( | CODE |
| LOW | nvitop/api/device.py | 574 | def normalize_cuda_visible_devices(cuda_visible_devices: str | None = _VALUE_OMITTED) -> str: | CODE |
| LOW | nvitop/api/device.py | 1650 | def query_nvlink_throughput_counters() -> tuple[tuple[int | NaType, int]]: | CODE |
| LOW | nvitop/api/device.py | 1784 | def nvlink_mean_tx_throughput(self, interval: float | None = None) -> int | NaType: # in KiB/s | CODE |
| LOW | nvitop/api/device.py | 1804 | def nvlink_total_tx_throughput(self, interval: float | None = None) -> int | NaType: # in KiB/s | CODE |
| LOW | nvitop/api/device.py | 1844 | def nvlink_mean_rx_throughput(self, interval: float | None = None) -> int | NaType: # in KiB/s | CODE |
| LOW | nvitop/api/device.py | 1864 | def nvlink_total_rx_throughput(self, interval: float | None = None) -> int | NaType: # in KiB/s | CODE |
| LOW | nvitop/api/device.py | 1884 | def nvlink_tx_throughput_human( | CODE |
| LOW | nvitop/api/device.py | 1910 | def nvlink_mean_tx_throughput_human( | CODE |
| LOW | nvitop/api/device.py | 1936 | def nvlink_total_tx_throughput_human( | CODE |
| LOW | nvitop/api/device.py | 1962 | def nvlink_rx_throughput_human( | CODE |
| LOW | nvitop/api/device.py | 1988 | def nvlink_mean_rx_throughput_human( | CODE |
| LOW | nvitop/api/device.py | 2014 | def nvlink_total_rx_throughput_human( | CODE |
| LOW | nvitop/api/device.py | 2161 | def total_volatile_uncorrected_ecc_errors(self) -> int | NaType: | CODE |
| LOW | nvitop/api/device.py | 3015 | def parse_cuda_visible_devices( | CODE |
| LOW | nvitop/api/device.py | 3075 | def normalize_cuda_visible_devices(cuda_visible_devices: str | None = _VALUE_OMITTED) -> str: | CODE |
| LOW | nvitop/api/device.py | 3149 | def _get_all_physical_device_attrs() -> OrderedDict[str, _PhysicalDeviceAttrs]: | CODE |
| LOW | nvitop/api/device.py | 3174 | def _does_any_device_support_mig_mode(uuids: Iterable[str] | None = None) -> bool: | CODE |
| LOW | nvitop/api/device.py | 3342 | def _parse_cuda_visible_devices_to_uuids( | STRING |
| LOW | nvitop/api/device.py | 3392 | def _cuda_visible_devices_parser( | STRING |
| LOW | nvitop/api/libcudart.py | 339 | def _extract_cuda_errors_as_classes() -> None: | CODE |
| LOW | nvitop/api/libcuda.py | 291 | def _extract_cuda_errors_as_classes() -> None: | CODE |
| LOW | nvitop/api/libnvml.py | 732 | def __determine_get_running_processes_version_suffix() -> str: | CODE |
| LOW | nvitop/api/libnvml.py | 778 | def __nvml_device_get_running_processes( | CODE |
| LOW | nvitop/api/libnvml.py | 943 | def __determine_get_memory_info_version_suffix() -> str: | CODE |
| LOW | nvitop/api/libnvml.py | 1031 | def __determine_get_temperature_version_suffix() -> str: | CODE |
| LOW | nvitop/api/libnvml.py | 1105 | def __determine_get_driver_model_version_suffix() -> str: | CODE |
| LOW | examples/monitor-web/monitor_web.py | 294 | class MonitorRequestHandler(http.server.BaseHTTPRequestHandler): | CODE |
| LOW | examples/monitor-web/monitor_web.py | 497 | def _average_history_time_buckets(samples: list[Sample], *, bucket_seconds: float) -> list[Sample]: | CODE |
| LOW | examples/ml-framework-callbacks/keras.py | 34 | def get_devices_by_logical_ids(device_ids: list[int], unique: bool = True) -> list[CudaDevice]: | CODE |
| LOW | examples/ml-framework-callbacks/lightning.py | 36 | def get_devices_by_logical_ids(device_ids: list[int], unique: bool = True) -> list[CudaDevice]: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 161 | # too long docstring due to long example blocks | COMMENT |
| LOW | install-nvidia-driver.sh | 1 | #!/bin/bash | COMMENT |
| LOW | install-nvidia-driver.sh | 21 | # Licensed under the Apache License, Version 2.0 (the "License"); | COMMENT |
| LOW | nvitop/version.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop/__init__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop/select.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop/api/termcolor.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop/api/termcolor.py | 21 | # | COMMENT |
| LOW | nvitop/api/device.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop/api/device.py | 2441 | ... device.memory_percent() # return cached value | COMMENT |
| LOW | nvitop/api/host.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop/api/collector.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop/api/libcudart.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop/api/__init__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop/api/caching.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop/api/utils.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop/api/process.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop/api/libcuda.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop/api/libnvml.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | docs/source/conf.py | 1 | # Configuration file for the Sphinx documentation builder. | COMMENT |
| LOW | docs/source/conf.py | 81 | # The theme to use for HTML and HTML Help pages. See the documentation for | COMMENT |
| LOW | nvitop-exporter/nvitop_exporter/version.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop-exporter/nvitop_exporter/exporter.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop-exporter/nvitop_exporter/__init__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop-exporter/nvitop_exporter/cli.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop-exporter/nvitop_exporter/utils.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | nvitop-exporter/nvitop_exporter/__main__.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | examples/collector-tensorboard/collector_tensorboard.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | examples/monitor-web/monitor_web.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | examples/take-snapshots/take_snapshots_demo.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | examples/select-devices-api/select_devices_api.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | examples/collector-csv/collector_csv.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | examples/ml-framework-callbacks/keras.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | examples/ml-framework-callbacks/lightning.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | examples/ml-framework-callbacks/tensorboard.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | examples/monitor-colored/monitor_colored.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | examples/monitor-minimal/monitor_minimal.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| LOW | examples/collector-background/collector_background.py | 1 | # This file is part of nvitop, the interactive NVIDIA-GPU process viewer. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | nvitop/cli.py | 285 | CODE | |
| LOW | nvitop/select.py | 133 | CODE | |
| LOW | nvitop/tui/tui.py | 274 | CODE | |
| LOW | nvitop/tui/library/keybinding.py | 150 | CODE | |
| LOW | nvitop/tui/library/keybinding.py | 168 | CODE | |
| LOW | nvitop/tui/library/keybinding.py | 388 | CODE | |
| LOW | nvitop/tui/library/history.py | 148 | CODE | |
| LOW | nvitop/tui/screens/metrics.py | 45 | CODE | |
| LOW | nvitop/tui/screens/metrics.py | 369 | CODE | |
| LOW | nvitop/tui/screens/treeview.py | 85 | CODE | |
| LOW | nvitop/tui/screens/treeview.py | 373 | CODE | |
| LOW | nvitop/tui/screens/treeview.py | 400 | CODE | |
| LOW | nvitop/tui/screens/main/panels/device.py | 320 | CODE | |
| LOW | nvitop/tui/screens/main/panels/device.py | 540 | CODE | |
| LOW | nvitop/tui/screens/main/panels/host.py | 278 | CODE | |
| LOW | nvitop/tui/screens/main/panels/process.py | 416 | CODE | |
| LOW | nvitop/tui/screens/main/panels/process.py | 451 | CODE | |
| LOW | nvitop/tui/screens/main/panels/process.py | 673 | CODE | |
| LOW | nvitop/api/device.py | 3212 | CODE | |
| LOW | nvitop/api/device.py | 2528 | CODE | |
| LOW | nvitop/api/collector.py | 60 | CODE | |
| LOW | nvitop/api/collector.py | 196 | CODE | |
| LOW | nvitop/api/collector.py | 264 | CODE | |
| LOW | nvitop/api/collector.py | 682 | CODE | |
| LOW | nvitop/api/libcudart.py | 438 | CODE | |
| LOW | nvitop/api/process.py | 387 | CODE | |
| LOW | nvitop/api/process.py | 421 | CODE | |
| LOW | nvitop/api/libcuda.py | 388 | CODE | |
| LOW | nvitop/api/libnvml.py | 476 | CODE | |
| LOW | nvitop/api/libnvml.py | 601 | CODE | |
| LOW | nvitop-exporter/nvitop_exporter/exporter.py | 542 | CODE | |
| LOW | examples/collector-tensorboard/collector_tensorboard.py | 52 | CODE | |
| LOW | examples/ml-framework-callbacks/keras.py | 46 | CODE | |
| LOW | examples/ml-framework-callbacks/lightning.py | 48 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/monitor-web/monitor_web.py | 521 | # it treats null, so dropping them saves bytes on 24-h downsampled payloads. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | nvitop/select.py | 79 | CODE | |
| LOW | nvitop/select.py | 97 | CODE | |
| LOW | nvitop/select.py | 115 | CODE | |
| LOW | nvitop/select.py | 133 | CODE | |
| LOW | nvitop/tui/library/history.py | 328 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | nvitop/tui/library/host.py | 44 | except Exception: # noqa: BLE001 # pylint: disable=broad-exception-caught | CODE |
| LOW | nvitop/api/device.py | 3417 | except Exception as ex: # pylint: disable=broad-except | STRING |
| LOW | examples/monitor-web/monitor_web.py | 824 | except Exception as ex: # noqa: BLE001 # pylint: disable=broad-except | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | nvitop/tui/library/libcurses.py | 188 | """This class defines shortcuts to facilitate operations with curses. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | nvitop/api/device.py | 3322 | # Check if any GPU that enables MIG mode | STRING |