The interactive graphing library for Python :sparkles:
This report presents the forensic synthetic code analysis of plotly/plotly.py, a Python project with 18,759 GitHub stars. SynthScan v2.0 examined 593,023 lines of code across 1949 source files, recording 13568 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 86.9 places this repository in the Strong 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 13568 distinct pattern matches across 18 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 |
|---|---|---|---|---|
| HIGH | plotly/basedatatypes.py | 0 | update the properties of the figure with a dict and/or with keyword arguments. this recursively updates the structure of | STRING |
| HIGH | plotly/graph_objs/_figurewidget.py | 0 | update the properties of the figure with a dict and/or with keyword arguments. this recursively updates the structure of | STRING |
| HIGH | plotly/graph_objs/_figure.py | 0 | update the properties of the figure with a dict and/or with keyword arguments. this recursively updates the structure of | STRING |
| HIGH | plotly/basedatatypes.py | 0 | perform a property update operation on all shapes that satisfy the specified selection criteria parameters ---------- pa | STRING |
| HIGH | plotly/graph_objs/_figurewidget.py | 0 | perform a property update operation on all shapes that satisfy the specified selection criteria parameters ---------- pa | STRING |
| HIGH | plotly/graph_objs/_figure.py | 0 | perform a property update operation on all shapes that satisfy the specified selection criteria parameters ---------- pa | STRING |
| HIGH | plotly/basedatatypes.py | 0 | update the properties of the figure's layout with a dict and/or with keyword arguments. this recursively updates the str | STRING |
| HIGH | plotly/graph_objs/_figurewidget.py | 0 | update the properties of the figure's layout with a dict and/or with keyword arguments. this recursively updates the str | STRING |
| HIGH | plotly/graph_objs/_figure.py | 0 | update the properties of the figure's layout with a dict and/or with keyword arguments. this recursively updates the str | STRING |
| HIGH | plotly/basedatatypes.py | 0 | add a trace to the figure parameters ---------- trace : basetracetype or dict either: - an instances of a trace classe f | STRING |
| HIGH | plotly/graph_objs/_figurewidget.py | 0 | add a trace to the figure parameters ---------- trace : basetracetype or dict either: - an instances of a trace classe f | STRING |
| HIGH | plotly/graph_objs/_figure.py | 0 | add a trace to the figure parameters ---------- trace : basetracetype or dict either: - an instances of a trace classe f | STRING |
| HIGH | plotly/basedatatypes.py | 0 | add traces to the figure parameters ---------- data : list[basetracetype or dict] a list of trace specifications to be a | STRING |
| HIGH | plotly/graph_objs/_figurewidget.py | 0 | add traces to the figure parameters ---------- data : list[basetracetype or dict] a list of trace specifications to be a | STRING |
| HIGH | plotly/graph_objs/_figure.py | 0 | add traces to the figure parameters ---------- data : list[basetracetype or dict] a list of trace specifications to be a | STRING |
| HIGH | plotly/basedatatypes.py | 0 | add subplots to this figure. if the figure already contains subplots, then this throws an error. accepts any keyword arg | STRING |
| HIGH | plotly/graph_objs/_figurewidget.py | 0 | add subplots to this figure. if the figure already contains subplots, then this throws an error. accepts any keyword arg | STRING |
| HIGH | plotly/graph_objs/_figure.py | 0 | add subplots to this figure. if the figure already contains subplots, then this throws an error. accepts any keyword arg | STRING |
| HIGH | plotly/graph_objs/_heatmap.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_histogram2dcontour.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_histogram2d.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_choroplethmap.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_cone.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_contourcarpet.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_volume.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_isosurface.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_densitymap.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_choropleth.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_streamtube.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_mesh3d.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_contour.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_surface.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/layout/_coloraxis.py | 0 | determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale | STRING |
| HIGH | plotly/graph_objs/_heatmap.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/_histogram2dcontour.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/_histogram2d.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/_choroplethmap.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/_cone.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/_contourcarpet.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/_volume.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/_isosurface.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/_densitymap.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/_choropleth.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/_streamtube.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/_mesh3d.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/_contour.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/_surface.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/scatterternary/_marker.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/scatterternary/marker/_line.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/splom/_marker.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/splom/marker/_line.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/parcats/_line.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/scattergl/_marker.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/scattergl/marker/_line.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/scattermap/_marker.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/parcoords/_line.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/quiver/_marker.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/scatterpolargl/_marker.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/scatterpolargl/marker/_line.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| HIGH | plotly/graph_objs/barpolar/_marker.py | 0 | sets a reference to a shared color axis. references to these shared color axes are "coloraxis", "coloraxis2", "coloraxis | STRING |
| 9373 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …e/test_figure_widget_backend/test_missing_anywidget.py | 6 | CODE | |
| LOW | …e/test_figure_widget_backend/test_missing_anywidget.py | 10 | CODE | |
| LOW | plotly/files.py | 1 | CODE | |
| LOW | plotly/files.py | 1 | CODE | |
| LOW | plotly/subplots.py | 3 | CODE | |
| LOW | plotly/subplots.py | 3 | CODE | |
| LOW | plotly/subplots.py | 3 | CODE | |
| LOW | plotly/tools.py | 9 | CODE | |
| LOW | plotly/tools.py | 12 | CODE | |
| LOW | plotly/tools.py | 15 | CODE | |
| LOW | plotly/__init__.py | 38 | CODE | |
| LOW | plotly/__init__.py | 38 | CODE | |
| LOW | plotly/__init__.py | 38 | CODE | |
| LOW | plotly/__init__.py | 38 | CODE | |
| LOW | plotly/__init__.py | 38 | CODE | |
| LOW | plotly/__init__.py | 38 | CODE | |
| LOW | plotly/__init__.py | 38 | CODE | |
| LOW | plotly/utils.py | 4 | CODE | |
| LOW | plotly/utils.py | 4 | CODE | |
| LOW | plotly/utils.py | 5 | CODE | |
| LOW | plotly/exceptions.py | 1 | CODE | |
| LOW | plotly/optional_imports.py | 1 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 5 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 6 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 7 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 8 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 9 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 10 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 11 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 12 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 13 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 14 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 15 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 16 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 17 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 18 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 19 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 20 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 21 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 22 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 23 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 24 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 25 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 26 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 27 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 28 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 29 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 30 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 31 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 32 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 33 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 34 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 35 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 36 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 37 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 38 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 39 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 40 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 41 | CODE | |
| LOW | plotly/graph_objs/__init__.py | 42 | CODE | |
| 2266 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | commands.py | 147 | def overwrite_plotlyjs_version_file(plotlyjs_version): | CODE |
| LOW | commands.py | 231 | def update_schema_bundle_from_main(args): | CODE |
| LOW | commands.py | 283 | def bump_version_pyproject_toml(new_version): | CODE |
| LOW | commands.py | 319 | def bump_version_package_json(new_version): | CODE |
| LOW | commands.py | 348 | def bump_version_citation_cff(new_version, new_date): | CODE |
| LOW | commands.py | 395 | def bump_version_changelog_md(new_version, new_date): | CODE |
| LOW | …sts/test_optional/test_matplotlylib/test_date_times.py | 52 | def test_pandas_time_series_date_formatter(self): | CODE |
| LOW | …test_optional/test_autoshapes/test_axis_span_shapes.py | 31 | def subplot_empty_traces_fig_fixture(): | CODE |
| LOW | …test_optional/test_autoshapes/test_axis_span_shapes.py | 334 | def test_add_span_shape_no_empty_plot( | CODE |
| LOW | …test_optional/test_autoshapes/test_axis_span_shapes.py | 375 | def test_non_subplot_add_span_shape(test_input, expected, non_subplot_fig_fixture): | CODE |
| LOW | …test_optional/test_autoshapes/test_axis_span_shapes.py | 387 | def test_invalid_subplot_address(test_input, subplot_fig_fixture): | CODE |
| LOW | …test_optional/test_autoshapes/test_axis_span_shapes.py | 393 | def _check_figure_shapes_custom_sized(test_input, expected, fig): | CODE |
| LOW | …test_optional/test_autoshapes/test_axis_span_shapes.py | 474 | def test_custom_sized_subplots(test_input, expected, custom_sized_subplots): | CODE |
| LOW | …test_optional/test_autoshapes/test_annotated_shapes.py | 55 | def test_add_shape_no_annotation(multi_plot_fixture): | CODE |
| LOW | …test_optional/test_autoshapes/test_annotated_shapes.py | 62 | def test_add_annotated_shape_single_plot(single_plot_fixture): | CODE |
| LOW | …test_optional/test_autoshapes/test_annotated_shapes.py | 77 | def test_add_annotated_shape_multi_plot(multi_plot_fixture): | CODE |
| LOW | …test_optional/test_autoshapes/test_annotated_shapes.py | 108 | def test_bad_annotation_position(multi_plot_fixture): | CODE |
| LOW | …test_optional/test_autoshapes/test_annotated_shapes.py | 148 | def test_annotation_position_override(multi_plot_fixture): | CODE |
| LOW | …test_optional/test_autoshapes/test_annotated_shapes.py | 257 | def test_specify_annotation_as_dict(multi_plot_fixture): | CODE |
| LOW | …test_optional/test_autoshapes/test_annotated_shapes.py | 286 | def test_default_annotation_positions(multi_plot_fixture): | CODE |
| LOW | …test_optional/test_autoshapes/test_annotated_shapes.py | 331 | def draw_all_annotation_positions(testing=False): | CODE |
| LOW | …test_optional/test_autoshapes/test_annotated_shapes.py | 424 | def test_all_annotation_positions(): | CODE |
| LOW⚡ | …test_optional/test_autoshapes/test_annotated_shapes.py | 436 | def test_vline_datetime_string_annotation(): | CODE |
| LOW⚡ | …test_optional/test_autoshapes/test_annotated_shapes.py | 446 | def test_hline_with_datetime_xaxis(): | CODE |
| LOW⚡ | …test_optional/test_autoshapes/test_annotated_shapes.py | 456 | def test_vrect_datetime_string_annotation(): | CODE |
| LOW⚡ | …test_optional/test_autoshapes/test_annotated_shapes.py | 466 | def test_vline_datetime_object_annotation(): | CODE |
| LOW | …test_optional/test_autoshapes/test_annotated_shapes.py | 485 | def test_vrect_datetime_object_annotation(): | CODE |
| LOW | tests/test_optional/test_autoshapes/common.py | 14 | def _check_figure_layout_objects(test_input, expected, fig, layout_key="shapes"): | CODE |
| LOW | tests/test_optional/test_utils/test_utils.py | 36 | def test_masked_constants_example(): | CODE |
| LOW | tests/test_optional/test_utils/test_utils.py | 168 | def test_encode_as_datetime_with_microsecond(self): | CODE |
| LOW | tests/test_optional/test_utils/test_utils.py | 181 | def test_encode_as_datetime_with_localized_tz(self): | CODE |
| LOW | tests/test_optional/test_utils/test_utils.py | 216 | def test_figure_json_encoding(self): | CODE |
| LOW | tests/test_optional/test_utils/test_utils.py | 258 | def test_datetime_json_encoding(self): | CODE |
| LOW | tests/test_optional/test_utils/test_utils.py | 272 | def test_pandas_json_encoding(self): | CODE |
| LOW | tests/test_optional/test_utils/test_utils.py | 304 | def test_encode_customdata_datetime_series(self): | CODE |
| LOW | tests/test_optional/test_utils/test_utils.py | 333 | def test_encode_customdata_datetime_homogeneous_dataframe(self): | CODE |
| LOW | tests/test_optional/test_utils/test_utils.py | 367 | def test_encode_customdata_datetime_inhomogeneous_dataframe(self): | CODE |
| LOW | tests/test_optional/test_utils/test_utils.py | 388 | def test_numpy_masked_json_encoding(self): | CODE |
| LOW⚡ | tests/test_optional/test_utils/test_utils.py | 456 | def test_invalid_encode_exception(self): | CODE |
| LOW⚡ | tests/test_optional/test_utils/test_utils.py | 462 | def test_numpy_integer_import(self): | CODE |
| LOW | tests/test_optional/test_kaleido/test_kaleido.py | 57 | def test_kaleido_to_image_returns_bytes(): | CODE |
| LOW | tests/test_optional/test_kaleido/test_kaleido.py | 85 | def test_kaleido_to_image_kwargs(): | CODE |
| LOW | tests/test_optional/test_kaleido/test_kaleido.py | 97 | def test_kaleido_write_image_kwargs(tmp_path): | CODE |
| LOW | tests/test_optional/test_kaleido/test_kaleido.py | 114 | def test_kaleido_write_images(tmp_path): | CODE |
| LOW | tests/test_optional/test_kaleido/test_kaleido.py | 301 | def test_width_height_priority(): | CODE |
| LOW | …ts/test_optional/test_kaleido/test_kaleido_v0_error.py | 23 | def assert_error_message_contents(excinfo): | CODE |
| LOW | …ts/test_optional/test_kaleido/test_kaleido_v0_error.py | 53 | def test_full_figure_for_development_raises(): | CODE |
| LOW⚡ | …ts/test_optional/test_kaleido/test_kaleido_v0_error.py | 68 | def test_figure_to_image_raises(): | CODE |
| LOW⚡ | …ts/test_optional/test_kaleido/test_kaleido_v0_error.py | 75 | def test_figure_write_image_raises(tmp_path): | CODE |
| LOW⚡ | …ts/test_optional/test_kaleido/test_kaleido_v0_error.py | 82 | def test_figure_full_figure_for_development_raises(): | CODE |
| LOW | …st_optional/test_figure_factory/test_figure_factory.py | 402 | def test_dendrogram_random_matrix(self): | CODE |
| LOW | …st_optional/test_figure_factory/test_figure_factory.py | 533 | def test_dendrogram_orientation(self): | CODE |
| LOW | …st_optional/test_figure_factory/test_figure_factory.py | 554 | def test_dendrogram_colorscale(self): | CODE |
| LOW | …st_optional/test_figure_factory/test_figure_factory.py | 641 | def test_dendrogram_ticklabels(self): | CODE |
| LOW | …st_optional/test_figure_factory/test_figure_factory.py | 1054 | def test_simple_ternary_contour(self): | CODE |
| LOW | tests/test_optional/test_offline/test_offline.py | 32 | def test_iplot_works_without_init_notebook_mode(self): | CODE |
| LOW | tests/test_optional/test_offline/test_offline.py | 35 | def test_iplot_works_after_you_call_init_notebook_mode(self): | CODE |
| LOW | tests/test_optional/test_offline/test_offline.py | 68 | def test_default_mpl_plot_generates_expected_html(self): | CODE |
| LOW | tests/test_optional/test_px/test_px_input.py | 228 | def test_wrong_dimensions_of_array(): | CODE |
| LOW | tests/test_optional/test_px/test_px_input.py | 234 | def test_wrong_dimensions_mixed_case(constructor): | CODE |
| 561 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …test_core/test_subplots/test_find_nonempty_subplots.py | 41 | CODE | |
| LOW | plotly/subplots.py | 6 | CODE | |
| LOW | plotly/_subplots.py | 42 | CODE | |
| LOW | plotly/graph_objs/_heatmap.py | 1792 | CODE | |
| LOW | plotly/graph_objs/_histogram2dcontour.py | 1743 | CODE | |
| LOW | plotly/graph_objs/_indicator.py | 549 | CODE | |
| LOW | plotly/graph_objs/_sankey.py | 680 | CODE | |
| LOW | plotly/graph_objs/_histogram2d.py | 1701 | CODE | |
| LOW | plotly/graph_objs/_histogram.py | 1723 | CODE | |
| LOW | plotly/graph_objs/_funnel.py | 1662 | CODE | |
| LOW | plotly/graph_objs/_ohlc.py | 1144 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 652 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 1170 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 1465 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 2074 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 2435 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 2682 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 3032 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 3377 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 3817 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 4363 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 4715 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 5047 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 5552 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 5883 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 6417 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 6933 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 7446 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 7974 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 8332 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 8640 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 8820 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 9244 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 9733 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 10093 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 10311 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 10500 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 10874 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 11257 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 11470 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 12053 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 12449 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 12826 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 13197 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 13674 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 14021 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 14408 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 14790 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 15154 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 15534 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 15856 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 16287 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 16648 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 17071 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 17247 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 17601 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 18079 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 18516 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 20376 | CODE | |
| LOW | plotly/graph_objs/_figurewidget.py | 20954 | CODE | |
| 579 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …st_plotly_utils/validators/test_colorlist_validator.py | 33 | # ---------- | COMMENT |
| MEDIUM | tests/test_io/test_to_from_json.py | 221 | # ---------- | COMMENT |
| MEDIUM | tests/test_io/test_renderers.py | 89 | # --------------- | COMMENT |
| MEDIUM⚡ | tests/test_io/test_renderers.py | 265 | # ---------- | COMMENT |
| MEDIUM | tests/test_core/test_figure_messages/test_on_change.py | 22 | # -------------------- | COMMENT |
| MEDIUM | tests/test_core/test_figure_messages/test_on_change.py | 45 | # ------------------------ | COMMENT |
| MEDIUM⚡ | tests/test_core/test_graph_objs/test_template.py | 132 | # ------------------------ | COMMENT |
| MEDIUM | tests/test_core/test_graph_objs/test_template.py | 26 | # ------------------------- | COMMENT |
| MEDIUM | …ts/test_core/test_update_objects/test_update_traces.py | 108 | # -------------------------------- | COMMENT |
| MEDIUM | …ts/test_core/test_update_objects/test_update_traces.py | 282 | # ------------------ | COMMENT |
| MEDIUM | plotly/_subplots.py | 347 | # ----------------------------- | COMMENT |
| MEDIUM | plotly/_subplots.py | 360 | # ---------------------- | COMMENT |
| MEDIUM | plotly/_subplots.py | 633 | # ----------- | COMMENT |
| MEDIUM | plotly/_subplots.py | 637 | # -------------------- | COMMENT |
| MEDIUM | plotly/_subplots.py | 767 | # --------------------- | COMMENT |
| MEDIUM⚡ | plotly/serializers.py | 29 | # ----------------------- | COMMENT |
| MEDIUM⚡ | plotly/serializers.py | 34 | # ----------------------------- | COMMENT |
| MEDIUM⚡ | plotly/serializers.py | 39 | # ------------------ | COMMENT |
| MEDIUM | plotly/serializers.py | 57 | # ---------------- | COMMENT |
| MEDIUM | plotly/serializers.py | 62 | # ------------------- | COMMENT |
| MEDIUM⚡ | plotly/serializers.py | 84 | # ----------- | COMMENT |
| MEDIUM⚡ | plotly/serializers.py | 89 | # ----------------- | COMMENT |
| MEDIUM⚡ | plotly/serializers.py | 94 | # ---------------- | COMMENT |
| MEDIUM⚡ | plotly/serializers.py | 99 | # ------------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 483 | # ------------------------------ | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 488 | # ------------------ | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 498 | # ------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 681 | # -------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 687 | # ----------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 692 | # ------------------ | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 1681 | # ----------------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 1685 | # --------------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 1694 | # ------------------------------ | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 1800 | # ------------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 1804 | # ----------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 1813 | # ------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 1893 | # --------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 1897 | # ---------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 1903 | # --------------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 1909 | # ----------------------------------------------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 1925 | # -------------------------------------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 1933 | # -------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4256 | # --------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4260 | # ------------ | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4264 | # --------------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4490 | # ----------------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4494 | # ------------------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4500 | # --------------------------------------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4670 | # -------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4676 | # ---------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4682 | # ------------------ | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4803 | # -------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4809 | # ----------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4814 | # ---------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4819 | # ------------------ | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 5189 | # ----------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 5201 | # ------------------ | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 5237 | # ---------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 5243 | # ------------ | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 5248 | # ------------------------------------------ | COMMENT |
| 214 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_optional/test_utils/test_utils.py | 228 | '"y": [1, 2, 3, null, null, "2014-01-05T00:00:00"], ' | CODE |
| HIGH | tests/test_optional/test_utils/test_utils.py | 276 | assert j1 == '[1, 2, 3, "2014-01-05T00:00:00", null, null, null]' | CODE |
| HIGH | tests/test_optional/test_utils/test_utils.py | 291 | assert j3 == "[null]" | CODE |
| HIGH | tests/test_optional/test_utils/test_utils.py | 392 | assert j1 == "[1, 2, null]" | CODE |
| HIGH⚡ | tests/test_optional/test_utils/test_utils.py | 453 | expected_result = '[1, null, null, null, "platypus"]' | CODE |
| HIGH | tests/test_optional/test_px/test_px_input.py | 276 | assert df_out.equals(df) | CODE |
| HIGH | tests/test_optional/test_px/test_px_input.py | 286 | assert df_out.equals(df) | CODE |
| HIGH⚡ | tests/test_optional/test_px/test_px_input.py | 490 | assert petal_length.equals(petal_length) | CODE |
| HIGH⚡ | tests/test_core/test_graph_objs/test_update.py | 71 | If the original list is undefined, the updated list should be | STRING |
| HIGH | tests/test_core/test_utils/test_utils.py | 11 | expected_result = '[1, null, null, null, "platypus"]' | CODE |
| HIGH | plotly/graph_objs/_figurewidget.py | 17858 | undefined, `scalegroup` will default to the trace's | STRING |
| HIGH | plotly/graph_objs/_violin.py | 729 | a violin's `width` is undefined, `scalegroup` will default to | STRING |
| HIGH | plotly/graph_objs/_violin.py | 1428 | undefined, `scalegroup` will default to the trace's | CODE |
| HIGH | plotly/graph_objs/_violin.py | 1825 | undefined, `scalegroup` will default to the trace's | CODE |
| HIGH | plotly/graph_objs/_figure.py | 17856 | undefined, `scalegroup` will default to the trace's | STRING |
| HIGH | plotly/graph_objs/layout/_xaxis.py | 1414 | Sets the spike color. If undefined, will use the series color | STRING |
| HIGH | plotly/graph_objs/layout/_xaxis.py | 2573 | Sets the spike color. If undefined, will use the series | CODE |
| HIGH | plotly/graph_objs/layout/_xaxis.py | 3205 | Sets the spike color. If undefined, will use the series | CODE |
| HIGH | plotly/graph_objs/layout/_yaxis.py | 1422 | Sets the spike color. If undefined, will use the series color | STRING |
| HIGH | plotly/graph_objs/layout/_yaxis.py | 2591 | Sets the spike color. If undefined, will use the series | CODE |
| HIGH | plotly/graph_objs/layout/_yaxis.py | 3233 | Sets the spike color. If undefined, will use the series | CODE |
| HIGH | plotly/io/_base_renderers.py | 228 | if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: "STIX-Web | CODE |
| HIGH | plotly/io/_base_renderers.py | 308 | if (!display || display === 'none') {{ | CODE |
| HIGH | plotly/io/_html.py | 31 | if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: "STIX-Web | CODE |
| HIGH | plotly/matplotlylib/mplexporter/tools.py | 18 | if (window['d3'] === undefined) {{ | CODE |
| HIGH | plotly/matplotlylib/mplexporter/tools.py | 25 | if (window['topojson'] === undefined) {{ | CODE |
| HIGH | …ly/matplotlylib/mplexporter/renderers/fake_renderer.py | 64 | When the following are left undefined, they will be implemented via | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | commands.py | 504 | CODE | |
| LOW | tests/utils.py | 15 | CODE | |
| LOW | tests/test_optional/optional_utils.py | 64 | CODE | |
| LOW | …st_optional/test_figure_factory/test_figure_factory.py | 1125 | CODE | |
| LOW | …st_optional/test_figure_factory/test_figure_factory.py | 1139 | CODE | |
| LOW | tests/test_optional/test_px/test_px.py | 450 | CODE | |
| LOW | tests/test_io/test_renderers.py | 444 | CODE | |
| LOW | …est_core/test_graph_objs/test_instantiate_hierarchy.py | 16 | CODE | |
| LOW | plotly/_subplots.py | 42 | CODE | |
| LOW | plotly/_subplots.py | 896 | CODE | |
| LOW | plotly/_subplots.py | 1085 | CODE | |
| LOW | plotly/_subplots.py | 1168 | CODE | |
| LOW | plotly/_subplots.py | 1264 | CODE | |
| LOW | plotly/_subplots.py | 1514 | CODE | |
| LOW | plotly/tools.py | 487 | CODE | |
| LOW | plotly/serializers.py | 7 | CODE | |
| LOW | plotly/basedatatypes.py | 159 | CODE | |
| LOW | plotly/basedatatypes.py | 297 | CODE | |
| LOW | plotly/basedatatypes.py | 679 | CODE | |
| LOW | plotly/basedatatypes.py | 741 | CODE | |
| LOW | plotly/basedatatypes.py | 862 | CODE | |
| LOW | plotly/basedatatypes.py | 1115 | CODE | |
| LOW | plotly/basedatatypes.py | 1418 | CODE | |
| LOW | plotly/basedatatypes.py | 1468 | CODE | |
| LOW | plotly/basedatatypes.py | 1710 | CODE | |
| LOW | plotly/basedatatypes.py | 1870 | CODE | |
| LOW | plotly/basedatatypes.py | 2530 | CODE | |
| LOW | plotly/basedatatypes.py | 2821 | CODE | |
| LOW | plotly/basedatatypes.py | 3817 | CODE | |
| LOW | plotly/basedatatypes.py | 4348 | CODE | |
| LOW | plotly/basedatatypes.py | 4414 | CODE | |
| LOW | plotly/basedatatypes.py | 4642 | CODE | |
| LOW | plotly/basedatatypes.py | 4780 | CODE | |
| LOW | plotly/utils.py | 186 | CODE | |
| LOW | plotly/utils.py | 74 | CODE | |
| LOW | plotly/validator_cache.py | 17 | CODE | |
| LOW | plotly/basewidget.py | 635 | CODE | |
| LOW | plotly/basewidget.py | 806 | CODE | |
| LOW | plotly/basewidget.py | 884 | CODE | |
| LOW | plotly/express/_core.py | 156 | CODE | |
| LOW | plotly/express/_core.py | 200 | CODE | |
| LOW | plotly/express/_core.py | 288 | CODE | |
| LOW | plotly/express/_core.py | 877 | CODE | |
| LOW | plotly/express/_core.py | 1028 | CODE | |
| LOW | plotly/express/_core.py | 1134 | CODE | |
| LOW | plotly/express/_core.py | 1234 | CODE | |
| LOW | plotly/express/_core.py | 1501 | CODE | |
| LOW | plotly/express/_core.py | 1952 | CODE | |
| LOW | plotly/express/_core.py | 2230 | CODE | |
| LOW | plotly/express/_core.py | 2525 | CODE | |
| LOW | plotly/express/_imshow.py | 20 | CODE | |
| LOW | plotly/express/_imshow.py | 39 | CODE | |
| LOW | plotly/express/_imshow.py | 56 | CODE | |
| LOW | plotly/io/_json.py | 476 | CODE | |
| LOW | plotly/io/_renderers.py | 36 | CODE | |
| LOW | plotly/io/_renderers.py | 273 | CODE | |
| LOW | plotly/io/_renderers.py | 319 | CODE | |
| LOW | plotly/io/_base_renderers.py | 604 | CODE | |
| LOW | plotly/io/_html.py | 35 | CODE | |
| LOW | plotly/io/_templates.py | 275 | CODE | |
| 42 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | commands.py | 407 | # Check if the header already exists, so that we don't add a double header | COMMENT |
| LOW | plotly/_subplots.py | 1118 | # Check if it's a named subplot type | COMMENT |
| LOW⚡ | plotly/basedatatypes.py | 482 | # Assign layout_plotly to layout | COMMENT |
| LOW⚡ | plotly/basedatatypes.py | 1924 | # Assign value to final parent dict or list | COMMENT |
| LOW⚡ | plotly/basedatatypes.py | 5191 | # Check if we should send null update | COMMENT |
| LOW | plotly/utils.py | 88 | # Set threshold to self.max_list_elements | COMMENT |
| LOW | plotly/io/_json.py | 278 | # Open file | COMMENT |
| LOW⚡ | plotly/io/_json.py | 462 | # Read file contents into JSON string | COMMENT |
| LOW⚡ | plotly/io/_renderers.py | 492 | # Check if we're running in a Colab web notebook | COMMENT |
| LOW⚡ | plotly/io/_renderers.py | 496 | # Check if we're running in a Kaggle notebook | COMMENT |
| LOW⚡ | plotly/io/_renderers.py | 500 | # Check if we're running in an Azure Notebook | COMMENT |
| LOW⚡ | plotly/io/_renderers.py | 504 | # Check if we're running in VSCode | COMMENT |
| LOW⚡ | plotly/io/_renderers.py | 508 | # Check if we're running in nteract | COMMENT |
| LOW⚡ | plotly/io/_renderers.py | 512 | # Check if we're running in CoCalc | COMMENT |
| LOW⚡ | plotly/io/_renderers.py | 519 | # Check if we're running in ipython terminal | COMMENT |
| LOW⚡ | plotly/io/_renderers.py | 525 | # Check if we're running in a Jupyter notebook or JupyterLab | COMMENT |
| LOW | plotly/io/_renderers.py | 106 | # Check if we need to remove it as the default | COMMENT |
| LOW | plotly/io/_kaleido.py | 150 | # Check if trying to export to EPS format, which is not supported in Kaleido v1 | STRING |
| LOW | plotly/io/_kaleido.py | 280 | # Open file | STRING |
| LOW | plotly/io/_html.py | 482 | # Check if file is a string | COMMENT |
| LOW | plotly/io/_html.py | 501 | # Check if we should copy plotly.min.js to output directory | COMMENT |
| LOW | plotly/io/_templates.py | 100 | # Check if we need to remove it as the default | COMMENT |
| LOW | plotly/io/_templates.py | 305 | # Check if we can remove prop itself | STRING |
| LOW | plotly/io/_templates.py | 488 | # Check if we can remove the data altogether key | STRING |
| LOW⚡ | plotly/figure_factory/utils.py | 127 | # Check if endpts is a list or tuple | COMMENT |
| LOW⚡ | plotly/figure_factory/utils.py | 134 | # Check if endpts contains only numbers | COMMENT |
| LOW⚡ | plotly/figure_factory/utils.py | 143 | # Check if numbers in endpts are increasing | COMMENT |
| LOW | plotly/figure_factory/_trisurf.py | 140 | # Check if facecolors are already strings and can be skipped | COMMENT |
| LOW | plotly/figure_factory/_quiver.py | 230 | # Set angles to create arrow | COMMENT |
| LOW | plotly/figure_factory/_quiver.py | 254 | # Set coordinates to create arrow | COMMENT |
| LOW | codegen/compatibility.py | 170 | # Write file | STRING |
| LOW | codegen/validators.py | 80 | # Write file | COMMENT |
| LOW | codegen/datatypes.py | 577 | # Write file | COMMENT |
| LOW | codegen/utils.py | 43 | # Write file | STRING |
| LOW | codegen/utils.py | 123 | # Write file | STRING |
| LOW | _plotly_utils/basevalidators.py | 2723 | # Check if v is a template identifier | COMMENT |
| LOW | templategen/utils/__init__.py | 113 | # Set automargin to true in case we need to adjust margins for | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | commands.py | 64 | except Exception: | CODE |
| LOW | tests/test_optional/__init__.py | 6 | except Exception: | CODE |
| LOW | tests/test_optional/test_utils/test_utils.py | 39 | except Exception: | CODE |
| MEDIUM | tests/test_optional/test_utils/test_utils.py | 36 | def test_masked_constants_example(): | CODE |
| LOW | …est_core/test_graph_objs/test_instantiate_hierarchy.py | 25 | except Exception: | CODE |
| LOW⚡ | …e/test_figure_widget_backend/test_missing_anywidget.py | 13 | except Exception: | CODE |
| LOW | plotly/basedatatypes.py | 5056 | except Exception: | CODE |
| LOW | plotly/graph_objs/__init__.py | 270 | except Exception: | CODE |
| LOW | plotly/graph_objs/__init__.py | 288 | except Exception: | CODE |
| MEDIUM | plotly/express/_core.py | 128 | def get_label(args, column): | CODE |
| LOW | plotly/express/_core.py | 131 | except Exception: | CODE |
| LOW | plotly/express/_core.py | 143 | except Exception: | CODE |
| LOW | plotly/express/_core.py | 1045 | except Exception: | CODE |
| LOW | plotly/express/_core.py | 1606 | except Exception: | CODE |
| LOW | plotly/express/_core.py | 1975 | except Exception: # pandas, Polars and pyarrow exception types are different | CODE |
| LOW | plotly/express/_core.py | 2184 | except Exception as exc: | CODE |
| LOW | plotly/io/_renderers.py | 42 | except Exception: | CODE |
| LOW | plotly/io/_renderers.py | 546 | except Exception: | CODE |
| LOW | plotly/io/_base_renderers.py | 563 | except Exception: | STRING |
| LOW | plotly/io/_base_renderers.py | 824 | except Exception: # python 2 | CODE |
| MEDIUM | plotly/io/_base_renderers.py | 32 | def __repr__(self): | CODE |
| LOW | plotly/graph_objects/__init__.py | 271 | except Exception: | CODE |
| LOW | plotly/graph_objects/__init__.py | 289 | except Exception: | CODE |
| LOW | plotly/matplotlylib/mpltools.py | 540 | except Exception: | CODE |
| LOW | plotly/matplotlylib/mpltools.py | 549 | except Exception: | CODE |
| LOW | plotly/data/__init__.py | 428 | except Exception as e: | CODE |
| LOW | codegen/__init__.py | 264 | except Exception: | CODE |
| LOW | codegen/__init__.py | 279 | except Exception: | CODE |
| LOW⚡ | _plotly_utils/files.py | 14 | except Exception: | CODE |
| LOW⚡ | _plotly_utils/files.py | 22 | except Exception: | CODE |
| LOW⚡ | _plotly_utils/files.py | 25 | except Exception: # Do not trap KeyboardInterrupt. | CODE |
| MEDIUM | _plotly_utils/files.py | 9 | def _permissions(): | CODE |
| LOW | _plotly_utils/optional_imports.py | 31 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/test_optional/test_px/test_px.py | 88 | assert fig.layout.legend.title.text.startswith("SEX") | CODE |
| CRITICAL⚡ | tests/test_core/test_figure_messages/test_on_change.py | 96 | self.figure.layout.xaxis.title.font.on_change(fn_title_font, "family") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | js/src/widget.ts | 181 | // Messages are implemented using trait properties. This is done so | COMMENT |
| LOW | …test_optional/test_autoshapes/test_annotated_shapes.py | 1 | # Test annotations added by calling hline, vline, hrect, vrect with the annotation* keywords | COMMENT |
| LOW | tests/test_core/test_graph_objs/test_scatter.py | 21 | COMMENT | |
| LOW | …test_update_objects/test_row_col_subplot_addressing.py | 41 | COMMENT | |
| LOW | plotly/_subplots.py | 1 | # Constants | COMMENT |
| LOW | plotly/basedatatypes.py | 481 | COMMENT | |
| LOW | plotly/basedatatypes.py | 521 | # Handle data (traces) | COMMENT |
| LOW | plotly/basedatatypes.py | 541 | # explicitly set by the user for each trace. | COMMENT |
| LOW | plotly/basedatatypes.py | 601 | # Frames | COMMENT |
| LOW | plotly/basedatatypes.py | 621 | # --------------- | COMMENT |
| LOW | plotly/basedatatypes.py | 1681 | # ----------------------- | COMMENT |
| LOW | plotly/basedatatypes.py | 2901 | """ | COMMENT |
| LOW | plotly/basedatatypes.py | 4261 | self._plotly_name = plotly_name | COMMENT |
| LOW | plotly/basedatatypes.py | 4281 | # The parent of the object. May be another BasePlotlyType or it may | COMMENT |
| LOW | plotly/basedatatypes.py | 5661 | # ### Inform parent of relayout operation ### | COMMENT |
| LOW | plotly/basewidget.py | 21 | # These properties store the current state of the traces and | COMMENT |
| LOW | plotly/basewidget.py | 61 | # responsible for setting the message property to None after retreiving | COMMENT |
| LOW | plotly/basewidget.py | 121 | # completed yet. | COMMENT |
| LOW | plotly/express/_core.py | 2001 | discrete_aggs = [] | COMMENT |
| LOW | plotly/express/_core.py | 2021 | # | COMMENT |
| LOW | _plotly_utils/png.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | _plotly_utils/png.py | 21 | # | COMMENT |
| LOW | _plotly_utils/basevalidators.py | 461 | # coerce_number is rarely used and not implemented | COMMENT |
| LOW | _plotly_utils/basevalidators.py | 501 | # | COMMENT |
| LOW | _plotly_utils/basevalidators.py | 2001 | def description(self): | COMMENT |
| LOW | doc/python/line-and-scatter.md | 361 | // point_size) < 1)): | COMMENT |
| LOW | doc/python/text-and-annotations.md | 801 | # putting the note in the HTML to use the browser's automated word wrap, | COMMENT |
| LOW | doc/apidoc/conf.py | 1 | # Configuration file for the Sphinx documentation builder. | COMMENT |
| LOW | doc/apidoc/conf.py | 101 | # relative to this directory. They are copied after the builtin static files, | COMMENT |
| LOW | doc/apidoc/conf.py | 121 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | commands.py | 155 | # This file is generated by the updatebundle commands.py command | STRING |
| MEDIUM | …test_core/test_figure_messages/test_plotly_relayout.py | 62 | # Initialize template object | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 2582 | # Initialize template object | STRING |
| MEDIUM | plotly/express/_core.py | 2598 | # Create the trace | COMMENT |
| MEDIUM | plotly/io/_sg_scraper.py | 1 | # This module defines an image scraper for sphinx-gallery | COMMENT |
| MEDIUM | plotly/figure_factory/_trisurf.py | 329 | >>> # Create a figure | STRING |
| MEDIUM | plotly/figure_factory/_trisurf.py | 357 | >>> # Create a figure | STRING |
| MEDIUM | plotly/figure_factory/_trisurf.py | 386 | >>> # Create a figure | STRING |
| MEDIUM | plotly/figure_factory/_trisurf.py | 418 | >>> # Create a figure | STRING |
| MEDIUM | plotly/offline/_plotlyjs_version.py | 2 | # This file is generated by the updatebundle commands.py command | COMMENT |
| MEDIUM | _plotly_utils/png.py | 2140 | # Create a fresh target row, then copy L channel | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | doc/python/tile-map-layers.md | 85 | - A custom style URL. For example: https://tiles.stadiamaps.com/styles/stamen_watercolor.json?api_key=YOUR-API-KEY | CODE |
| HIGH | doc/python/tile-map-layers.md | 211 | fig.update_layout(map_style="https://tiles.stadiamaps.com/styles/stamen_watercolor.json?api_key=YOUR-API-KEY", map_cente | CODE |
| HIGH | doc/unconverted/python/tesla-supercharging-stations.md | 55 | my_google_maps_api_key = 'YOUR_API_KEY' | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | doc/python/table.md | 115 | ["Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeter | CODE |
| LOW⚡ | doc/python/table.md | 115 | ["Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aeter | CODE |
| LOW⚡ | doc/python/table.md | 116 | "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aetern | CODE |
| LOW⚡ | doc/python/table.md | 116 | "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aetern | CODE |
| LOW⚡ | doc/python/table.md | 117 | "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aetern | CODE |
| LOW⚡ | doc/python/table.md | 117 | "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aetern | CODE |
| LOW⚡ | doc/python/table.md | 118 | "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aetern | CODE |
| LOW⚡ | doc/python/table.md | 118 | "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aetern | CODE |
| LOW⚡ | doc/python/table.md | 119 | "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aetern | CODE |
| LOW⚡ | doc/python/table.md | 119 | "Lorem ipsum dolor sit amet, tollit discere inermis pri ut. Eos ea iusto timeam, an prima laboramus vim. Id usu aetern | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plotly/express/__init__.py | 77 | __all__ = [ | CODE |
| LOW | plotly/express/trendline_functions/__init__.py | 11 | __all__ = ["ols", "lowess", "rolling", "ewm", "expanding"] | CODE |
| LOW | plotly/express/colors/__init__.py | 19 | __all__ = [ | CODE |
| LOW | plotly/express/data/__init__.py | 6 | __all__ = [ | CODE |
| LOW | plotly/io/_kaleido.py | 604 | __all__ = ["to_image", "write_image", "full_figure_for_development"] | STRING |
| LOW | plotly/colors/__init__.py | 19 | __all__ = [ | CODE |
| LOW | plotly/figure_factory/__init__.py | 36 | __all__ = [ | CODE |
| LOW | _plotly_utils/png.py | 193 | __all__ = ["Image", "Reader", "Writer", "write_chunks", "from_array"] | CODE |
| LOW | _plotly_utils/optional_imports.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | _plotly_utils/colors/cyclical.py | 154 | __all__ = [ | CODE |
| LOW | _plotly_utils/colors/diverging.py | 75 | __all__ = ["swatches"] | CODE |
| LOW | _plotly_utils/colors/sequential.py | 257 | __all__ = ["swatches"] | CODE |
| LOW | _plotly_utils/colors/qualitative.py | 184 | __all__ = ["swatches"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …test_optional/test_autoshapes/test_annotated_shapes.py | 227 | # Test that you can add an annotation using annotation=go.layout.Annotation(...) | COMMENT |
| MEDIUM | …test_optional/test_autoshapes/test_annotated_shapes.py | 256 | # Test that you can add an annotation using annotation=dict(...) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_core/test_graph_objs/test_graph_objs.py | 50 | # compat, so we basically just create a checkpoint with this test. | COMMENT |
| MEDIUM | plotly/express/imshow_utils.py | 1 | """Vendored code from scikit-image in order to limit the number of dependencies | STRING |
| MEDIUM | plotly/io/_base_renderers.py | 823 | filename = stack[3].filename # let's hope this is robust... | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | doc/unconverted/python/html-reports.md | 62 | ### Step 1: Generate 2 graphs and 2 tables | COMMENT |
| LOW | doc/unconverted/python/html-reports.md | 243 | ### Step 2: Generate HTML report<br>as a string and write to file | STRING |