The interactive graphing library for Python :sparkles:
This report summarizes scanner evidence for plotly/plotly.py, a Python project with 18,827 GitHub stars. SynthScan examined 596,161 lines of code across 1953 source files, recording 13681 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 86.9 (High pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1512 finding(s).
Are imports declared and package/API names verified? 2370 finding(s).
Are wrappers, guards, and repeated structures necessary? 11125 finding(s).
Which changes need focused human review? 13681 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 13681 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| 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 | |
| 2268 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 |
| 627 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_io/test_renderers.py | 281 | # ---------- | 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 | 4806 | # -------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4812 | # ----------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4817 | # ---------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 4822 | # ------------------ | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 5192 | # ----------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 5204 | # ------------------ | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 5240 | # ---------------- | COMMENT |
| MEDIUM⚡ | plotly/basedatatypes.py | 5246 | # ------------ | COMMENT |
| 215 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_optional/__init__.py | 6 | except Exception: | CODE |
| HIGH | tests/test_optional/test_utils/test_utils.py | 39 | except Exception: | CODE |
| HIGH | tests/test_io/test_to_from_plotly_json.py | 190 | except (TypeError, AttributeError): | CODE |
| HIGH | tests/test_core/test_graph_objs/test_template.py | 20 | except KeyError: | CODE |
| HIGH | tests/test_core/test_offline/test_offline.py | 69 | except OSError: | CODE |
| HIGH | plotly/_subplots.py | 1553 | except ValueError: | CODE |
| HIGH | plotly/_subplots.py | 1107 | except ValueError: | CODE |
| HIGH | plotly/basedatatypes.py | 126 | except ValueError as _: | CODE |
| HIGH | plotly/basedatatypes.py | 5059 | except Exception: | CODE |
| HIGH | plotly/utils.py | 195 | except UnicodeEncodeError: | CODE |
| HIGH | plotly/utils.py | 205 | except UnicodeEncodeError: | CODE |
| HIGH | plotly/io/_json.py | 557 | except (TypeError, AttributeError): | CODE |
| HIGH | plotly/io/_json.py | 571 | except AttributeError: | CODE |
| HIGH | plotly/io/_json.py | 585 | except AttributeError: | CODE |
| HIGH | plotly/io/_json.py | 286 | except AttributeError: | CODE |
| HIGH | plotly/io/_json.py | 563 | except (TypeError, AttributeError): | CODE |
| HIGH | plotly/io/_json.py | 153 | except AttributeError: | CODE |
| HIGH | plotly/io/_json.py | 161 | except TypeError: | CODE |
| HIGH | plotly/io/_sg_scraper.py | 202 | except Exception: | CODE |
| HIGH | plotly/io/_renderers.py | 42 | except Exception: | CODE |
| HIGH | plotly/io/_renderers.py | 546 | except Exception: | CODE |
| HIGH | plotly/io/_kaleido.py | 287 | except AttributeError: | CODE |
| HIGH | plotly/io/_base_renderers.py | 632 | except webbrowser.Error: | CODE |
| HIGH | plotly/io/_html.py | 170 | except (ValueError, TypeError): | CODE |
| HIGH | plotly/io/_html.py | 177 | except (ValueError, TypeError): | CODE |
| HIGH | plotly/io/_templates.py | 340 | except ValueError: | CODE |
| HIGH | plotly/matplotlylib/renderer.py | 1109 | except (KeyError, AttributeError): | CODE |
| HIGH | plotly/matplotlylib/mplexporter/exporter.py | 277 | except AttributeError: | CODE |
| HIGH | plotly/figure_factory/_quiver.py | 133 | except exceptions.PlotlyError: | CODE |
| HIGH | plotly/figure_factory/_quiver.py | 138 | except exceptions.PlotlyError: | CODE |
| HIGH | plotly/figure_factory/_quiver.py | 143 | except exceptions.PlotlyError: | CODE |
| HIGH | plotly/figure_factory/_quiver.py | 148 | except exceptions.PlotlyError: | CODE |
| HIGH | _plotly_utils/files.py | 22 | except Exception: | CODE |
| HIGH | _plotly_utils/utils.py | 236 | except NotEncodable: | CODE |
| HIGH | _plotly_utils/utils.py | 376 | except ValueError: | CODE |
| HIGH | _plotly_utils/utils.py | 298 | except TypeError: | CODE |
| HIGH | _plotly_utils/basevalidators.py | 2341 | except ImportError: | CODE |
| HIGH | _plotly_utils/basevalidators.py | 2734 | except TypeError: | CODE |
| 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 | 227 | 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 | 307 | 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 | 460 | 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 | 4783 | 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 | 1953 | CODE | |
| LOW | plotly/express/_core.py | 2238 | CODE | |
| LOW | plotly/express/_core.py | 2533 | 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 | 603 | CODE | |
| LOW | plotly/io/_html.py | 35 | CODE | |
| LOW | plotly/io/_templates.py | 275 | CODE | |
| 44 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 | 5194 | # 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 | 462 | # Read file contents into JSON string | COMMENT |
| LOW | plotly/io/_json.py | 278 | # Open file | 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 | tests/test_core/test_graph_objs/test_thread_safety.py | 72 | except Exception as error: | CODE |
| MEDIUM | tests/test_core/test_graph_objs/test_thread_safety.py | 59 | def read_child(): | 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 | 5059 | 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 | 1981 | except Exception: # pandas, Polars and pyarrow exception types are different | CODE |
| LOW | plotly/express/_core.py | 2192 | except Exception as exc: | CODE |
| LOW | plotly/io/_sg_scraper.py | 165 | except Exception: | CODE |
| LOW | plotly/io/_sg_scraper.py | 178 | except Exception: | CODE |
| LOW | plotly/io/_sg_scraper.py | 202 | except Exception: | CODE |
| LOW | plotly/io/_sg_scraper.py | 217 | except Exception as exc: | CODE |
| LOW | plotly/io/_sg_scraper.py | 277 | except Exception as exc: | CODE |
| LOW | plotly/io/_sg_scraper.py | 289 | 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 | 562 | except Exception: | STRING |
| MEDIUM | plotly/io/_base_renderers.py | 31 | 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 | 584 | except Exception: | CODE |
| LOW | plotly/matplotlylib/mpltools.py | 593 | 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/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 | 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 | 2606 | # 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 | 89 | - 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 | 215 | 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 |
| 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 |