Repository Analysis

keplergl/kepler.gl

Kepler.gl is a powerful open source geospatial analysis tool for large-scale data sets.

1.6 Likely human-written View on GitHub
1.6
Adjusted Score
1.6
Raw Score
100%
Time Factor
2026-05-29
Last Push
11,841
Stars
TypeScript
Language
249,751
Lines of Code
1378
Files
354
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 4MEDIUM 6LOW 344

Pattern Findings

354 matches across 8 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers305 hits · 312 pts
SeverityFileLineSnippet
LOWtest/node/reducers/vis-state-test.js2787function testSetFilterDynamicDomainGPU(t, setFilter) {
LOWtest/node/reducers/vis-state-test.js6133function mockStateWithFilterAndIntervalBasedAnimationLayer() {
LOWtest/helpers/mock-state.js145function mockStateWithLayerCustomColorBreaksLegends() {
LOWtest/helpers/mock-state.js205function mockStateWithSyncedTimeFilter() {
LOWtest/helpers/mock-state.js319export function mockStateWithArcNeighbors(state) {
LOWtest/helpers/mock-state.js372function mockStateWithMultiFilters() {
LOWtest/helpers/mock-state.js556export function mockStateWithLayerDimensions(state) {
LOWtest/helpers/mock-state.js626function mockStateWithCustomMapStyle(customType = 'LOCAL') {
LOWtest/helpers/mock-state.js693function mockStateWithTooltipFormat() {
LOWtest/helpers/mock-state.js724function mockStateWithGeocoderDataset() {
LOWtest/helpers/mock-state.js770function mockStateWithLayerStyling() {
LOWtest/helpers/mock-state.js1225export function stateWithTimeFilterAndTripLayer() {
LOWtest/helpers/mock-state.js1231export function stateWithTimeFilterSyncedWithTripLayer() {
LOWtest/helpers/component-utils.js33export function mockHTMLElementClientSize(prop, value) {
LOWtest/helpers/mock-state-utils.js39export function applyExistingDatasetTasks(reducer, initialState) {
LOWtest/helpers/layer-utils.js51export function testCreateLayerFromConfig(t, tc, LayerClasses = KeplerLayerClasses) {
LOWexamples/demo-app/src/actions.js40export function loadRemoteResourceSuccess(response, config, options, remoteDatasetConfig) {
LOWexamples/demo-app/src/actions.js50export function loadRemoteDatasetProcessedSuccessAction(result) {
LOW…/src/cloud-providers/foursquare/foursquare-provider.js57function extractMapFromFSQResponse(response) {
LOWexamples/demo-app/src/reducers/index.js128async function loadRemoteResourceSuccessTask({
LOWbindings/python/keplergl/serializers.py106def _serialize_dataframe_arrow(df: pd.DataFrame, name: str) -> dict:
LOWbindings/python/keplergl/_html_export.py110def _serialize_datasets_for_html(data: dict, json_encoder=str) -> str:
LOWbindings/python/tests/test_serializers.py330 def test_serialize_dataframe_arrow_default_off(self, sample_df):
LOWbindings/python/tests/test_serializers.py337 def test_serialize_geodataframe_ignores_use_arrow(self, sample_gdf):
LOWbindings/python/tests/test_serializers.py346 def test_serialize_unsupported_type(self):
LOWbindings/python/tests/test_serializers.py351 def test_serialize_empty_dataframe(self):
LOWbindings/python/tests/test_serializers.py359 def test_serialize_single_row_dataframe(self):
LOWbindings/python/tests/test_serializers.py366 def test_serialize_dataframe_with_various_dtypes(self):
LOWbindings/python/tests/test_serializers.py23 def test_serialize_dataframe_with_cities(self):
LOWbindings/python/tests/test_serializers.py39 def test_serialize_dataframe_with_hex_data(self):
LOWbindings/python/tests/test_serializers.py56 def test_serialize_dataframe_with_nan_filled(self):
LOWbindings/python/tests/test_serializers.py71 def test_serialize_geodataframe(self, sample_gdf):
LOWbindings/python/tests/test_serializers.py77 def test_serialize_geodataframe_with_timestamp(self):
LOWbindings/python/tests/test_serializers.py99 def test_serialize_geodataframe_points_from_xy(self):
LOWbindings/python/tests/test_serializers.py116 def test_serialize_geodataframe_with_polygons(self):
LOWbindings/python/tests/test_serializers.py132 def test_serialize_geodataframe_with_crs(self):
LOWbindings/python/tests/test_serializers.py143 def test_serialize_empty_geodataframe(self):
LOWbindings/python/tests/test_serializers.py154 def test_serialize_all_null_geometry_geodataframe(self):
LOWbindings/python/tests/test_serializers.py169 def test_serialize_geojson_dict(self):
LOWbindings/python/tests/test_serializers.py176 def test_serialize_geojson_feature_collection(self):
LOWbindings/python/tests/test_serializers.py199 def test_serialize_geojson_string(self):
LOWbindings/python/tests/test_serializers.py216 def test_serialize_geojson_polygon(self):
LOWbindings/python/tests/test_serializers.py242 def test_serialize_csv_multirow(self):
LOWbindings/python/tests/test_serializers.py254 def test_serialize_dataframe_arrow(self, sample_df):
LOWbindings/python/tests/test_serializers.py261 def test_serialize_dataframe_arrow_roundtrip(self, sample_df):
LOWbindings/python/tests/test_serializers.py274 def test_serialize_dataframe_arrow_preserves_types(self):
LOWbindings/python/tests/test_serializers.py295 def test_serialize_dataframe_arrow_with_cities(self):
LOWbindings/python/tests/test_serializers.py316 def test_serialize_dataframe_arrow_empty(self):
LOWbindings/python/tests/test_html_export.py53 def test_geodataframe_no_crs_skips_reproject(self):
LOWbindings/python/tests/test_html_export.py63 def test_csv_string_passthrough(self):
LOWbindings/python/tests/test_html_export.py67 def test_unsupported_type_returns_none(self):
LOWbindings/python/tests/test_html_export.py136 def test_non_geojson_dict_returns_none(self):
LOWbindings/python/tests/test_html_export.py139 def test_non_geojson_string_returns_none(self):
LOWbindings/python/tests/test_html_export.py142 def test_dataframe_returns_none(self):
LOWbindings/python/tests/test_html_export.py149 def test_geodataframe_with_datetime(self):
LOWbindings/python/tests/test_html_export.py240 def test_contains_kepler_gl_cdn_script(self, sample_df):
LOWbindings/python/tests/test_html_export.py249 def test_default_uses_latest_stable_cdn_tag(self, sample_df):
LOWbindings/python/tests/test_html_export.py254 def test_contains_react_redux_deps(self, sample_df):
LOWbindings/python/tests/test_html_export.py439 def test_saves_with_custom_json_encoder(self, sample_gdf, tmp_path):
LOWbindings/python/tests/test_html_export.py446 def test_saves_with_light_theme(self, sample_df, tmp_path):
245 more matches not shown…
Over-Commented Block27 hits · 27 pts
SeverityFileLineSnippet
LOWtest/browser/components/tooltip-config-test.js21
LOWtest/browser/components/common/range-plot-test.js61
LOW…t/browser/components/side-panel/color-selector-test.js461 // name: 'Ice And Fire 8',
LOW…owser/components/side-panel/layer-configurator-test.js241 'gps_data.lng',
LOW…owser/components/side-panel/layer-configurator-test.js261 // value: 'gps_data.lng',
LOWtest/browser/layer-tests/hexagon-layer-specs.js221 // 0: driver_analytics_0 - 0
LOWtest/node/reducers/vis-state-test.js3561 );
LOWtest/node/reducers/vis-state-test.js3581 // xDomain: [1474070985000, 1474072215000],
LOWtest/node/reducers/vis-state-test.js3601 // {x: 1474071795000, y: 30.0352752, delta: 'last', pct: 0.000029439584774718954},
LOWtest/node/reducers/vis-state-test.js3621 //
LOWexamples/demo-app/src/app.tsx621
LOWbindings/kepler.gl-jupyter/js/lib/embed.js1// SPDX-License-Identifier: MIT
LOWbindings/kepler.gl-jupyter/js/lib/keplergl-plugin.js1// SPDX-License-Identifier: MIT
LOWbindings/kepler.gl-jupyter/keplergl/_version.py1# SPDX-License-Identifier: MIT
LOWsrc/types/layers.d.ts361 // thickness: number;
LOWsrc/types/layers.d.ts381 // angle: number;
LOWsrc/layers/src/tile3d-layer/tile3d-layer.ts81 // fires (e.g. the shadow module being added/removed). The LayerManager sets
LOWsrc/layers/src/tile3d-layer/tile3d-layer.ts161 // deck.gl's ScenegraphLayer and MeshLayer do not correctly handle
LOWsrc/layers/src/tile3d-layer/tile3d-layer.ts261 this.setState({_lightingWasActive: lightingActive});
LOW…deckgl-layers/src/raster/raster-processing-uniforms.ts81#define colormap_categoricalMinValue_ALIAS rasterProcessing.colormap_categoricalMinValue
LOW…gl-layers/src/raster/webgl/color/sigmoidal-contrast.ts1// SPDX-License-Identifier: MIT
LOW…gl-layers/src/raster/webgl/color/sigmoidal-contrast.ts21// 20 is a lot.
LOW…deckgl-layers/src/raster/webgl/color/gamma-contrast.ts1// SPDX-License-Identifier: MIT
LOWsrc/deckgl-layers/src/layer-utils/aggregation-utils.ts81 stateColors.input = classifiedAttr;
LOWsrc/constants/src/default-settings.ts1161 id: EXPORT_DATA_TYPE.CSV,
LOWsrc/components/src/side-panel/custom-panel.tsx21 };
LOWsrc/deckgl-arrow-layers/src/constants.ts1// SPDX-License-Identifier: MIT
Cross-Language Confusion4 hits · 20 pts
SeverityFileLineSnippet
HIGHbindings/python/keplergl/_html_export.py125 f" datasets.push({{info: {{id: {json.dumps(name, ensure_ascii=False)}, label: {json.dumps(name, ensure_
HIGHbindings/python/keplergl/_html_export.py132 f" datasets.push({{info: {{id: {json.dumps(name, ensure_ascii=False)}, label: {json.dumps(name, ens
HIGHbindings/python/keplergl/_html_export.py248 var rootElm = react.useRef(null);
HIGHbindings/python/keplergl/_html_export.py280 react.createElement(KeplerElement, null)
Self-Referential Comments4 hits · 12 pts
SeverityFileLineSnippet
MEDIUM.yarnrc.yml3# Define the registry to use when fetching packages.
MEDIUMwebsite/.yarnrc.yml3# Define the registry to use when fetching packages.
MEDIUMexamples/demo-app/.yarnrc.yml3# Define the registry to use when fetching packages.
MEDIUMexamples/get-started/.yarnrc.yml3# Define the registry to use when fetching packages.
Unused Imports9 hits · 9 pts
SeverityFileLineSnippet
LOWbindings/python/keplergl/__init__.py6
LOWbindings/python/keplergl/__init__.py7
LOWbindings/python/keplergl/_html_export.py6
LOWbindings/python/tests/test_widget.py6
LOWbindings/kepler.gl-jupyter/setup.py4
LOWbindings/kepler.gl-jupyter/keplergl/__init__.py4
LOWbindings/kepler.gl-jupyter/keplergl/__init__.py4
LOWbindings/kepler.gl-jupyter/keplergl/__init__.py6
LOWbindings/kepler.gl-jupyter/keplergl/keplergl.py19
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippet
MEDIUM…deckgl-arrow-layers/src/layers/geo-arrow-text-layer.ts243 // TODO privide more robust data comparators
MEDIUMsrc/reducers/src/vis-state-updaters.ts601 // TODO: Shan, make the animation config function more robust
Deep Nesting2 hits · 2 pts
SeverityFileLineSnippet
LOWbindings/python/keplergl/serializers.py63
LOWbindings/python/keplergl/_html_export.py37
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippet
LOW.github/workflows/build-publish-pypi.yml85 # Check if version contains prerelease indicators (a, b, rc, dev)