https://github.com/bokeh/bokeh
· scanned 2026-06-05 18:21 UTC (4 days, 19 hours ago)
· 10 languages
833 raw signals (59 security + 774 graph) 11/13 scanners ran 35th percentile · Typescript · medium (20-100K LoC)
Last scanned 4 days, 19 hours ago · v2 · 364 actionable findings from 2 signal sources. 82 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
85.0 | 0.15 | 12.75 |
security_score |
100.0 | 0.25 | 25.00 |
testing_score |
0.0 | 0.20 | 0.00 |
documentation_score |
60.0 | 0.15 | 9.00 |
practices_score |
72.0 | 0.15 | 10.80 |
code_quality |
80.0 | 0.10 | 8.00 |
| Overall | 1.00 | 65.5 |
All 12007 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
bright |
software | healthy | setup.py:28 |
dim |
software | healthy | setup.py:29 |
red |
software | healthy | setup.py:30 |
green |
software | healthy | setup.py:31 |
yellow |
software | healthy | setup.py:32 |
_plain |
software | healthy | setup.py:34 |
build_js |
software | healthy | setup.py:48 |
install_js |
software | healthy | setup.py:80 |
build_or_install_bokehjs |
software | healthy | setup.py:109 |
check_tags |
software | healthy | setup.py:124 |
die |
software | healthy | setup.py:133 |
run |
software | healthy | setup.py:172 |
pytest_addoption |
software | healthy | tests/conftest.py:31 |
pandas_constructor |
software | healthy | tests/conftest.py:54 |
pandas_nullable_constructor |
software | healthy | tests/conftest.py:58 |
pandas_pyarrow_constructor |
software | healthy | tests/conftest.py:62 |
polars_eager_constructor |
software | healthy | tests/conftest.py:66 |
pyarrow_table_constructor |
software | healthy | tests/conftest.py:71 |
constructor |
software | healthy | tests/conftest.py:90 |
get_all_examples |
software | healthy | tests/test_examples.py:76 |
pytest_generate_tests |
software | healthy | tests/test_examples.py:87 |
marks |
software | healthy | tests/test_examples.py:92 |
report |
software | healthy | tests/test_examples.py:118 |
test_file_examples |
software | healthy | tests/test_examples.py:152 |
test_server_examples |
software | healthy | tests/test_examples.py:177 |
_print_webengine_output |
software | healthy | tests/test_examples.py:203 |
_run_in_browser |
software | healthy | tests/test_examples.py:224 |
_run_example |
software | healthy | tests/test_examples.py:253 |
alarm_handler |
software | healthy | tests/test_examples.py:287 |
pytest_generate_tests |
software | healthy | tests/test_cross.py:53 |
test_cross |
software | healthy | tests/test_cross.py:65 |
_run_test_case |
software | healthy | tests/test_cross.py:99 |
alarm_handler |
software | healthy | tests/test_cross.py:151 |
git |
software | healthy | tests/test_cross.py:179 |
load_baseline |
software | healthy | tests/test_cross.py:186 |
diff_baseline |
software | healthy | tests/test_cross.py:190 |
test_defaults |
software | healthy | tests/test_defaults.py:35 |
git |
software | healthy | tests/test_defaults.py:54 |
diff_baseline |
software | healthy | tests/test_defaults.py:61 |
test_bokehjs |
software | healthy | tests/test_bokehjs.py:32 |
fig |
software | healthy | tests/cross/cases/regressions/issue_8766.py:8 |
test_main |
software | healthy | tests/unit/bokeh/test___main__.py:43 |
test_minimal_connect_and_disconnect |
software | healthy | tests/unit/bokeh/test_client_server.py:90 |
test_disconnect_on_error |
software | healthy | tests/unit/bokeh/test_client_server.py:102 |
test_connect_with_prefix |
software | healthy | tests/unit/bokeh/test_client_server.py:120 |
check_http_gets_fail |
software | healthy | tests/unit/bokeh/test_client_server.py:140 |
check_connect_session_fails |
software | healthy | tests/unit/bokeh/test_client_server.py:146 |
check_http_gets |
software | healthy | tests/unit/bokeh/test_client_server.py:154 |
check_connect_session |
software | healthy | tests/unit/bokeh/test_client_server.py:158 |
check_http_ok_socket_ok |
software | healthy | tests/unit/bokeh/test_client_server.py:165 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
Build |
software | healthy | setup.py:159 |
EditableWheel |
software | healthy | setup.py:165 |
Sdist |
software | healthy | setup.py:171 |
Timeout |
software | healthy | tests/test_examples.py:283 |
Timeout |
software | healthy | tests/test_cross.py:147 |
TestDefaults |
software | healthy | tests/test_defaults.py:34 |
TestBokehJS |
software | healthy | tests/test_bokehjs.py:31 |
BorderRadiusTD |
software | healthy | tests/cross/cases/regressions/issue_13637.py:18 |
BorderRadiusNT |
software | healthy | tests/cross/cases/regressions/issue_13637.py:24 |
AnotherModelInTestClientServer |
software | healthy | tests/unit/bokeh/test_client_server.py:70 |
SomeModelInTestClientServer |
software | healthy | tests/unit/bokeh/test_client_server.py:73 |
DictModel |
software | healthy | tests/unit/bokeh/test_client_server.py:79 |
UnitsSpecModel |
software | healthy | tests/unit/bokeh/test_client_server.py:82 |
TestClientServer |
software | healthy | tests/unit/bokeh/test_client_server.py:89 |
TestSettings |
software | healthy | tests/unit/bokeh/test_settings.py:80 |
TestConverters |
software | healthy | tests/unit/bokeh/test_settings.py:137 |
TestPrioritizedSetting |
software | healthy | tests/unit/bokeh/test_settings.py:202 |
FakeSettings |
software | healthy | tests/unit/bokeh/test_settings.py:333 |
TestDefaults |
software | healthy | tests/unit/bokeh/test_settings.py:346 |
Test_cumsum |
software | healthy | tests/unit/bokeh/test_transform.py:64 |
Test_dodge |
software | healthy | tests/unit/bokeh/test_transform.py:80 |
Test_eqhist_cmap |
software | healthy | tests/unit/bokeh/test_transform.py:100 |
Test_factor_cmap |
software | healthy | tests/unit/bokeh/test_transform.py:126 |
Test_factor_hatch |
software | healthy | tests/unit/bokeh/test_transform.py:150 |
Test_factor_mark |
software | healthy | tests/unit/bokeh/test_transform.py:172 |
Test_jitter |
software | healthy | tests/unit/bokeh/test_transform.py:194 |
Test_linear_cmap |
software | healthy | tests/unit/bokeh/test_transform.py:228 |
Test_log_cmap |
software | healthy | tests/unit/bokeh/test_transform.py:254 |
Test_stack |
software | healthy | tests/unit/bokeh/test_transform.py:280 |
Test_transform |
software | healthy | tests/unit/bokeh/test_transform.py:288 |
Test01 |
software | healthy | tests/unit/bokeh/test_regressions.py:40 |
TestModelCls |
software | healthy | tests/unit/bokeh/test_objects.py:110 |
Test_Class |
software | healthy | tests/unit/bokeh/test_objects.py:112 |
SomeModel |
software | healthy | tests/unit/bokeh/test_objects.py:129 |
DeepModel |
software | healthy | tests/unit/bokeh/test_objects.py:132 |
TestCollectModels |
software | healthy | tests/unit/bokeh/test_objects.py:136 |
SomeModelToJson |
software | healthy | tests/unit/bokeh/test_objects.py:155 |
TestModel |
software | healthy | tests/unit/bokeh/test_objects.py:162 |
T |
software | healthy | tests/unit/bokeh/test_objects.py:199 |
Y |
software | healthy | tests/unit/bokeh/test_objects.py:202 |
Z1 |
software | healthy | tests/unit/bokeh/test_objects.py:205 |
Z2 |
software | healthy | tests/unit/bokeh/test_objects.py:208 |
X1 |
software | healthy | tests/unit/bokeh/test_objects.py:211 |
X2 |
software | healthy | tests/unit/bokeh/test_objects.py:215 |
U |
software | healthy | tests/unit/bokeh/test_objects.py:244 |
V |
software | healthy | tests/unit/bokeh/test_objects.py:247 |
HasListDefault |
software | healthy | tests/unit/bokeh/test_objects.py:260 |
HasDictDefault |
software | healthy | tests/unit/bokeh/test_objects.py:276 |
HasFuncDefaultInt |
software | healthy | tests/unit/bokeh/test_objects.py:299 |
HasFuncDefaultModel |
software | healthy | tests/unit/bokeh/test_objects.py:311 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
.pre-commit-config.yaml |
software | healthy | .pre-commit-config.yaml |
setup.py |
software | healthy | setup.py |
pyproject.toml |
software | healthy | pyproject.toml |
__init__.py |
software | healthy | tests/__init__.py |
conftest.py |
software | healthy | tests/conftest.py |
examples.yaml |
software | healthy | tests/examples.yaml |
test_examples.py |
software | healthy | tests/test_examples.py |
test_cross.py |
software | healthy | tests/test_cross.py |
test_defaults.py |
software | healthy | tests/test_defaults.py |
test_bokehjs.py |
software | healthy | tests/test_bokehjs.py |
issue_13660.py |
software | warning | tests/cross/cases/regressions/issue_13660.py |
issue_11694.py |
software | warning | tests/cross/cases/regressions/issue_11694.py |
issue_13637.py |
software | healthy | tests/cross/cases/regressions/issue_13637.py |
issue_13134.py |
software | warning | tests/cross/cases/regressions/issue_13134.py |
issue_13964.py |
software | warning | tests/cross/cases/regressions/issue_13964.py |
issue_13637_empty_map.py |
software | warning | tests/cross/cases/regressions/issue_13637_empty_map.py |
issue_11930.py |
software | warning | tests/cross/cases/regressions/issue_11930.py |
issue_8766.py |
software | healthy | tests/cross/cases/regressions/issue_8766.py |
test___main__.py |
software | healthy | tests/unit/bokeh/test___main__.py |
test_client_server.py |
software | healthy | tests/unit/bokeh/test_client_server.py |
test_settings.py |
software | healthy | tests/unit/bokeh/test_settings.py |
test_layouts.py |
software | healthy | tests/unit/bokeh/test_layouts.py |
test_transform.py |
software | healthy | tests/unit/bokeh/test_transform.py |
test_driving.py |
software | healthy | tests/unit/bokeh/test_driving.py |
test_regressions.py |
software | healthy | tests/unit/bokeh/test_regressions.py |
test_objects.py |
software | healthy | tests/unit/bokeh/test_objects.py |
test_resources.py |
software | healthy | tests/unit/bokeh/test_resources.py |
test_ext.py |
software | healthy | tests/unit/bokeh/test_ext.py |
test_themes.py |
software | healthy | tests/unit/bokeh/test_themes.py |
test_server.py |
software | healthy | tests/unit/bokeh/test_server.py |
test_events.py |
software | healthy | tests/unit/bokeh/test_events.py |
test_typing.py |
software | healthy | tests/unit/bokeh/test_typing.py |
test___init__.py |
software | healthy | tests/unit/bokeh/test___init__.py |
test_palettes.py |
software | healthy | tests/unit/bokeh/test_palettes.py |
test_layouts__typing.py |
software | healthy | tests/unit/bokeh/test_layouts__typing.py |
test_websocket.py |
software | healthy | tests/unit/bokeh/client/test_websocket.py |
test_connection.py |
software | healthy | tests/unit/bokeh/client/test_connection.py |
test_session__client.py |
software | healthy | tests/unit/bokeh/client/test_session__client.py |
test_util__client.py |
software | healthy | tests/unit/bokeh/client/test_util__client.py |
test___init___client.py |
software | warning | tests/unit/bokeh/client/test___init___client.py |
test_states.py |
software | healthy | tests/unit/bokeh/client/test_states.py |
test_glyphs.py |
software | healthy | tests/unit/bokeh/models/test_glyphs.py |
test_ranges.py |
software | healthy | tests/unit/bokeh/models/test_ranges.py |
test_grids.py |
software | healthy | tests/unit/bokeh/models/test_grids.py |
test_glyph_renderer.py |
software | healthy | tests/unit/bokeh/models/test_glyph_renderer.py |
_util_models.py |
software | healthy | tests/unit/bokeh/models/_util_models.py |
test_mappers.py |
software | healthy | tests/unit/bokeh/models/test_mappers.py |
test_formatters.py |
software | healthy | tests/unit/bokeh/models/test_formatters.py |
test_transforms.py |
software | healthy | tests/unit/bokeh/models/test_transforms.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
cross |
software | healthy | tests/cross |
cases |
software | healthy | tests/cross/cases |
regressions |
software | healthy | tests/cross/cases/regressions |
unit |
software | healthy | tests/unit |
bokeh |
software | healthy | tests/unit/bokeh |
client |
software | healthy | tests/unit/bokeh/client |
models |
software | healthy | tests/unit/bokeh/models |
util |
software | healthy | tests/unit/bokeh/models/util |
widgets |
software | healthy | tests/unit/bokeh/models/widgets |
document |
software | healthy | tests/unit/bokeh/document |
util |
software | healthy | tests/unit/bokeh/util |
colors |
software | healthy | tests/unit/bokeh/colors |
embed |
software | healthy | tests/unit/bokeh/embed |
latex_label |
software | healthy | tests/unit/bokeh/embed/latex_label |
ext_package_no_main |
software | healthy | tests/unit/bokeh/embed/ext_package_no_main |
_testing |
software | healthy | tests/unit/bokeh/_testing |
util |
software | healthy | tests/unit/bokeh/_testing/util |
io |
software | healthy | tests/unit/bokeh/io |
server |
software | healthy | tests/unit/bokeh/server |
views |
software | healthy | tests/unit/bokeh/server/views |
core |
software | healthy | tests/unit/bokeh/core |
property |
software | healthy | tests/unit/bokeh/core/property |
application |
software | healthy | tests/unit/bokeh/application |
handlers |
software | healthy | tests/unit/bokeh/application/handlers |
protocol |
software | healthy | tests/unit/bokeh/protocol |
messages |
software | healthy | tests/unit/bokeh/protocol/messages |
model |
software | healthy | tests/unit/bokeh/model |
plotting |
software | healthy | tests/unit/bokeh/plotting |
command |
software | healthy | tests/unit/bokeh/command |
subcommands |
software | healthy | tests/unit/bokeh/command/subcommands |
apps |
software | healthy | tests/unit/bokeh/command/subcommands/apps |
codebase |
software | healthy | tests/codebase |
support |
software | healthy | tests/support |
util |
software | healthy | tests/support/util |
plugins |
software | healthy | tests/support/plugins |
docs |
software | healthy | docs |
bokeh |
software | healthy | docs/bokeh |
source |
software | healthy | docs/bokeh/source |
docs |
software | healthy | docs/bokeh/source/docs |
first_steps |
software | healthy | docs/bokeh/source/docs/first_steps |
examples |
software | healthy | docs/bokeh/source/docs/first_steps/examples |
_templates |
software | healthy | docs/bokeh/source/_templates |
sections |
software | healthy | docs/bokeh/source/_templates/sections |
_static |
software | healthy | docs/bokeh/source/_static |
scripts |
software | healthy | scripts |
hooks |
software | healthy | scripts/hooks |
ci |
software | healthy | scripts/ci |
bokehjs |
software | healthy | bokehjs |
test |
software | healthy | bokehjs/test |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
build |
cicd | healthy | .github/workflows/bokeh-ci-full.yml |
codebase |
cicd | healthy | .github/workflows/bokeh-ci-full.yml |
typing |
cicd | healthy | .github/workflows/bokeh-ci-full.yml |
examples |
cicd | healthy | .github/workflows/bokeh-ci-full.yml |
unit-test |
cicd | healthy | .github/workflows/bokeh-ci-full.yml |
minimal-deps |
cicd | healthy | .github/workflows/bokeh-ci-full.yml |
core-deps |
cicd | healthy | .github/workflows/bokeh-ci-full.yml |
documentation |
cicd | healthy | .github/workflows/bokeh-ci-full.yml |
notify-nightly-failure |
cicd | healthy | .github/workflows/bokeh-ci-full.yml |
notify-pr |
cicd | healthy | .github/workflows/bokeh-ci-full.yml |
analyze |
cicd | healthy | .github/workflows/codeql-analysis.yml |
deploy |
cicd | healthy | .github/workflows/bokeh-release-deploy.yml |
test |
cicd | healthy | .github/workflows/bokehjs-ci.yml |
build |
cicd | healthy | .github/workflows/bokeh-release-build.yml |
action |
cicd | healthy | .github/workflows/lock-threads.yml |
test |
cicd | healthy | .github/workflows/bokehjs-test-chromium.yml |
build |
cicd | healthy | .github/workflows/downstream.yml |
downstream |
cicd | healthy | .github/workflows/downstream.yml |
build |
cicd | healthy | .github/workflows/bokeh-ci.yml |
codebase |
cicd | healthy | .github/workflows/bokeh-ci.yml |
typing |
cicd | healthy | .github/workflows/bokeh-ci.yml |
examples |
cicd | healthy | .github/workflows/bokeh-ci.yml |
unit-test |
cicd | healthy | .github/workflows/bokeh-ci.yml |
minimal-deps |
cicd | healthy | .github/workflows/bokeh-ci.yml |
core-deps |
cicd | healthy | .github/workflows/bokeh-ci.yml |
documentation |
cicd | healthy | .github/workflows/bokeh-ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::bokeh-ci-full |
cicd | healthy | .github/workflows/bokeh-ci-full.yml |
gha::codeql-analysis |
cicd | healthy | .github/workflows/codeql-analysis.yml |
gha::bokeh-release-deploy |
cicd | healthy | .github/workflows/bokeh-release-deploy.yml |
gha::bokehjs-ci |
cicd | healthy | .github/workflows/bokehjs-ci.yml |
gha::bokeh-release-build |
cicd | healthy | .github/workflows/bokeh-release-build.yml |
gha::lock-threads |
cicd | healthy | .github/workflows/lock-threads.yml |
gha::bokehjs-test-chromium |
cicd | healthy | .github/workflows/bokehjs-test-chromium.yml |
gha::downstream |
cicd | healthy | .github/workflows/downstream.yml |
gha::bokeh-ci |
cicd | healthy | .github/workflows/bokeh-ci.yml |
gha::action |
cicd | healthy | .github/workflows/composite/run-unit-tests/action.yml |
gha::action |
cicd | healthy | .github/workflows/composite/install-chromium/action.yml |
gha::action |
cicd | healthy | .github/workflows/composite/test-setup/action.yml |
gha::action |
cicd | healthy | .github/workflows/composite/run-deps-tests/action.yml |
gha::action |
cicd | healthy | .github/workflows/composite/list-software/action.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
port:1234 |
network | healthy | tests/unit/bokeh/test_server.py |
port:5009 |
network | healthy | docs/bokeh/docserver.py |
port:5877 |
network | healthy | bokehjs/test/unit/client/connection.ts |
port:9222 |
network | healthy | bokehjs/make/tasks/test.ts |
port:5777 |
network | healthy | bokehjs/make/tasks/test.ts |
port:8000 |
network | healthy | examples/server/api/flask_embed.py |
port:5151 |
network | healthy | examples/server/api/iframe_embed/main.py |
port:8080 |
network | healthy | examples/output/apis/autoload_static.py |
port:8878 |
network | healthy | examples/output/apis/autoload_static_flask.py |
port:19 |
network | healthy | .github/ISSUE_TEMPLATE/bug_report.yml |
port:20 |
network | healthy | .github/ISSUE_TEMPLATE/bug_report.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
ANY / |
api | healthy | docs/bokeh/docserver.py |
ANY /en/switcher.json |
api | healthy | docs/bokeh/docserver.py |
ANY /en/latest/<path:filename> |
api | healthy | docs/bokeh/docserver.py |
ANY /plot |
api | healthy | examples/output/apis/json_item_themed.py |
ANY /plot2 |
api | healthy | examples/output/apis/json_item_themed.py |
ANY /plot.html |
api | healthy | examples/output/apis/autoload_static_flask.py |
ANY /plot.js |
api | healthy | examples/output/apis/autoload_static_flask.py |
ANY /batch/<int:batchid> |
api | healthy | examples/output/apis/server_document/flask_server.py |
| Label | Layer | Status | Path |
|---|---|---|---|
AWS_SECRET_ACCESS_KEY |
cicd | healthy | — |
AWS_ACCESS_KEY_ID |
cicd | healthy | — |
GH_TOKEN |
cicd | healthy | — |
ANACONDA_TOKEN |
cicd | healthy | — |
GOOGLE_API_KEY |
cicd | healthy | — |
PYPI_TOKEN |
cicd | healthy | — |
SLACK_BUILD_RELEASE_TOKEN |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | tests/unit/bokeh/server/test_util.py |
192.168.0.1 |
network | healthy | tests/unit/bokeh/server/test_util.py |
192.168.1.1 |
network | healthy | tests/unit/bokeh/server/test_util.py |
192.168.0.2 |
network | healthy | tests/unit/bokeh/server/test_util.py |
8.8.8.8 |
network | healthy | tests/unit/bokeh/command/subcommands/test_serve.py |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::.github/workflows/bokeh-release-deploy.yml |
security | healthy | .github/workflows/bokeh-release-deploy.yml |
auth::src/bokeh/server/session.py |
security | healthy | src/bokeh/server/session.py |
auth::src/bokeh/util/token.py |
security | healthy | src/bokeh/util/token.py |
auth::src/bokeh/client/session.py |
security | healthy | src/bokeh/client/session.py |
auth::examples/server/app/server_auth/auth.py |
security | healthy | examples/server/app/server_auth/auth.py |
| Label | Layer | Status | Path |
|---|---|---|---|
nginx |
network | healthy | src/bokeh/server/tornado.py |
loadbalancer |
network | healthy | src/bokeh/server/server.py |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::azure |
hardware | healthy | tests/unit/bokeh/colors/test_named.py |
vps::aws |
hardware | healthy | release/deploy.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-1ytyogs6 |
software | healthy | /tmp/repobility-clone-1ytyogs6 |
| Label | Layer | Status | Path |
|---|---|---|---|
mongodb |
data | healthy | src/bokeh/core/query.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | bokehjs/src/lib/models/glyphs/webgl/buffer.ts |
This page is publicly accessible at:
https://repobility.com/scan/dea5f77f-2879-485d-a7be-73ece6e6b077/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/dea5f77f-2879-485d-a7be-73ece6e6b077/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.