Interactive Data Visualization in the browser, from Python
This report presents the forensic synthetic code analysis of bokeh/bokeh, a TypeScript project with 20,408 GitHub stars. SynthScan v2.0 examined 328,958 lines of code across 2542 source files, recording 11596 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 119.7 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 11596 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | setup.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setup.py | 6 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/conftest.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/conftest.py | 6 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/__init__.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/__init__.py | 7 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 6 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 8 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 10 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 15 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 17 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 23 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 25 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 27 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 29 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 42 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 44 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 46 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 48 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 50 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_bokehjs.py | 52 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 6 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 8 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 10 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 15 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 17 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 36 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 38 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 44 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 46 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 55 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 57 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 82 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 84 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 86 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_cross.py | 88 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_cross.py | 188 | #----------------------------------------------------------------------------- | STRING |
| MEDIUM | tests/test_cross.py | 190 | #----------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | tests/test_examples.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_examples.py | 6 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_examples.py | 8 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_examples.py | 10 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_examples.py | 15 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_examples.py | 17 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_examples.py | 55 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_examples.py | 57 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_examples.py | 67 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_examples.py | 69 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_examples.py | 312 | #----------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | tests/test_examples.py | 314 | #----------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | tests/test_examples.py | 316 | #----------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | tests/test_examples.py | 318 | #----------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | tests/test_examples.py | 320 | #----------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | tests/test_examples.py | 322 | #----------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | tests/test_defaults.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_defaults.py | 6 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_defaults.py | 8 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_defaults.py | 10 | #----------------------------------------------------------------------------- | COMMENT |
| 8565 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/conftest.py | 58 | def pandas_nullable_constructor(obj) -> IntoDataFrame: | CODE |
| LOW⚡ | tests/conftest.py | 62 | def pandas_pyarrow_constructor(obj) -> IntoDataFrame: | CODE |
| LOW⚡ | tests/conftest.py | 71 | def pyarrow_table_constructor(obj) -> IntoDataFrame: | CODE |
| LOW⚡ | tests/unit/bokeh/test_resources.py | 68 | def test_get_all_sri_versions_valid_format(self) -> None: | CODE |
| LOW⚡ | tests/unit/bokeh/test_resources.py | 74 | def test_get_sri_hashes_for_standard_versions(self, v) -> None: | CODE |
| LOW⚡ | tests/unit/bokeh/test_resources.py | 84 | def test_get_sri_hashes_for_weird_versions(self, v) -> None: | CODE |
| LOW | tests/unit/bokeh/test_resources.py | 96 | def test_get_sri_hashes_for_version_bad(self) -> None: | CODE |
| LOW | tests/unit/bokeh/test_resources.py | 245 | def test_server_root_url_empty(self) -> None: | CODE |
| LOW | tests/unit/bokeh/test_resources.py | 260 | def test_server_with_versioner(self) -> None: | CODE |
| LOW | tests/unit/bokeh/test_resources.py | 344 | def test_builtin_importable_with_env(self, monkeypatch: pytest.MonkeyPatch, env) -> None: | CODE |
| LOW | tests/unit/bokeh/test_resources.py | 352 | def test_render_js_cdn_release(self, monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW | tests/unit/bokeh/test_resources.py | 369 | def test_render_js_cdn_dev_release(self, v: str, monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW | tests/unit/bokeh/test_resources.py | 380 | def test_render_js_cdn_dev_local(self, monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW | tests/unit/bokeh/test_resources.py | 412 | def test_external_js_and_css_resource_embedding() -> None: | CODE |
| LOW | tests/unit/bokeh/test_resources.py | 452 | def test_external_js_and_css_resource_ordering() -> None: | CODE |
| LOW⚡ | tests/unit/bokeh/test_palettes.py | 30 | def test_cmap_generator_function() -> None: | CODE |
| LOW⚡ | tests/unit/bokeh/test_palettes.py | 40 | def test_all_palettes___palettes__() -> None: | CODE |
| LOW | tests/unit/bokeh/test_palettes.py | 76 | def test_varying_alpha_palette() -> None: | CODE |
| LOW⚡ | tests/unit/bokeh/test_layouts__typing.py | 33 | def test_gridplot_typing_no_ncols() -> None: | CODE |
| LOW | tests/unit/bokeh/test_layouts__typing.py | 48 | def test_gridplot_typing_using_ncols() -> None: | CODE |
| LOW⚡ | tests/unit/bokeh/test_typing.py | 49 | def mypy_test_figure_list_attr_splat() -> None: | CODE |
| LOW⚡ | tests/unit/bokeh/test_themes.py | 71 | def test_construct_empty_theme_from_json(self) -> None: | STRING |
| LOW⚡ | tests/unit/bokeh/test_themes.py | 76 | def test_construct_no_json_or_filename(self) -> None: | STRING |
| LOW⚡ | tests/unit/bokeh/test_themes.py | 81 | def test_construct_json_and_filename(self) -> None: | STRING |
| LOW⚡ | tests/unit/bokeh/test_themes.py | 290 | def test_setting_built_in_theme_obj(self) -> None: | STRING |
| LOW⚡ | tests/unit/bokeh/test_themes.py | 297 | def test_setting_built_in_theme_str(self) -> None: | STRING |
| LOW⚡ | tests/unit/bokeh/test_themes.py | 304 | def test_setting_built_in_theme_missing(self) -> None: | STRING |
| LOW⚡ | tests/unit/bokeh/test_themes.py | 311 | def test_setting_built_in_theme_error(self) -> None: | STRING |
| LOW | tests/unit/bokeh/test_themes.py | 60 | def test_construct_empty_theme_from_file(self) -> None: | STRING |
| LOW | tests/unit/bokeh/test_themes.py | 93 | def test_construct_bad_class_props(self) -> None: | STRING |
| LOW | tests/unit/bokeh/test_themes.py | 98 | def test_construct_nonempty_theme_from_file(self) -> None: | STRING |
| LOW | tests/unit/bokeh/test_themes.py | 140 | def test_theming_a_model_via_base(self) -> None: | STRING |
| LOW | tests/unit/bokeh/test_themes.py | 158 | def test_subclass_theme_used_rather_than_base(self) -> None: | STRING |
| LOW | tests/unit/bokeh/test_themes.py | 179 | def test_theming_a_document_after_adding_root(self) -> None: | STRING |
| LOW | tests/unit/bokeh/test_themes.py | 202 | def test_theming_a_document_before_adding_root(self) -> None: | STRING |
| LOW | tests/unit/bokeh/test_themes.py | 225 | def test_setting_document_theme_to_none(self) -> None: | STRING |
| LOW | tests/unit/bokeh/test_themes.py | 248 | def _compare_dict_to_model_class_defaults(self, props, model_class): | STRING |
| LOW | tests/unit/bokeh/test_themes.py | 260 | def _compare_dict_to_model_defaults(self, props, model_name): | STRING |
| LOW | tests/unit/bokeh/test_themes.py | 271 | def test_default_theme_is_empty(self) -> None: | STRING |
| LOW⚡ | tests/unit/bokeh/test_client_server.py | 169 | async def check_http_ok_socket_blocked(self, server, origin=None): | CODE |
| LOW⚡ | tests/unit/bokeh/test_client_server.py | 173 | async def check_http_blocked_socket_blocked(self, server, origin=None): | CODE |
| LOW⚡ | tests/unit/bokeh/test_client_server.py | 177 | async def test_allow_websocket_origin(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW⚡ | tests/unit/bokeh/test_client_server.py | 1040 | def test_session_show_adds_obj_to_curdoc_if_necessary(m: MagicMock) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 90 | def test_minimal_connect_and_disconnect(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 146 | async def check_connect_session_fails(self, server, origin): | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 388 | def test_client_changes_go_to_server(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 436 | def test_server_changes_go_to_client(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 474 | def do_set_property_on_server(): | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 503 | def test_client_session_timeout_async(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 535 | def test_client_session_timeout_async_added_before_push(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 568 | def test_server_session_timeout_async(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 603 | def test_client_session_next_tick_async(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 635 | def test_client_session_next_tick_async_added_before_push(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 668 | def test_server_session_next_tick_async(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 703 | def test_client_session_periodic_async(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 733 | def test_client_session_periodic_async_added_before_push(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 764 | def test_server_session_periodic_async(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 798 | def test_lots_of_concurrent_messages(self, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 887 | def test_client_changes_do_not_boomerang(monkeypatch: pytest.MonkeyPatch, ManagedServerLoop: MSL) -> None: | CODE |
| LOW | tests/unit/bokeh/test_client_server.py | 933 | def test_server_changes_do_not_boomerang(monkeypatch: pytest.MonkeyPatch, ManagedServerLoop: MSL) -> None: | CODE |
| 888 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/__init__.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/test_bokehjs.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/test_bokehjs.py | 41 | COMMENT | |
| LOW | tests/test_cross.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/test_examples.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/test_examples.py | 321 | # Code | COMMENT |
| LOW | tests/test_defaults.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_resources.py | 1 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_palettes.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_layouts__typing.py | 1 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_layouts__typing.py | 61 | COMMENT | |
| LOW | tests/unit/bokeh/test_transform.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_transform.py | 301 | COMMENT | |
| LOW | tests/unit/bokeh/test___init__.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test___init__.py | 101 | @pytest.mark.skip | COMMENT |
| LOW | tests/unit/bokeh/test_driving.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_typing.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_typing.py | 81 | COMMENT | |
| LOW | tests/unit/bokeh/test_themes.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_themes.py | 321 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_client_server.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_server.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_server.py | 61 | # Private API | COMMENT |
| LOW | tests/unit/bokeh/test___main__.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test___main__.py | 61 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_ext.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_events.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_events.py | 421 | COMMENT | |
| LOW | tests/unit/bokeh/test_regressions.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_regressions.py | 61 | assert obj0.p0 == [obj1] | COMMENT |
| LOW | tests/unit/bokeh/test_objects.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_objects.py | 601 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_layouts.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_settings.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/test_settings.py | 441 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/test_validation.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/test_templates.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/test_templates.py | 101 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/test_json_encoder.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/test_enums.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/test_enums.py | 521 | # Private API | COMMENT |
| LOW | tests/unit/bokeh/core/test_query.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/test_query.py | 281 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/test_has_props.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/test_serialization.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/test_properties.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/test_properties.py | 621 | assert f.x == 30 | COMMENT |
| LOW | …sts/unit/bokeh/core/property/test_string_properties.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | …sts/unit/bokeh/core/property/test_string_properties.py | 81 | # Dev API | COMMENT |
| LOW | tests/unit/bokeh/core/property/test_color__property.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/property/test_required.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/property/test_vectorization.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/property/test_vectorization.py | 61 | assert bcpv.expr(expr, transform=transform) == bcpv.Expr(expr=expr, transform=transform) | COMMENT |
| LOW | …ts/unit/bokeh/core/property/test_wrappers__property.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/property/test_primitive.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/property/test_visual.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/property/test_container.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/property/test_instance.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/property/test_instance.py | 201 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tests/unit/bokeh/core/property/test_singletons.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| 717 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 7 | CODE | |
| LOW | tests/conftest.py | 7 | CODE | |
| LOW | tests/test_bokehjs.py | 11 | CODE | |
| LOW | tests/test_cross.py | 11 | CODE | |
| LOW | tests/test_examples.py | 11 | CODE | |
| LOW | tests/test_defaults.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test_resources.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test_palettes.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test_transform.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test___init__.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test_driving.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test_typing.py | 24 | CODE | |
| LOW | tests/unit/bokeh/test_themes.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test_client_server.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test_server.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test___main__.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test_ext.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test_events.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test_regressions.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test_objects.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test_layouts.py | 11 | CODE | |
| LOW | tests/unit/bokeh/test_settings.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/test_validation.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/test_templates.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/test_json_encoder.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/test_enums.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/test_query.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/test_has_props.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/test_serialization.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/test_properties.py | 11 | CODE | |
| LOW | …sts/unit/bokeh/core/property/test_string_properties.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_color__property.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_required.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_vectorization.py | 11 | CODE | |
| LOW | …ts/unit/bokeh/core/property/test_wrappers__property.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_primitive.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_visual.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_container.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_instance.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_singletons.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_struct.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_data_frame.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_data_class.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_bases.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_nullable.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_constraints.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_numeric.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_include.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/_util_property.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_any.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_datetime.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_dataspec.py | 11 | CODE | |
| LOW | …/unit/bokeh/core/property/test_validation__property.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_either.py | 11 | CODE | |
| LOW | …sts/unit/bokeh/core/property/test___init___property.py | 11 | CODE | |
| LOW | …ts/unit/bokeh/core/property/test_descriptor_factory.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_aliases.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_alias.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_override.py | 11 | CODE | |
| LOW | tests/unit/bokeh/core/property/test_json__property.py | 11 | CODE | |
| 764 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/unit/bokeh/core/test_json_encoder.py | 44 | [null,true,false,-128,-1,0,1,128,{"type":"number","value":"nan"}]\ | CODE |
| HIGH⚡ | tests/unit/bokeh/core/test_json_encoder.py | 48 | [null,true,false,-128,-1,0,1,128,{"type":"number","value":"nan"}]\ | CODE |
| HIGH⚡ | tests/unit/bokeh/core/test_json_encoder.py | 53 | null, | CODE |
| HIGH | tests/unit/bokeh/core/test_json_encoder.py | 70 | null, | CODE |
| HIGH⚡ | tests/unit/bokeh/core/test_has_props.py | 268 | assert p1.equals(p2) | CODE |
| HIGH⚡ | tests/unit/bokeh/core/test_has_props.py | 270 | assert not p1.equals(p2) | CODE |
| HIGH⚡ | tests/unit/bokeh/core/test_has_props.py | 272 | assert p1.equals(p2) | CODE |
| HIGH | tests/unit/bokeh/core/test_serialization.py | 1415 | '"name":null,' + | STRING |
| HIGH | tests/unit/bokeh/core/test_serialization.py | 1416 | '"null_child":null,' + | STRING |
| HIGH | tests/unit/bokeh/util/test_compiler.py | 157 | formatted.push(`+${difference}}`) | CODE |
| HIGH | examples/advanced/extensions/ticking.py | 17 | formatted.push(`+${(Number(ticks[i]) - Number(ticks[0])).toPrecision(2)}`) | CODE |
| HIGH | examples/basic/data/server_sent_events_source.py | 17 | result.x.push(pts[i][0]) | CODE |
| HIGH | examples/basic/data/server_sent_events_source.py | 18 | result.y.push(pts[i][1]) | CODE |
| HIGH | examples/basic/data/ajax_source.py | 13 | result.x.push(x) | CODE |
| HIGH | examples/basic/data/ajax_source.py | 14 | result.y.push(y) | CODE |
| HIGH | examples/server/app/events_app.py | 28 | args.push(attrs[i] + '=' + val) | CODE |
| HIGH | examples/models/custom.py | 40 | colors.push(`${color} ${offset}px`) | CODE |
| HIGH | examples/models/custom.py | 42 | colors.push(`${color} ${offset}px`) | CODE |
| HIGH⚡ | examples/models/buttons.py | 23 | button.js_on_event("button_click", CustomJS(code="console.log('button: click ', this.toString())")) | CODE |
| HIGH⚡ | examples/models/buttons.py | 24 | button.js_on_event("button_click", CustomJS(code="console.log('button: click ', this.toString())")) | CODE |
| HIGH⚡ | examples/models/buttons.py | 27 | button_disabled.js_on_event("button_click", CustomJS(code="console.log('button(disabled): click ', this.toString())")) | CODE |
| HIGH⚡ | examples/models/buttons.py | 30 | toggle_inactive.js_on_event('button_click', CustomJS(code="console.log('toggle(inactive): active=' + this.origin.active, | CODE |
| HIGH⚡ | examples/models/buttons.py | 33 | toggle_active.js_on_event('button_click', CustomJS(code="console.log('toggle(active): active=' + this.origin.active, thi | CODE |
| HIGH⚡ | examples/models/buttons.py | 38 | dropdown.js_on_event("button_click", CustomJS(code="console.log('dropdown: click ' + this.toString())")) | CODE |
| HIGH⚡ | examples/models/buttons.py | 39 | dropdown.js_on_event("menu_item_click", CustomJS(code="console.log('dropdown: ' + this.item, this.toString())")) | CODE |
| HIGH⚡ | examples/models/buttons.py | 42 | dropdown_disabled.js_on_event("button_click", CustomJS(code="console.log('dropdown(disabled): click ' + this.toString()) | CODE |
| HIGH⚡ | examples/models/buttons.py | 43 | dropdown_disabled.js_on_event("menu_item_click", CustomJS(code="console.log('dropdown(disabled): ' + this.item, this.toS | CODE |
| HIGH⚡ | examples/models/buttons.py | 46 | dropdown_split.js_on_event("button_click", CustomJS(code="console.log('dropdown(split): click ' + this.toString())")) | CODE |
| HIGH⚡ | examples/models/buttons.py | 47 | dropdown_split.js_on_event("menu_item_click", CustomJS(code="console.log('dropdown(split): ' + this.item, this.toString( | CODE |
| HIGH⚡ | examples/models/buttons.py | 50 | checkbox_group.js_on_change('active', CustomJS(code="console.log('checkbox_group: active=' + this.active, this.toString( | CODE |
| HIGH⚡ | examples/models/buttons.py | 53 | radio_group.js_on_change('active', CustomJS(code="console.log('radio_group: active=' + this.active, this.toString())")) | CODE |
| HIGH⚡ | examples/models/buttons.py | 56 | checkbox_button_group.js_on_event("button_click", CustomJS(code="console.log('checkbox_button_group: active=' + this.ori | CODE |
| HIGH⚡ | examples/models/buttons.py | 59 | radio_button_group.js_on_event("button_click", CustomJS(code="console.log('radio_button_group: active=' + this.origin.ac | CODE |
| HIGH | examples/interaction/tools/hover_tooltip_advanced.py | 21 | x_filter = CustomJS(code="""export default (args, tool, {value: x}) => 20 <= x && x <= 80""") | CODE |
| HIGH | examples/interaction/tools/hover_tooltip_advanced.py | 22 | y_filter = CustomJS(code="""export default (args, tool, {value: y}) => 20 <= y && y <= 80""") | CODE |
| HIGH | …amples/interaction/widgets/multiple_datetime_picker.py | 16 | console.log("multiple_datetime_picker: value=" + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/radio_button_group.py | 8 | console.log('radio_button_group: active=' + btn.active, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/datetime_picker.py | 11 | console.log("datetime_picker: value=" + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/checkbox_button_group.py | 8 | console.log('checkbox_button_group: active=' + btn.active, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/time_picker.py | 6 | console.log("time_picker: value=" + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/toggle_button.py | 6 | console.log('toggle: active=' + btn.active, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/dateslider.py | 10 | console.log('date_slider: value=' + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/radio_group.py | 8 | console.log('radio_group: active=' + this.origin.active, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/date_picker.py | 11 | console.log("date_picker: value=" + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/date_range_picker.py | 12 | console.log("date_range_picker: value=" + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/datetime_range_picker.py | 12 | console.log("datetime_range_picker: value=" + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/multiselect.py | 8 | console.log('multi_select: value=' + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/checkbox_group.py | 8 | console.log('checkbox_group: active=' + this.active, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/textinput.py | 6 | console.log('text_input: value=' + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/textareainput.py | 6 | console.log('text_area_input: value=' + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/button.py | 5 | button.js_on_event("button_click", CustomJS(code="console.log('button: click!', this.toString())")) | CODE |
| HIGH | examples/interaction/widgets/select_widget.py | 6 | console.log('select: value=' + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/passwordinput.py | 6 | console.log('password_input: value=' + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/multichoice.py | 8 | console.log('multi_choice: value=' + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/range_slider.py | 6 | console.log('range_slider: value=' + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/daterangeslider.py | 9 | console.log('date_range_slider: value=' + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/dropdown.py | 7 | dropdown.js_on_event("menu_item_click", CustomJS(code="console.log('dropdown: ' + this.item, this.toString())")) | CODE |
| HIGH | examples/interaction/widgets/multiple_date_picker.py | 12 | console.log("multiple_date_picker: value=" + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/widgets/datetimerangeslider.py | 9 | console.log('datetime_range_slider: value=' + this.value, this.toString()) | CODE |
| HIGH | examples/interaction/js_callbacks/js_on_event.py | 28 | args.push(attrs[i] + '=' + val) | CODE |
| 10 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/bokeh/palettes.py | 1510 | Generate a new palette as a subset of a given palette. Given an input ``palette``, take ``n`` colors from it by di | STRING |
| HIGH | src/bokeh/palettes.py | 1532 | Generate a new palette by combining exactly two input palettes. Given an input ``palette1`` and ``palette2``, take | STRING |
| HIGH | src/bokeh/palettes.py | 1574 | Generate a palette that is a single color with linearly varying alpha. Alpha may vary from low to high or high to | STRING |
| HIGH | src/bokeh/palettes.py | 1642 | Generate a new palette by interpolating a given palette. Linear interpolation is performed separately on each of t | STRING |
| HIGH | src/bokeh/palettes.py | 1679 | Generate a palette of colors from the Magma palette. The full Magma palette that serves as input for deriving new | STRING |
| HIGH | src/bokeh/palettes.py | 1708 | Generate a palette of colors from the Inferno palette. The full Inferno palette that serves as input for deriving | STRING |
| HIGH | src/bokeh/palettes.py | 1737 | Generate a palette of colors from the Plasma palette. The full Plasma palette that serves as input for deriving ne | STRING |
| HIGH | src/bokeh/palettes.py | 1766 | Generate a palette of colors from the Viridis palette. The full Viridis palette that serves as input for deriving | STRING |
| HIGH | src/bokeh/palettes.py | 1795 | Generate a palette of colors from the Cividis palette. The full Cividis palette that serves as input for deriving | STRING |
| HIGH | src/bokeh/palettes.py | 1824 | Generate a palette of colors from the Turbo palette. Turbo is described here: https://ai.googleblog.com/2019/ | STRING |
| HIGH | src/bokeh/palettes.py | 1857 | Generate a palette of colors from the Greys palette. The full Greys palette that serves as input for deriving new | STRING |
| HIGH | src/bokeh/palettes.py | 1889 | Generate a palette of colors or from the Greys palette. The full Greys palette that serves as input for deriving n | STRING |
| HIGH | src/bokeh/settings.py | 195 | Convert a string to True or False. If a boolean is passed in, it is returned as-is. Otherwise the function map | STRING |
| HIGH | src/bokeh/settings.py | 262 | Convert a string to a Python logging level If a log level is passed in, it is returned as-is. Otherwise the functio | STRING |
| HIGH | src/bokeh/settings.py | 299 | Convert a string to a validation level If a validation level is passed in, it is returned as-is. Args: | STRING |
| HIGH | src/bokeh/settings.py | 323 | Convert a string to an .ico path Args: value (str): A string value to convert to a .ico path | STRING |
| HIGH | src/bokeh/settings.py | 461 | Return the setting value according to the standard precedence. Args: value (any, optional): | STRING |
| HIGH | src/bokeh/resources.py | 123 | Report SRI script hashes for a specific version of BokehJS. Bokeh provides `Subresource Integrity`_ hashes for all | STRING |
| HIGH | src/bokeh/layouts.py | 89 | Create a row of Bokeh Layout objects. Forces all objects to have the same sizing_mode, which is required for comple | STRING |
| HIGH | src/bokeh/layouts.py | 124 | Create a column of Bokeh Layout objects. Forces all objects to have the same sizing_mode, which is required for com | STRING |
| HIGH | src/bokeh/layouts.py | 155 | Create a grid-based arrangement of Bokeh Layout objects. Args: children (list of lists of :class:`~bokeh.m | STRING |
| HIGH | src/bokeh/layouts.py | 232 | Create a grid of plots rendered on separate canvases. The ``gridplot`` function builds a single toolbar for all th | STRING |
| HIGH | src/bokeh/core/enums.py | 214 | Create an |Enumeration| object from a sequence of values. Call ``enumeration`` with a sequence of (unique) strings | STRING |
| HIGH | src/bokeh/core/query.py | 61 | Query a collection of Bokeh models and yield any that match the a selector. Args: objs (Iterable[Model | STRING |
| HIGH | src/bokeh/core/json_encoder.py | 72 | Convert an object or a serialized representation to a JSON string. This function accepts Python-serializable o | STRING |
| HIGH | src/bokeh/core/property/descriptors.py | 242 | Implement the getter for the Python `descriptor protocol`_. For instance attribute access, we delegate to the | STRING |
| HIGH | src/bokeh/core/property/descriptors.py | 482 | Internal implementation of instance attribute access for the ``PropertyDescriptor`` getter. If the val | STRING |
| HIGH | src/bokeh/core/property/wrappers.py | 113 | A decorator for mutating methods of property container classes that notifies owners of the property container about | STRING |
| HIGH | src/bokeh/core/property/bases.py | 286 | Determine whether we can set this property from this value. Validation happens before transform() Arg | STRING |
| HIGH | src/bokeh/core/validation/decorators.py | 101 | Decorator to mark a validator method for a Bokeh error condition Args: code_or_name (int, str or Issue) : | STRING |
| HIGH | src/bokeh/core/validation/decorators.py | 141 | Decorator to mark a validator method for a Bokeh error condition Args: code_or_name (int, str or Issue) : | STRING |
| HIGH | src/bokeh/embed/standalone.py | 85 | Return JavaScript code and a script tag that can be used to embed Bokeh Plots. The data for the plot is stored | STRING |
| HIGH | src/bokeh/embed/standalone.py | 157 | Return HTML components to embed a Bokeh plot. The data for the plot is stored directly in the returned HTML. A | STRING |
| HIGH | src/bokeh/util/strings.py | 64 | Join together sequences of strings into English-friendly phrases using the conjunction ``or`` when appropriate. | STRING |
| HIGH | src/bokeh/util/dependencies.py | 70 | Attempt to import a required dependency. Raises a RuntimeError if the requested module is not available. Args | STRING |
| HIGH | src/bokeh/io/util.py | 74 | Generate a default filename with a given extension, attempting to use the filename of the currently running process | STRING |
| HIGH | src/bokeh/io/notebook.py | 177 | Install a new notebook display hook. Bokeh comes with support for Jupyter notebooks built-in. However, there are | STRING |
| HIGH | src/bokeh/io/notebook.py | 257 | Update Bokeh plots in a Jupyter notebook output cells with new data or property values. When working inside th | STRING |
| HIGH | src/bokeh/io/notebook.py | 349 | Run an installed notebook hook with supplied arguments. Args: notebook_type (str) : Name of an | STRING |
| HIGH | src/bokeh/server/server.py | 494 | Create a ``Server`` instance, applying any relevant ``Server`` settings from the global settings module, if the | STRING |
| HIGH | src/bokeh/server/util.py | 104 | This allowlist can be used to restrict websocket or other connections to only those explicitly originating fro | STRING |
| HIGH | src/bokeh/server/util.py | 167 | Match a host string against a pattern Args: host (str) A hostname to compare to the given patt | STRING |
| HIGH | src/bokeh/models/sources.py | 470 | Efficiently update data source columns with new append-only data. In cases where it is necessary to update dat | STRING |
| HIGH | src/bokeh/models/sources.py | 513 | Internal implementation to efficiently update data source columns with new append-only data. The internal imple | STRING |
| HIGH | src/bokeh/models/sources.py | 631 | Efficiently update data source columns at specific locations If it is only necessary to update a small subset | STRING |
| HIGH | src/bokeh/models/plots.py | 123 | Query this object and all of its references for objects that match the given selector. There are a few | STRING |
| HIGH | src/bokeh/models/widgets/tables.py | 892 | Create a simple table from a pandas dataframe, dictionary or ColumnDataSource. Args: data (DataFra | STRING |
| HIGH | src/bokeh/document/document.py | 597 | Remove a callback added earlier with ``add_next_tick_callback``. Args: callback_obj : a value retu | STRING |
| HIGH | src/bokeh/document/document.py | 627 | Remove a callback added earlier with ``add_periodic_callback`` Args: callback_obj : a value return | STRING |
| HIGH | src/bokeh/document/document.py | 673 | Remove a callback added earlier with ``add_timeout_callback``. Args: callback_obj : a value return | STRING |
| HIGH | src/bokeh/document/callbacks.py | 162 | Internal implementation for adding session callbacks. Args: callback_obj (SessionCallback) : | STRING |
| HIGH | src/bokeh/protocol/message.py | 161 | Creates a new message, assembled from JSON fragments. Args: header_json (``JSON``) : | STRING |
| HIGH | src/bokeh/protocol/message.py | 202 | Associate a buffer header and payload with this message. Args: buffer (Buffer) : a buffer | STRING |
| HIGH | src/bokeh/protocol/message.py | 226 | Add a buffer header and payload that we read from the socket. This differs from add_buffer() because we're val | STRING |
| HIGH | src/bokeh/plotting/graph.py | 43 | Generate a ``GraphRenderer`` from a ``networkx.Graph`` object and networkx layout function. Any keyword | STRING |
| HIGH | src/bokeh/plotting/_renderer.py | 151 | Applies basic cascading logic to deduce properties for a glyph. Args: glyphclass : the typ | STRING |
| HIGH | src/bokeh/plotting/_figure.py | 367 | Generate multiple ``HArea`` renderers for levels stacked left to right. Args: stackers (se | STRING |
| HIGH | src/bokeh/plotting/_figure.py | 409 | Generate multiple ``HBar`` renderers for levels stacked left to right. Args: stackers (seq[str]) : | STRING |
| HIGH | src/bokeh/plotting/_figure.py | 450 | Generate multiple ``Line`` renderers for lines stacked vertically or horizontally. Args: x | STRING |
| HIGH | src/bokeh/plotting/_figure.py | 508 | Generate multiple ``Line`` renderers for lines stacked horizontally. Args: stackers (seq[str]) : a | STRING |
| 11 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/bokeh/core/property/descriptor_factory.py | 0 | return a list of ``propertydescriptor`` instances to install on a class, in order to delegate attribute access to this p | STRING |
| HIGH | src/bokeh/core/property/container.py | 0 | return a list of ``propertydescriptor`` instances to install on a class, in order to delegate attribute access to this p | STRING |
| HIGH | src/bokeh/core/property/dataspec.py | 0 | return a list of ``propertydescriptor`` instances to install on a class, in order to delegate attribute access to this p | STRING |
| HIGH | src/bokeh/core/property/bases.py | 0 | return a list of ``propertydescriptor`` instances to install on a class, in order to delegate attribute access to this p | STRING |
| HIGH | src/bokeh/core/property/constraints.py | 0 | clone this property and allow to override ``default`` and ``help``. | STRING |
| HIGH | src/bokeh/core/property/enum.py | 0 | clone this property and allow to override ``default`` and ``help``. | STRING |
| HIGH | src/bokeh/core/property/bases.py | 0 | clone this property and allow to override ``default`` and ``help``. | STRING |
| HIGH | src/bokeh/server/views/autoload_js_handler.py | 0 | provide a request handler that returns a page displaying a document. | STRING |
| HIGH | src/bokeh/server/views/static_handler.py | 0 | provide a request handler that returns a page displaying a document. | STRING |
| HIGH | src/bokeh/server/views/doc_handler.py | 0 | provide a request handler that returns a page displaying a document. | STRING |
| HIGH | src/bokeh/server/views/session_handler.py | 0 | implements a custom tornado handler for document display page | STRING |
| HIGH | src/bokeh/server/views/doc_handler.py | 0 | implements a custom tornado handler for document display page | STRING |
| HIGH | src/bokeh/server/views/metadata_handler.py | 0 | implements a custom tornado handler for document display page | STRING |
| HIGH | src/bokeh/models/transforms.py | 0 | a mapping of names to python objects. in particular those can be bokeh's models. these objects are made available to the | STRING |
| HIGH | src/bokeh/models/tickers.py | 0 | a mapping of names to python objects. in particular those can be bokeh's models. these objects are made available to the | STRING |
| HIGH | src/bokeh/models/formatters.py | 0 | a mapping of names to python objects. in particular those can be bokeh's models. these objects are made available to the | STRING |
| HIGH | src/bokeh/models/callbacks.py | 0 | a mapping of names to python objects. in particular those can be bokeh's models. these objects are made available to the | STRING |
| HIGH | src/bokeh/models/filters.py | 0 | a mapping of names to python objects. in particular those can be bokeh's models. these objects are made available to the | STRING |
| HIGH | src/bokeh/models/expressions.py | 0 | filter data sources with a custom defined javascript function. .. warning:: the explicit purpose of this bokeh model is | STRING |
| HIGH | src/bokeh/models/callbacks.py | 0 | filter data sources with a custom defined javascript function. .. warning:: the explicit purpose of this bokeh model is | STRING |
| HIGH | src/bokeh/models/filters.py | 0 | filter data sources with a custom defined javascript function. .. warning:: the explicit purpose of this bokeh model is | STRING |
| HIGH | src/bokeh/models/glyphs.py | 0 | the angles to rotate the text, as measured from the horizontal. | STRING |
| HIGH | src/bokeh/models/annotations/labels.py | 0 | the angles to rotate the text, as measured from the horizontal. | STRING |
| HIGH | src/bokeh/models/annotations/html/labels.py | 0 | the angles to rotate the text, as measured from the horizontal. | STRING |
| HIGH | src/bokeh/models/glyphs.py | 0 | offset values to apply to the y-coordinates. this is useful, for instance, if it is desired to "float" text a fixed dist | STRING |
| HIGH | src/bokeh/models/annotations/labels.py | 0 | offset values to apply to the y-coordinates. this is useful, for instance, if it is desired to "float" text a fixed dist | STRING |
| HIGH | src/bokeh/models/annotations/html/labels.py | 0 | offset values to apply to the y-coordinates. this is useful, for instance, if it is desired to "float" text a fixed dist | STRING |
| HIGH | src/bokeh/models/glyphs.py | 0 | extra space between the text of a label and its bounding box (border). .. note:: this property is experimental and may c | STRING |
| HIGH | src/bokeh/models/annotations/labels.py | 0 | extra space between the text of a label and its bounding box (border). .. note:: this property is experimental and may c | STRING |
| HIGH | src/bokeh/models/annotations/html/labels.py | 0 | extra space between the text of a label and its bounding box (border). .. note:: this property is experimental and may c | STRING |
| HIGH | src/bokeh/models/glyphs.py | 0 | allows label's box to have rounded corners. for the best results, it should be used in combination with ``padding``. .. | STRING |
| HIGH | src/bokeh/models/annotations/labels.py | 0 | allows label's box to have rounded corners. for the best results, it should be used in combination with ``padding``. .. | STRING |
| HIGH | src/bokeh/models/annotations/html/labels.py | 0 | allows label's box to have rounded corners. for the best results, it should be used in combination with ``padding``. .. | STRING |
| HIGH | src/bokeh/models/annotations/labels.py | 0 | the unit type for the ``xs`` attribute. interpreted as |data units| by default. | STRING |
| HIGH | src/bokeh/models/annotations/geometry.py | 0 | the unit type for the ``xs`` attribute. interpreted as |data units| by default. | STRING |
| HIGH | src/bokeh/models/annotations/html/labels.py | 0 | the unit type for the ``xs`` attribute. interpreted as |data units| by default. | STRING |
| HIGH | src/bokeh/models/annotations/labels.py | 0 | the unit type for the ``ys`` attribute. interpreted as |data units| by default. | STRING |
| HIGH | src/bokeh/models/annotations/geometry.py | 0 | the unit type for the ``ys`` attribute. interpreted as |data units| by default. | STRING |
| HIGH | src/bokeh/models/annotations/html/labels.py | 0 | the unit type for the ``ys`` attribute. interpreted as |data units| by default. | STRING |
| HIGH | src/bokeh/document/models.py | 0 | args: document (document): a document to manage modules for a weak reference to the document will be retained | STRING |
| HIGH | src/bokeh/document/callbacks.py | 0 | args: document (document): a document to manage modules for a weak reference to the document will be retained | STRING |
| HIGH | src/bokeh/document/modules.py | 0 | args: document (document): a document to manage modules for a weak reference to the document will be retained | STRING |
| HIGH | src/bokeh/protocol/messages/server_info_req.py | 0 | create an ``pull-doc-req`` message any keyword arguments will be put into the message ``metadata`` fragment as-is. | STRING |
| HIGH | src/bokeh/protocol/messages/ack.py | 0 | create an ``pull-doc-req`` message any keyword arguments will be put into the message ``metadata`` fragment as-is. | STRING |
| HIGH | src/bokeh/protocol/messages/pull_doc_req.py | 0 | create an ``pull-doc-req`` message any keyword arguments will be put into the message ``metadata`` fragment as-is. | STRING |
| HIGH | src/bokeh/model/util.py | 0 | provide a base class for all objects (called bokeh models) that can go in a bokeh |document|. | STRING |
| HIGH | src/bokeh/model/docs.py | 0 | provide a base class for all objects (called bokeh models) that can go in a bokeh |document|. | STRING |
| HIGH | src/bokeh/model/model.py | 0 | provide a base class for all objects (called bokeh models) that can go in a bokeh |document|. | STRING |
| HIGH | src/bokeh/model/data_model.py | 0 | provide a base class for all objects (called bokeh models) that can go in a bokeh |document|. | STRING |
| HIGH | src/bokeh/application/application.py | 0 | processes incoming http request returning a dictionary of additional data to add to the session_context. args: request: | STRING |
| HIGH | src/bokeh/application/handlers/handler.py | 0 | processes incoming http request returning a dictionary of additional data to add to the session_context. args: request: | STRING |
| HIGH | src/bokeh/application/handlers/directory.py | 0 | processes incoming http request returning a dictionary of additional data to add to the session_context. args: request: | STRING |
| HIGH | src/bokeh/application/handlers/request_handler.py | 0 | processes incoming http request returning a dictionary of additional data to add to the session_context. args: request: | STRING |
| HIGH | …c/bokeh/application/handlers/server_request_handler.py | 0 | bokeh application handler to look for bokeh server lifecycle callbacks in a specified python module. | STRING |
| HIGH | src/bokeh/application/handlers/request_handler.py | 0 | bokeh application handler to look for bokeh server lifecycle callbacks in a specified python module. | STRING |
| HIGH | src/bokeh/application/handlers/server_lifecycle.py | 0 | bokeh application handler to look for bokeh server lifecycle callbacks in a specified python module. | STRING |
| HIGH | src/bokeh/application/handlers/lifecycle.py | 0 | bokeh application handler to look for bokeh server lifecycle callbacks in a specified python module. | STRING |
| HIGH | …c/bokeh/application/handlers/server_request_handler.py | 0 | if the handler fails, may contain a related error message. | STRING |
| HIGH | src/bokeh/application/handlers/handler.py | 0 | if the handler fails, may contain a related error message. | STRING |
| HIGH | src/bokeh/application/handlers/server_lifecycle.py | 0 | if the handler fails, may contain a related error message. | STRING |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | bokehjs/make/task.ts | 68 | print(`${chalk.red("failed:")} ${msg}`) | CODE |
| HIGH⚡ | bokehjs/src/compiler/build.ts | 72 | print(`${cyan("npm install")} failed with exit code ${red(`${status}`)}.`) | CODE |
| HIGH⚡ | bokehjs/src/compiler/build.ts | 78 | print(`Using nodejs ${magenta(node_version)} and npm ${magenta(npm_version(base_dir))}`) | CODE |
| HIGH⚡ | bokehjs/src/compiler/build.ts | 79 | print(`Working directory: ${cyan(base_dir)}`) | CODE |
| HIGH⚡ | bokehjs/src/compiler/build.ts | 214 | print(`Created empty ${cyan("index.ts")}. This is the entry point of your extension.`) | CODE |
| HIGH⚡ | bokehjs/src/compiler/build.ts | 217 | print(`You can build your extension with ${magenta(`bokeh build ${rel}`)}`) | CODE |
| HIGH⚡ | bokehjs/src/compiler/build.ts | 219 | print("All done.") | CODE |
| HIGH⚡ | bokehjs/src/compiler/build.ts | 260 | print("Using different version of bokeh, rebuilding from scratch.") | CODE |
| HIGH⚡ | bokehjs/src/compiler/build.ts | 270 | print(`${cyan(package_json_path)} doesn't exist. Not a npm package.`) | CODE |
| HIGH⚡ | bokehjs/src/compiler/build.ts | 273 | print(`Running ${cyan("npm install")}.`) | CODE |
| HIGH⚡ | bokehjs/src/compiler/build.ts | 278 | print(`${result} Running ${cyan("npm install")}.`) | CODE |
| HIGH⚡ | bokehjs/src/compiler/build.ts | 355 | print(report_diagnostics(tsconfig2.diagnostics).text) | CODE |
| HIGH⚡ | bokehjs/src/compiler/build.ts | 363 | print(`Compiling TypeScript (${magenta(count_files(files))})`) | CODE |
| HIGH⚡ | bokehjs/src/compiler/build.ts | 370 | print(report_diagnostics(tsoutput.diagnostics).text) | CODE |
| HIGH | bokehjs/src/compiler/build.ts | 51 | print(` ${file}`) | CODE |
| HIGH | bokehjs/src/compiler/build.ts | 139 | print("Already a bokeh extension. Quitting.") | CODE |
| HIGH | bokehjs/src/compiler/build.ts | 145 | print(`Wrote ${cyan(path)}`) | CODE |
| HIGH | bokehjs/src/compiler/build.ts | 184 | print(`${red("Invalid input")}. Assuming no.`) | CODE |
| HIGH | bokehjs/src/compiler/build.ts | 242 | print("Not a bokeh extension. Quitting.") | CODE |
| HIGH | bokehjs/src/compiler/build.ts | 301 | print(`TypeScript lib: ${cyan(tslib_dir)}`) | CODE |
| HIGH | bokehjs/src/compiler/build.ts | 305 | print(`Using ${cyan(tsconfig_path)}`) | CODE |
| HIGH | bokehjs/src/compiler/build.ts | 326 | print(report_diagnostics(tsconfig.diagnostics).text) | CODE |
| HIGH | bokehjs/src/compiler/build.ts | 342 | print(`Compiling styles (${magenta(count_files(styles))})`) | CODE |
| HIGH | bokehjs/src/compiler/build.ts | 393 | print("Linking modules") | CODE |
| HIGH | bokehjs/src/compiler/build.ts | 414 | print(`Failed to license text from ${magenta(license_path)}`) | CODE |
| HIGH | bokehjs/src/compiler/build.ts | 456 | print(`Output written to ${cyan(dist_dir)}`) | CODE |
| HIGH | bokehjs/src/compiler/build.ts | 457 | print("All done.") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | bokehjs/src/lib/models/annotations/toolbar_panel.ts | 48 | this.plot_view.canvas.ui_event_bus.focus.connect(() => { | CODE |
| CRITICAL | bokehjs/src/lib/models/annotations/toolbar_panel.ts | 51 | this.plot_view.canvas.ui_event_bus.blur.connect(() => { | CODE |
| CRITICAL | bokehjs/src/lib/models/graphs/graph_hit_test_policy.ts | 94 | graph_view.edge_view.model.data_source.inspect.emit([graph_view.edge_view.model, {geometry}]) | CODE |
| CRITICAL | bokehjs/src/lib/models/graphs/graph_hit_test_policy.ts | 142 | graph_view.node_view.model.data_source.inspect.emit([graph_view.node_view.model, {geometry}]) | CODE |
| CRITICAL⚡ | bokehjs/src/lib/models/graphs/graph_hit_test_policy.ts | 221 | const node_inspection = graph_view.node_view.model.data_source.selection_manager.get_or_create_inspector(graph_view. | CODE |
| CRITICAL⚡ | bokehjs/src/lib/models/graphs/graph_hit_test_policy.ts | 225 | const edge_inspection = graph_view.edge_view.model.data_source.selection_manager.get_or_create_inspector(graph_view. | CODE |
| CRITICAL⚡ | bokehjs/src/lib/models/graphs/graph_hit_test_policy.ts | 231 | graph_view.node_view.model.data_source.inspect.emit([graph_view.node_view.model, {geometry}]) | CODE |
| CRITICAL⚡ | bokehjs/src/lib/models/graphs/graph_hit_test_policy.ts | 301 | const edge_inspection = graph_view.edge_view.model.data_source.selection_manager.get_or_create_inspector(graph_view. | CODE |
| CRITICAL⚡ | bokehjs/src/lib/models/graphs/graph_hit_test_policy.ts | 305 | const node_inspection = graph_view.node_view.model.data_source.selection_manager.get_or_create_inspector(graph_view. | CODE |
| CRITICAL⚡ | bokehjs/src/lib/models/graphs/graph_hit_test_policy.ts | 311 | graph_view.edge_view.model.data_source.inspect.emit([graph_view.edge_view.model, {geometry}]) | CODE |
| CRITICAL | bokehjs/src/lib/models/graphs/graph_hit_test_policy.ts | 394 | const node_inspection = graph_view.node_view.model.data_source.selection_manager.get_or_create_inspector(graph_view. | CODE |
| CRITICAL | bokehjs/src/lib/models/graphs/graph_hit_test_policy.ts | 404 | graph_view.node_view.model.data_source.inspect.emit([graph_view.node_view.model, {geometry}]) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 130 | except Exception: | CODE |
| LOW | …ts/unit/bokeh/core/property/test_wrappers__property.py | 534 | except Exception: | CODE |
| LOW | …ts/unit/bokeh/core/property/test_wrappers__property.py | 539 | except Exception: | CODE |
| LOW | tests/unit/bokeh/model/test_model.py | 228 | except Exception: | CODE |
| MEDIUM⚡ | tests/unit/bokeh/command/subcommands/test_serve.py | 434 | print("An error occurred: %s", e) | CODE |
| LOW⚡ | tests/unit/bokeh/command/subcommands/test_serve.py | 431 | except Exception as e: | CODE |
| LOW⚡ | tests/unit/bokeh/command/subcommands/test_serve.py | 439 | except Exception: | CODE |
| LOW | tests/unit/bokeh/command/subcommands/test_serve.py | 532 | except Exception: | CODE |
| LOW | tests/support/util/filesystem.py | 67 | except Exception as e: | CODE |
| LOW | release/build.py | 169 | except Exception as e: | CODE |
| LOW | release/credentials.py | 57 | except Exception as e: | CODE |
| LOW | release/remote.py | 72 | except Exception as e: | CODE |
| LOW | examples/server/app/taylor.py | 51 | except Exception as exception: | CODE |
| MEDIUM | examples/server/app/taylor.py | 48 | def update(): | CODE |
| LOW | examples/server/app/server_auth/auth.py | 30 | except Exception: | CODE |
| MEDIUM | examples/server/app/server_auth/auth.py | 27 | def get(self): | CODE |
| LOW | examples/server/app/spectrogram/audio.py | 37 | except Exception: | CODE |
| LOW | src/bokeh/settings.py | 243 | except Exception: | CODE |
| LOW⚡ | src/bokeh/settings.py | 949 | except Exception: | STRING |
| LOW | src/bokeh/settings.py | 929 | except Exception: | STRING |
| LOW | src/bokeh/resources.py | 167 | except Exception as e: | CODE |
| LOW | src/bokeh/core/property/datetime.py | 77 | except Exception: | CODE |
| LOW | src/bokeh/core/property/datetime.py | 117 | except Exception: | CODE |
| LOW | src/bokeh/sphinxext/bokeh_plot.py | 171 | except Exception as e: | CODE |
| LOW | src/bokeh/sphinxext/bokeh_plot.py | 229 | except Exception as e: | CODE |
| LOW | src/bokeh/sphinxext/_internal/bokeh_palette.py | 126 | except Exception as e: | CODE |
| LOW⚡ | src/bokeh/util/browser.py | 128 | except Exception: | CODE |
| LOW | src/bokeh/util/tornado.py | 160 | except Exception: | CODE |
| LOW | src/bokeh/util/info.py | 72 | except Exception: | CODE |
| LOW | src/bokeh/util/dependencies.py | 62 | except Exception: | CODE |
| LOW⚡ | src/bokeh/io/browser.py | 420 | except Exception: | CODE |
| LOW | src/bokeh/io/browser.py | 206 | except Exception: | CODE |
| LOW | src/bokeh/io/browser.py | 213 | except Exception: | CODE |
| LOW | src/bokeh/io/browser.py | 240 | except Exception as e: | CODE |
| LOW | src/bokeh/io/browser.py | 273 | except Exception as e: | CODE |
| LOW | src/bokeh/io/browser.py | 285 | except Exception: | CODE |
| LOW | src/bokeh/io/notebook.py | 115 | except Exception as e: | CODE |
| LOW | src/bokeh/io/notebook.py | 395 | except Exception as e: | CODE |
| LOW⚡ | src/bokeh/io/webdriver.py | 275 | except Exception: | CODE |
| LOW⚡ | src/bokeh/io/webdriver.py | 303 | except Exception: | STRING |
| LOW⚡ | src/bokeh/io/webdriver.py | 309 | except Exception: | STRING |
| LOW⚡ | src/bokeh/server/protocol_handler.py | 95 | except Exception as e: | CODE |
| LOW | src/bokeh/server/server.py | 465 | except Exception: | CODE |
| MEDIUM | src/bokeh/server/contexts.py | 187 | def run_load_hook(self) -> None: | CODE |
| MEDIUM | src/bokeh/server/contexts.py | 193 | def run_unload_hook(self) -> None: | CODE |
| LOW | src/bokeh/server/contexts.py | 190 | except Exception as e: | CODE |
| LOW | src/bokeh/server/contexts.py | 196 | except Exception as e: | CODE |
| LOW | src/bokeh/server/contexts.py | 237 | except Exception as e: | CODE |
| LOW | src/bokeh/server/contexts.py | 296 | except Exception as e: | CODE |
| LOW | src/bokeh/server/views/ws.py | 161 | except Exception as e: | CODE |
| LOW | src/bokeh/server/views/ws.py | 246 | except Exception as e: | CODE |
| LOW | src/bokeh/server/views/ws.py | 260 | except Exception as e: | CODE |
| LOW | src/bokeh/models/plots.py | 977 | except Exception: | STRING |
| LOW | src/bokeh/command/bootstrap.py | 114 | except Exception as e: | CODE |
| LOW⚡ | src/bokeh/application/handlers/code_runner.py | 238 | except Exception as e: | CODE |
| LOW | src/bokeh/application/handlers/document_lifecycle.py | 70 | except Exception as e: | CODE |
| LOW⚡ | src/bokeh/application/handlers/function.py | 144 | except Exception as e: | CODE |
| LOW | src/bokeh/client/connection.py | 291 | except Exception as e: | CODE |
| LOW | src/bokeh/client/connection.py | 343 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_examples.py | 172 | CODE | |
| LOW | tests/unit/bokeh/test_events.py | 63 | CODE | |
| LOW | tests/unit/bokeh/command/subcommands/test_serve.py | 512 | CODE | |
| LOW | tests/support/util/filesystem.py | 79 | CODE | |
| LOW | tests/support/util/examples.py | 152 | CODE | |
| LOW | tests/support/util/compare.py | 47 | CODE | |
| LOW | release/build.py | 177 | CODE | |
| LOW | release/remote.py | 34 | CODE | |
| LOW | release/checks.py | 111 | CODE | |
| LOW | examples/server/app/image_blur.py | 33 | CODE | |
| LOW | examples/server/app/ohlc/main.py | 67 | CODE | |
| LOW | scripts/milestone.py | 284 | CODE | |
| LOW | src/bokeh/layouts.py | 221 | CODE | |
| LOW | src/bokeh/layouts.py | 413 | CODE | |
| LOW | src/bokeh/layouts.py | 605 | CODE | |
| LOW | src/bokeh/layouts.py | 679 | CODE | |
| LOW | src/bokeh/layouts.py | 483 | CODE | |
| LOW | src/bokeh/layouts.py | 498 | CODE | |
| LOW | src/bokeh/core/query.py | 106 | CODE | |
| LOW | src/bokeh/core/has_props.py | 615 | CODE | |
| LOW | src/bokeh/core/serialization.py | 263 | CODE | |
| LOW | src/bokeh/core/property/descriptors.py | 773 | CODE | |
| LOW | src/bokeh/core/property/wrappers.py | 442 | CODE | |
| LOW | src/bokeh/core/property/wrappers.py | 515 | CODE | |
| LOW | src/bokeh/core/property/struct.py | 85 | CODE | |
| LOW | src/bokeh/core/property/bases.py | 335 | CODE | |
| LOW | src/bokeh/sphinxext/_internal/bokeh_sampledata_xref.py | 123 | CODE | |
| LOW | src/bokeh/sphinxext/_internal/bokeh_sampledata_xref.py | 165 | CODE | |
| LOW | src/bokeh/sphinxext/_internal/bokeh_example_metadata.py | 114 | CODE | |
| LOW | src/bokeh/embed/bundle.py | 144 | CODE | |
| LOW | src/bokeh/embed/bundle.py | 217 | CODE | |
| LOW | src/bokeh/embed/bundle.py | 266 | CODE | |
| LOW | src/bokeh/embed/bundle.py | 134 | CODE | |
| LOW | src/bokeh/embed/util.py | 82 | CODE | |
| LOW | src/bokeh/util/package.py | 42 | CODE | |
| LOW | src/bokeh/util/compiler.py | 500 | CODE | |
| LOW | src/bokeh/util/compiler.py | 518 | CODE | |
| LOW | src/bokeh/util/tornado.py | 227 | CODE | |
| LOW | src/bokeh/util/serialization.py | 223 | CODE | |
| LOW | src/bokeh/server/util.py | 103 | CODE | |
| LOW | src/bokeh/server/session.py | 67 | CODE | |
| LOW | src/bokeh/server/session.py | 74 | CODE | |
| LOW | src/bokeh/server/tornado.py | 251 | CODE | |
| LOW | src/bokeh/server/callbacks.py | 206 | CODE | |
| LOW | src/bokeh/models/sources.py | 230 | CODE | |
| LOW | src/bokeh/models/sources.py | 511 | CODE | |
| LOW | src/bokeh/models/sources.py | 630 | CODE | |
| LOW | src/bokeh/models/plots.py | 1000 | CODE | |
| LOW | src/bokeh/models/plots.py | 392 | CODE | |
| LOW | src/bokeh/models/plots.py | 475 | CODE | |
| LOW | src/bokeh/models/renderers/glyph_renderer.py | 167 | CODE | |
| LOW | src/bokeh/models/util/structure.py | 148 | CODE | |
| LOW | src/bokeh/plotting/_tools.py | 167 | CODE | |
| LOW | src/bokeh/plotting/_tools.py | 198 | CODE | |
| LOW | src/bokeh/plotting/_renderer.py | 150 | CODE | |
| LOW | src/bokeh/plotting/_renderer.py | 283 | CODE | |
| LOW | src/bokeh/plotting/_plot.py | 78 | CODE | |
| LOW | src/bokeh/plotting/_plot.py | 147 | CODE | |
| LOW | src/bokeh/model/util.py | 191 | CODE | |
| LOW | src/bokeh/command/util.py | 76 | CODE | |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/examples.yaml | 28 | "spectrogram", # Custom models not working in CI test harness | CODE |
| MEDIUM | …s/src/lib/models/formatters/datetime_tick_formatter.ts | 321 | // For repeating labels only utilize the first entry | COMMENT |
| MEDIUM | …/src/lib/models/formatters/timedelta_tick_formatter.ts | 294 | // For repeating labels only utilize the first entry | COMMENT |
| MEDIUM | .github/workflows/bokeh-ci.yml | 249 | # and included examples can utilize newest available syntax and standard APIs. | COMMENT |
| MEDIUM | .github/workflows/bokeh-ci-full.yml | 18 | cancel-in-progress: false # Don't cancel comprehensive tests | CODE |
| LOW⚡ | src/bokeh/sphinxext/_internal/util.py | 42 | # if BOKEH_DOCS_CDN is unset just use default CDN resources | COMMENT |
| LOW⚡ | src/bokeh/sphinxext/_internal/bokeh_example_metadata.py | 134 | # just use class role as-is for anything else | COMMENT |
| LOW | src/bokeh/embed/util.py | 165 | # we are using all the roots of a single doc, just use doc as-is | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | release/build.py | 138 | def update_package_json(content: dict[str, Any]) -> None: | CODE |
| LOW | release/build.py | 141 | def update_package_lock_json(content: dict[str, Any]) -> None: | CODE |
| LOW | src/bokeh/settings.py | 491 | def set_value(self, value: str | T) -> None: | CODE |
| LOW | src/bokeh/core/has_props.py | 427 | def set_from_json(self, name: str, value: Any, *, setter: Setter | None = None) -> None: | CODE |
| LOW | src/bokeh/core/property/descriptors.py | 540 | def _set_value(self, obj: HasProps, value: Any) -> None: | STRING |
| LOW | src/bokeh/embed/util.py | 431 | def _set_temp_theme(doc: Document, apply_theme: Theme | type[FromCurdoc] | None) -> None: | STRING |
| LOW | src/bokeh/util/callback_manager.py | 117 | def _update_event_callbacks(self) -> None: | CODE |
| LOW | src/bokeh/util/compiler.py | 277 | def set_cache_hook(hook: Callable[[CustomModel, Implementation], AttrDict | None]) -> None: | CODE |
| LOW | src/bokeh/io/doc.py | 85 | def set_curdoc(doc: Document) -> None: | CODE |
| LOW | src/bokeh/server/contexts.py | 107 | def _set_session(self, session: ServerSession) -> None: | CODE |
| LOW | src/bokeh/models/layouts.py | 284 | def _set_background(self, color: ColorLike) -> None: | STRING |
| LOW | src/bokeh/models/renderers/contour_renderer.py | 71 | def set_data(self, data: ContourData) -> None: | STRING |
| LOW | src/bokeh/document/models.py | 257 | def update_name(self, model: Model, old_name: str | None, new_name: str | None) -> None: | CODE |
| LOW | src/bokeh/document/document.py | 738 | def set_select(self, selector: SelectorType | type[Model], updates: dict[str, Any]) -> None: | STRING |
| LOW | src/bokeh/document/document.py | 759 | def set_title(self, title: str, setter: Setter | None = None) -> None: | STRING |
| LOW | src/bokeh/model/model.py | 539 | def set_select(self, selector: type[Model] | SelectorType, updates: dict[str, Any]) -> None: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bokehjs/test/unit/models/sources/ajax_data_source.ts | 177 | const source = new AjaxDataSource({data_url: "/ajax/dummy_data", polling_interval: 100, if_modified: true}) | CODE |
| LOW | bokehjs/test/devtools/server.ts | 93 | app.post("/ajax/dummy_data", async (_req, res) => { | CODE |
| LOW | bokehjs/src/lib/core/dom.ts | 198 | placeholder: HTMLInputElement["placeholder"] | CODE |
| LOW⚡ | examples/server/app/faces/templates/index.html | 28 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dol | CODE |
| LOW⚡ | examples/server/app/faces/templates/index.html | 28 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dol | CODE |
| LOW⚡ | examples/server/app/faces/templates/index.html | 31 | Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam re | CODE |
| LOW⚡ | examples/server/app/faces/templates/index.html | 31 | Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam re | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | bokehjs/src/lib/core/util/svg.ts | 363 | globalCompositeOperation: GlobalCompositeOperation // TODO: implement | CODE |
| LOW⚡ | bokehjs/src/lib/core/util/svg.ts | 370 | filter: string // TODO: implement | CODE |
| LOW⚡ | bokehjs/src/lib/core/util/svg.ts | 371 | imageSmoothingEnabled: boolean // TODO: implement | CODE |
| LOW⚡ | bokehjs/src/lib/core/util/svg.ts | 372 | imageSmoothingQuality: ImageSmoothingQuality // TODO: implement | CODE |
| LOW | bokehjs/src/lib/core/serialization/deserializer.ts | 149 | this.error(`can't resolve named symbol '${obj.name}'`) // TODO: implement symbol resolution | CODE |
| LOW | src/bokeh/core/serialization.py | 593 | self.error(f"can't resolve named symbol '{name}'") # TODO: implement symbol resolution | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/unit/bokeh/test_typing.py | 10 | # This file is meant only for type-checking with mypy. Thus "test" functions | COMMENT |
| MEDIUM | examples/models/dateaxis.py | 15 | # Create an array of synthetic times, starting at the current time, and extending 24hrs | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/bokeh/events.py | 621 | CODE | |
| LOW | src/bokeh/resources.py | 307 | CODE | |
| LOW | src/bokeh/core/property/datetime.py | 169 | CODE | |
| LOW | src/bokeh/io/export.py | 75 | CODE | |
| LOW | src/bokeh/io/export.py | 314 | CODE | |
| LOW | src/bokeh/server/server.py | 477 | CODE | |
| LOW | src/bokeh/server/tornado.py | 251 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/support/plugins/bokeh_server.py | 83 | def helper() -> Any: | CODE |
| LOW | tests/support/plugins/jupyter_notebook.py | 148 | def helper() -> Any: | STRING |
| LOW | examples/server/app/gapminder/data.py | 4 | def process_data(): | CODE |
| LOW | scripts/milestone.py | 89 | def helper(cursor=None): | CODE |
| LOW | scripts/milestone.py | 205 | def helper(kind, cursor=None): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/interaction/tools/toolbar_autohide.py | 17 | # Set autohide to true to only show the toolbar when mouse is over plot | COMMENT |
| LOW | .github/workflows/bokeh-ci-full.yml | 358 | # Check if any dependency jobs were cancelled | COMMENT |