Repository Analysis

mwaskom/seaborn

Statistical data visualization in Python

15.2 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of mwaskom/seaborn, a Python project with 13,956 GitHub stars. SynthScan v2.0 examined 55,765 lines of code across 166 source files, recording 735 pattern matches distributed across 12 syntactic categories. The overall adjusted score of 15.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).

15.2
Adjusted Score
15.2
Raw Score
100%
Time Factor
2026-07-06
Last Push
14.0K
Stars
Python
Language
55.8K
Lines of Code
166
Files
735
Pattern Hits
2026-07-14
Scan Date
0.11
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 18MEDIUM 30LOW 687

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 735 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers458 hits · 438 pts
SeverityFileLineSnippetContext
LOWseaborn/matrix.py534 def _calculate_linkage_fastcluster(self):CODE
LOWseaborn/matrix.py919 def color_list_to_matrix_and_cmap(colors, ind, axis=0):CODE
LOWseaborn/_base.py694 def _assign_variables_wideform(self, data=None, **kwargs):CODE
LOWseaborn/categorical.py187 def _palette_without_hue_backcompat(self, palette, hue_order):CODE
LOWseaborn/categorical.py3358 def first_non_overlapping_candidate(self, candidates, neighbors):CODE
LOWseaborn/widgets.py47def choose_colorbrewer_palette(data_type, as_cmap=False):CODE
LOWseaborn/widgets.py295 def choose_light_palette_husl(h=(0, 359),CODE
LOWseaborn/distributions.py298 def _compute_univariate_density(CODE
LOWseaborn/distributions.py376 def plot_univariate_histogram(CODE
LOWseaborn/utils.py673def locator_to_legend_entries(locator, limits, dtype):CODE
LOWseaborn/_statistics.py98 def _define_support_univariate(self, x, weights):CODE
LOWseaborn/_statistics.py107 def _define_support_bivariate(self, x1, x2, weights):CODE
LOWseaborn/_compat.py75def groupby_apply_include_groups(val):CODE
LOWseaborn/_core/subplots.py46 def _check_dimension_uniqueness(CODE
LOWseaborn/_core/subplots.py78 def _determine_grid_dimensions(CODE
LOWseaborn/_core/properties.py571 def _standardize_color_sequence(self, colors: ArrayLike) -> ArrayLike:CODE
LOWseaborn/_core/scales.py91 def set_default_locators_and_formatters(self, axis):CODE
LOWseaborn/_core/scales.py284 def set_default_locators_and_formatters(self, axis):CODE
LOWseaborn/_core/scales.py1003def _make_identity_transforms() -> TransFuncs:CODE
LOWseaborn/_marks/area.py53 def _standardize_coordinate_parameters(self, data, orient):CODE
LOWseaborn/_marks/area.py115 def _standardize_coordinate_parameters(self, data, orient):CODE
LOWseaborn/_marks/area.py162 def _standardize_coordinate_parameters(self, data, orient):CODE
LOWseaborn/_stats/density.py99 def _check_var_list_or_boolean(self, param: str, grouping_vars: Any) -> None:CODE
LOWseaborn/external/appdirs.py132def _get_win_folder_from_registry(csidl_name):STRING
LOWseaborn/external/appdirs.py180def _get_win_folder_with_ctypes(csidl_name):STRING
LOWseaborn/external/docscrape.py110 def read_to_next_unindented_line(self):CODE
LOWtests/test_palettes.py120 def test_terrible_palette_name(self):CODE
LOWtests/test_palettes.py138 def test_palette_is_list_of_tuples(self):CODE
LOWtests/test_palettes.py317 def test_cubehelix_against_matplotlib(self):CODE
LOWtests/test_palettes.py413 def test_preserved_palette_length(self):CODE
LOWtests/test_palettes.py426 def test_colormap_display_patch(self):CODE
LOWtests/test_utils.py156 def test_despine_specific_axes(self):CODE
LOWtests/test_utils.py186 def test_despine_side_specific_offset(self):CODE
LOWtests/test_utils.py199 def test_despine_with_offset_specific_axes(self):CODE
LOWtests/test_utils.py224 def test_despine_trim_inverted(self):CODE
LOWtests/test_utils.py236 def test_despine_trim_noticks(self):CODE
LOWtests/test_utils.py244 def test_despine_trim_categorical(self):CODE
LOWtests/test_utils.py312def test_locator_to_legend_entries():CODE
LOWtests/test_utils.py343def test_move_legend_matplotlib_objects():CODE
LOWtests/test_utils.py392def test_move_legend_grid_object(long_df):CODE
LOWtests/test_utils.py420def test_move_legend_input_checks():CODE
LOWtests/test_utils.py433def test_move_legend_with_labels(long_df):CODE
LOWtests/test_utils.py460def check_load_cached_dataset(name):CODE
LOWtests/test_utils.py490def test_load_dataset_string_error():CODE
LOWtests/test_utils.py498def test_load_dataset_passed_data_error():CODE
LOWtests/test_utils.py507def test_load_cached_datasets():CODE
LOWtests/test_utils.py564def test_assign_default_kwargs():CODE
LOWtests/test_statistics.py88 def test_density_normalization(self, rng):CODE
LOWtests/test_statistics.py145 def test_bivariate_normalization(self, rng):CODE
LOWtests/test_statistics.py158 def test_bivariate_cumulative(self, rng):CODE
LOWtests/test_statistics.py192 def test_bivariate_string_bins(self, x, y):CODE
LOWtests/test_statistics.py220 def test_bivariate_array_bins(self, x, y):CODE
LOWtests/test_statistics.py291 def test_odd_single_observation(self):CODE
LOWtests/test_statistics.py349 def test_cumulative_probability(self, x):CODE
LOWtests/test_statistics.py355 def test_cumulative_frequency(self, x):CODE
LOWtests/test_statistics.py374 def test_bivariate_count_stat(self, x, y):CODE
LOWtests/test_statistics.py380 def test_bivariate_density_stat(self, x, y):CODE
LOWtests/test_statistics.py387 def test_bivariate_probability_stat(self, x, y):CODE
LOWtests/test_statistics.py393 def test_bivariate_frequency_stat(self, x, y):CODE
LOWtests/test_statistics.py400 def test_bivariate_cumulative_count(self, x, y):CODE
398 more matches not shown…
Cross-Language Confusion18 hits · 108 pts
SeverityFileLineSnippetContext
HIGHseaborn/matrix.py74 if not mask.index.equals(data.index) \CODE
HIGHseaborn/matrix.py75 and mask.columns.equals(data.columns):CODE
HIGHseaborn/categorical.py364 # somewhat undefined; because we don't add null category data to the plot inCOMMENT
HIGHseaborn/categorical.py2827 # Capture this here because scale_categorical is going to insert a (null)STRING
HIGHseaborn/axisgrid.py728 # If this subset is null, move onSTRING
HIGHseaborn/axisgrid.py800 # If this subset is null, move onSTRING
HIGHseaborn/_stats/base.py53 names = ", ".join(f"{x!r}" for x in undefined)CODE
HIGHtests/test_axisgrid.py123 npt.assert_array_equal(g._not_bottom_axes, null)CODE
HIGHtests/test_axisgrid.py125 npt.assert_array_equal(g._not_left_axes, null)CODE
HIGHtests/test_axisgrid.py126 npt.assert_array_equal(g._inner_axes, null)CODE
HIGHtests/test_axisgrid.py130 npt.assert_array_equal(g._not_bottom_axes, null)CODE
HIGHtests/test_axisgrid.py133 npt.assert_array_equal(g._inner_axes, null)CODE
HIGHtests/test_axisgrid.py139 npt.assert_array_equal(g._not_left_axes, null)CODE
HIGHtests/test_axisgrid.py140 npt.assert_array_equal(g._inner_axes, null)CODE
HIGHtests/test_axisgrid.py159 npt.assert_array_equal(g._inner_axes, null)CODE
HIGHtests/test_categorical.py3121 assert g2.data.equals(long_df[["a", "y", "c"]])CODE
HIGHtests/_core/test_scales.py436 assert_array_equal(s(y), [c2, c1, null, c1])CODE
HIGHtests/_core/test_scales.py445 assert_array_equal(s(z), [c1, null, c2])CODE
Deep Nesting84 hits · 80 pts
SeverityFileLineSnippetContext
LOWseaborn/matrix.py774CODE
LOWseaborn/_base.py1551CODE
LOWseaborn/_base.py1731CODE
LOWseaborn/_base.py204CODE
LOWseaborn/_base.py253CODE
LOWseaborn/_base.py380CODE
LOWseaborn/_base.py590CODE
LOWseaborn/_base.py694CODE
LOWseaborn/_base.py847CODE
LOWseaborn/_base.py964CODE
LOWseaborn/_base.py1008CODE
LOWseaborn/_base.py1023CODE
LOWseaborn/_base.py1271CODE
LOWseaborn/categorical.py2756CODE
LOWseaborn/categorical.py591CODE
LOWseaborn/categorical.py750CODE
LOWseaborn/categorical.py891CODE
LOWseaborn/regression.py154CODE
LOWseaborn/regression.py196CODE
LOWseaborn/rcmod.py146CODE
LOWseaborn/palettes.py122CODE
LOWseaborn/palettes.py799CODE
LOWseaborn/axisgrid.py2010CODE
LOWseaborn/axisgrid.py2184CODE
LOWseaborn/axisgrid.py371CODE
LOWseaborn/axisgrid.py944CODE
LOWseaborn/axisgrid.py1413CODE
LOWseaborn/axisgrid.py1437CODE
LOWseaborn/relational.py229CODE
LOWseaborn/widgets.py143CODE
LOWseaborn/widgets.py228CODE
LOWseaborn/distributions.py2095CODE
LOWseaborn/distributions.py2391CODE
LOWseaborn/distributions.py376CODE
LOWseaborn/distributions.py741CODE
LOWseaborn/utils.py69CODE
LOWseaborn/utils.py277CODE
LOWseaborn/utils.py379CODE
LOWseaborn/utils.py524CODE
LOWseaborn/utils.py783CODE
LOWseaborn/_statistics.py670CODE
LOWseaborn/_statistics.py276CODE
LOWseaborn/_statistics.py484CODE
LOWseaborn/_statistics.py619CODE
LOWseaborn/_testing.py24CODE
LOWseaborn/_core/subplots.py46CODE
LOWseaborn/_core/subplots.py121CODE
LOWseaborn/_core/subplots.py142CODE
LOWseaborn/_core/plot.py638CODE
LOWseaborn/_core/plot.py1105CODE
LOWseaborn/_core/plot.py1207CODE
LOWseaborn/_core/plot.py1303CODE
LOWseaborn/_core/plot.py1415CODE
LOWseaborn/_core/plot.py1520CODE
LOWseaborn/_core/plot.py1584CODE
LOWseaborn/_core/plot.py1660CODE
LOWseaborn/_core/plot.py1773CODE
LOWseaborn/_core/plot.py1598CODE
LOWseaborn/_core/properties.py171CODE
LOWseaborn/_core/properties.py244CODE
24 more matches not shown…
Unused Imports77 hits · 70 pts
SeverityFileLineSnippetContext
LOWseaborn/_base.py1CODE
LOWseaborn/axisgrid.py1CODE
LOWseaborn/__init__.py2CODE
LOWseaborn/__init__.py3CODE
LOWseaborn/__init__.py4CODE
LOWseaborn/__init__.py5CODE
LOWseaborn/__init__.py6CODE
LOWseaborn/__init__.py7CODE
LOWseaborn/__init__.py8CODE
LOWseaborn/__init__.py9CODE
LOWseaborn/__init__.py10CODE
LOWseaborn/__init__.py11CODE
LOWseaborn/__init__.py12CODE
LOWseaborn/__init__.py13CODE
LOWseaborn/__init__.py13CODE
LOWseaborn/__init__.py14CODE
LOWseaborn/_compat.py1CODE
LOWseaborn/objects.py29CODE
LOWseaborn/objects.py31CODE
LOWseaborn/objects.py32CODE
LOWseaborn/objects.py32CODE
LOWseaborn/objects.py33CODE
LOWseaborn/objects.py33CODE
LOWseaborn/objects.py34CODE
LOWseaborn/objects.py34CODE
LOWseaborn/objects.py35CODE
LOWseaborn/objects.py35CODE
LOWseaborn/objects.py35CODE
LOWseaborn/objects.py35CODE
LOWseaborn/objects.py35CODE
LOWseaborn/objects.py35CODE
LOWseaborn/objects.py36CODE
LOWseaborn/objects.py38CODE
LOWseaborn/objects.py39CODE
LOWseaborn/objects.py39CODE
LOWseaborn/objects.py40CODE
LOWseaborn/objects.py40CODE
LOWseaborn/objects.py41CODE
LOWseaborn/objects.py42CODE
LOWseaborn/objects.py43CODE
LOWseaborn/objects.py45CODE
LOWseaborn/objects.py45CODE
LOWseaborn/objects.py45CODE
LOWseaborn/objects.py45CODE
LOWseaborn/objects.py45CODE
LOWseaborn/objects.py45CODE
LOWseaborn/objects.py47CODE
LOWseaborn/objects.py47CODE
LOWseaborn/objects.py47CODE
LOWseaborn/objects.py47CODE
LOWseaborn/objects.py47CODE
LOWseaborn/_core/subplots.py1CODE
LOWseaborn/_core/moves.py1CODE
LOWseaborn/_core/plot.py2CODE
LOWseaborn/_core/properties.py1CODE
LOWseaborn/_core/scales.py1CODE
LOWseaborn/_core/rules.py1CODE
LOWseaborn/_core/exceptions.py7CODE
LOWseaborn/_core/typing.py1CODE
LOWseaborn/_core/groupby.py2CODE
17 more matches not shown…
Self-Referential Comments25 hits · 69 pts
SeverityFileLineSnippetContext
MEDIUMseaborn/matrix.py445 # Initialize the plotter objectCOMMENT
MEDIUMseaborn/_base.py824 # Define the variable namesCOMMENT
MEDIUMseaborn/regression.py200 # Create the grid for the regressionCOMMENT
MEDIUMseaborn/axisgrid.py1276 # Create the figure and the array of subplotsCOMMENT
MEDIUMseaborn/axisgrid.py2242 # Initialize the JointGrid objectSTRING
MEDIUMseaborn/__init__.py20# Define the seaborn versionCOMMENT
MEDIUMseaborn/relational.py255 # Initialize the aggregation objectCOMMENT
MEDIUMseaborn/relational.py410 # Define the vectors of x and y positionsCOMMENT
MEDIUMseaborn/relational.py787 # Define the common plotting parametersSTRING
MEDIUMseaborn/relational.py806 # Define the named variables for plotting on each facetSTRING
MEDIUMseaborn/distributions.py307 # Initialize the estimator objectCOMMENT
MEDIUMseaborn/distributions.py557 # Define the matplotlib attributes that depend on semantic mappingCOMMENT
MEDIUMseaborn/distributions.py823 # Define the specific kwargs for this artistCOMMENT
MEDIUMseaborn/distributions.py1103 # Define a grid of iso-proportion levelsCOMMENT
MEDIUMseaborn/distributions.py1124 # Define the coloring of the contoursCOMMENT
MEDIUMseaborn/_statistics.py323 # Define the bins for this variableCOMMENT
MEDIUMseaborn/_core/data.py96 # Create a new dataset with just the info passed hereCOMMENT
MEDIUMseaborn/external/version.py19# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMexamples/structured_heatmap.py21# Create a categorical palette to identify the networksCOMMENT
MEDIUMexamples/kde_ridgeplot.py13# Create the dataCOMMENT
MEDIUMexamples/kde_ridgeplot.py21# Initialize the FacetGrid objectCOMMENT
MEDIUMexamples/many_facets.py15# Create a dataset with many short random walksCOMMENT
MEDIUMexamples/palette_generation.py20 # Create a cubehelix colormap to use with kdeplotCOMMENT
MEDIUMexamples/joint_histogram.py18# Create an inset legend for the histogram colorbarCOMMENT
MEDIUMexamples/faceted_lineplot.py13# Define the palette as a list to specify exact valuesCOMMENT
AI Structural Patterns41 hits · 41 pts
SeverityFileLineSnippetContext
LOWseaborn/matrix.py355CODE
LOWseaborn/matrix.py642CODE
LOWseaborn/matrix.py1146CODE
LOWseaborn/matrix.py698CODE
LOWseaborn/categorical.py1592CODE
LOWseaborn/categorical.py1717CODE
LOWseaborn/categorical.py1907CODE
LOWseaborn/categorical.py2077CODE
LOWseaborn/categorical.py2202CODE
LOWseaborn/categorical.py2331CODE
LOWseaborn/categorical.py2473CODE
LOWseaborn/categorical.py2622CODE
LOWseaborn/categorical.py2756CODE
LOWseaborn/regression.py580CODE
LOWseaborn/regression.py761CODE
LOWseaborn/regression.py864CODE
LOWseaborn/regression.py76CODE
LOWseaborn/palettes.py665CODE
LOWseaborn/axisgrid.py2010CODE
LOWseaborn/axisgrid.py2184CODE
LOWseaborn/axisgrid.py371CODE
LOWseaborn/axisgrid.py1191CODE
LOWseaborn/axisgrid.py1687CODE
LOWseaborn/relational.py471CODE
LOWseaborn/relational.py606CODE
LOWseaborn/relational.py700CODE
LOWseaborn/relational.py202CODE
LOWseaborn/widgets.py405CODE
LOWseaborn/distributions.py1359CODE
LOWseaborn/distributions.py1582CODE
LOWseaborn/distributions.py1862CODE
LOWseaborn/distributions.py1974CODE
LOWseaborn/distributions.py2095CODE
LOWseaborn/distributions.py2391CODE
LOWseaborn/utils.py277CODE
LOWseaborn/_core/moves.py150CODE
LOWseaborn/_core/groupby.py103CODE
LOWseaborn/_stats/aggregation.py52CODE
LOWseaborn/_stats/aggregation.py122CODE
LOWseaborn/_stats/counting.py45CODE
LOWseaborn/external/kde.py266CODE
Modern Structural Boilerplate14 hits · 14 pts
SeverityFileLineSnippetContext
LOWseaborn/matrix.py28__all__ = ["heatmap", "clustermap"]CODE
LOWseaborn/categorical.py41__all__ = [CODE
LOWseaborn/regression.py22__all__ = ["lmplot", "regplot", "residplot"]CODE
LOWseaborn/miscplot.py6__all__ = ["palplot", "dogplot"]CODE
LOWseaborn/rcmod.py8__all__ = ["set_theme", "set", "reset_defaults", "reset_orig",CODE
LOWseaborn/palettes.py14__all__ = ["color_palette", "hls_palette", "husl_palette", "mpl_palette",CODE
LOWseaborn/axisgrid.py29__all__ = ["FacetGrid", "PairGrid", "JointGrid", "pairplot", "jointplot"]CODE
LOWseaborn/relational.py26__all__ = ["relplot", "scatterplot", "lineplot"]CODE
LOWseaborn/widgets.py17__all__ = ["choose_colorbrewer_palette", "choose_cubehelix_palette",CODE
LOWseaborn/distributions.py45__all__ = ["displot", "histplot", "kdeplot", "ecdfplot", "rugplot", "distplot"]CODE
LOWseaborn/utils.py21__all__ = ["desaturate", "saturate", "set_hls_values", "move_legend",CODE
LOWseaborn/_core/plot.py1105 def _setup_figure(self, p: Plot, common: PlotData, layers: list[Layer]) -> None:CODE
LOWseaborn/external/version.py29__all__ = ["Version", "InvalidVersion", "VERSION_PATTERN"]CODE
LOWseaborn/external/kde.py78__all__ = ['gaussian_kde']CODE
Decorative Section Separators3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMseaborn/external/kde.py53# -------------------------------------------------------------------------------COMMENT
MEDIUMseaborn/external/kde.py70# -------------------------------------------------------------------------------COMMENT
MEDIUMtests/test_categorical.py226 # ------------------------------------------------------------------------------COMMENT
AI Slop Vocabulary3 hits · 6 pts
SeverityFileLineSnippetContext
LOWseaborn/_base.py968 # Most of these tests should just use the external interfaceCOMMENT
MEDIUMseaborn/categorical.py3267 # Sort along the value axis to facilitate the beeswarmCOMMENT
MEDIUMseaborn/axisgrid.py2238 # Matplotlib's hexbin plot is not na-robustSTRING
Over-Commented Block5 hits · 5 pts
SeverityFileLineSnippetContext
LOWseaborn/_base.py1361COMMENT
LOWseaborn/_base.py1401 # It feels more consistent, but technically will be a default changeCOMMENT
LOWseaborn/categorical.py141 """COMMENT
LOWseaborn/_core/scales.py261 if new._tick_params is None:COMMENT
LOWseaborn/external/docscrape.py261 return paramsCOMMENT
Excessive Try-Catch Wrapping4 hits · 4 pts
SeverityFileLineSnippetContext
LOWseaborn/_core/plot.py1375 except Exception as err:CODE
LOWseaborn/_core/plot.py1405 except Exception as err:CODE
LOWseaborn/_core/data.py275 except Exception as err:CODE
LOWseaborn/_marks/base.py181 except Exception as err:CODE
Redundant / Tautological Comments3 hits · 2 pts
SeverityFileLineSnippetContext
LOWseaborn/categorical.py684 # Set width to 0 to avoid going out of domainCOMMENT
LOWseaborn/axisgrid.py725 # Iterate over the data subsetsSTRING
LOWseaborn/axisgrid.py797 # Iterate over the data subsetsSTRING