Python and JavaScript bindings for calling the Earth Engine API.
This report summarizes scanner evidence for google/earthengine-api, a JavaScript project with 3,452 GitHub stars. SynthScan examined 110,530 lines of code across 344 source files, recording 641 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 9.7 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 483 finding(s).
Are imports declared and package/API names verified? 110 finding(s).
Are wrappers, guards, and repeated structures necessary? 439 finding(s).
Which changes need focused human review? 641 finding(s).
Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 641 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/ee/deserializer.py | 212 | def decode_function_definition( | CODE |
| LOW | python/ee/deserializer.py | 221 | def decode_function_invocation(invoked: dict[str, Any]) -> Any: | CODE |
| LOW | python/ee/batch.py | 25 | def _transform_operation_to_task(operation: dict[str, Any]) -> Task: | CODE |
| LOW | python/ee/batch.py | 1287 | def _prepare_image_export_config( | CODE |
| LOW | python/ee/batch.py | 1374 | def _prepare_map_export_config( | CODE |
| LOW | python/ee/batch.py | 1420 | def _prepare_table_export_config( | CODE |
| LOW | python/ee/batch.py | 1493 | def _prepare_video_export_config( | CODE |
| LOW | python/ee/batch.py | 1537 | def _build_image_file_export_options( | CODE |
| LOW | python/ee/batch.py | 1652 | def _build_table_file_export_options( | CODE |
| LOW | python/ee/batch.py | 1706 | def _build_video_file_export_options( | CODE |
| LOW | python/ee/batch.py | 1738 | def _prepare_classifier_export_config( | CODE |
| LOW | python/ee/batch.py | 1791 | def _build_cloud_storage_destination(config: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW | python/ee/batch.py | 1812 | def _build_bigquery_destination(config: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW | python/ee/batch.py | 1874 | def _build_earth_engine_destination(config: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW | python/ee/batch.py | 1889 | def _build_feature_view_destination(config: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW | python/ee/batch.py | 1907 | def _get_rank_by_one_thing_rule(rule_str: str) -> dict[str, Any]: | CODE |
| LOW | python/ee/batch.py | 2023 | def build_ingestion_time_parameters( | CODE |
| LOW | python/ee/imagecollection.py | 314 | def _apply_preparation_function( | CODE |
| LOW⚡ | python/ee/_cloud_api_utils.py | 561 | def convert_operation_name_to_task_id(operation_name: str) -> str: | CODE |
| LOW⚡ | python/ee/_cloud_api_utils.py | 567 | def convert_task_id_to_operation_name(project: str, task_id: str) -> str: | CODE |
| LOW⚡ | python/ee/_cloud_api_utils.py | 572 | def convert_params_to_image_manifest(params: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW⚡ | python/ee/_cloud_api_utils.py | 582 | def convert_params_to_table_manifest(params: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW⚡ | python/ee/_cloud_api_utils.py | 592 | def convert_tilesets_to_one_platform_tilesets(tilesets: list[Any]) -> list[Any]: | CODE |
| LOW⚡ | python/ee/_cloud_api_utils.py | 869 | def _convert_operation_state_to_task_state(state: str) -> str: | CODE |
| LOW⚡ | python/ee/_cloud_api_utils.py | 878 | def _convert_task_state_to_operation_state(state: str) -> str: | CODE |
| LOW⚡ | python/ee/_cloud_api_utils.py | 883 | def convert_to_operation_state(state: str) -> str: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 227 | def build_cloud_resource_from_document( | CODE |
| LOW | python/ee/_cloud_api_utils.py | 342 | def _convert_msec_to_timestamp(time_msec: float) -> str: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 360 | def _convert_timestamp_to_msec(timestamp: str) -> int: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 381 | def _convert_bounding_box_to_geo_json(bbox: Sequence[float]) -> str: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 389 | def convert_get_list_params_to_list_assets_params(params) -> dict[str, Any]: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 408 | def convert_list_assets_result_to_get_list_result(result) -> list[Any]: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 415 | def _convert_list_images_filter_params_to_list_assets_params(params) -> str: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 458 | def convert_list_images_params_to_list_assets_params( | CODE |
| LOW | python/ee/_cloud_api_utils.py | 477 | def convert_list_images_result_to_get_list_result(result) -> list[Any]: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 484 | def _convert_asset_for_get_list_result(asset) -> dict[str, Any]: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 495 | def _convert_image_for_get_list_result(asset) -> dict[str, Any]: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 504 | def _convert_asset_type_for_get_list_result(asset_type: str) -> str: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 515 | def convert_asset_type_for_create_asset(asset_type: str) -> str: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 526 | def convert_asset_id_to_asset_name(asset_id: str) -> str: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 604 | def convert_sources_to_one_platform_sources(sources: list[Any]) -> list[Any]: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 623 | def encode_number_as_cloud_value(number: float) -> dict[str, float | str]: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 684 | def _convert_algorithm_arguments( | CODE |
| LOW | python/ee/_cloud_api_utils.py | 689 | def _convert_algorithm_argument(arg: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 704 | def convert_to_image_file_format(format_str: str | None) -> str: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 733 | def convert_to_table_file_format(format_str: str | None) -> str: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 776 | def convert_to_visualization_options(params: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 839 | def _convert_csv_numbers_to_list(value: str) -> list[float]: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 846 | def convert_operation_to_task(operation: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 895 | def convert_iam_policy_to_acl(policy: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 915 | def convert_acl_to_iam_policy(acl: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW | python/ee/_cloud_api_utils.py | 932 | def convert_to_grid_dimensions( | CODE |
| LOW | python/ee/serializer.py | 404 | def increment_reference_count(value: Any) -> None: | CODE |
| LOW | python/ee/serializer.py | 550 | def _visit_all_values_in_expression(self, visitor: Any) -> None: | CODE |
| LOW | python/ee/image.py | 243 | def _apply_selection_and_scale( | CODE |
| LOW | python/ee/image.py | 319 | def _apply_spatial_transformations( | CODE |
| LOW | python/ee/image.py | 402 | def _extract_and_validate_transforms(obj: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW | python/ee/data.py | 203 | def get_persistent_credentials() -> credentials_lib.Credentials: | CODE |
| LOW | python/ee/data.py | 257 | def _install_cloud_api_resource() -> None: | CODE |
| LOW | python/ee/data.py | 366 | def _translate_cloud_exception( | CODE |
| 310 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/ee/ee_number.py | 0 | casts the input value to an unsigned 8-bit integer. | STRING |
| HIGH | python/ee/ee_array.py | 0 | casts the input value to an unsigned 8-bit integer. | STRING |
| HIGH | python/ee/image.py | 0 | casts the input value to an unsigned 8-bit integer. | STRING |
| HIGH | python/ee/ee_number.py | 0 | computes the smallest integer greater than or equal to the input. | STRING |
| HIGH | python/ee/ee_array.py | 0 | computes the smallest integer greater than or equal to the input. | STRING |
| HIGH | python/ee/image.py | 0 | computes the smallest integer greater than or equal to the input. | STRING |
| HIGH | python/ee/ee_number.py | 0 | computes the inverse complementary error function of the input. | STRING |
| HIGH | python/ee/ee_array.py | 0 | computes the inverse complementary error function of the input. | STRING |
| HIGH | python/ee/image.py | 0 | computes the inverse complementary error function of the input. | STRING |
| HIGH | python/ee/ee_number.py | 0 | computes euler's number e raised to the power of the input. | STRING |
| HIGH | python/ee/image.py | 0 | computes euler's number e raised to the power of the input. | STRING |
| HIGH | python/ee/ee_array.py | 0 | computes euler's number e raised to the power of the input. | STRING |
| HIGH | python/ee/ee_number.py | 0 | computes the largest integer less than or equal to the input. | STRING |
| HIGH | python/ee/ee_array.py | 0 | computes the largest integer less than or equal to the input. | STRING |
| HIGH | python/ee/image.py | 0 | computes the largest integer less than or equal to the input. | STRING |
| HIGH | python/ee/ee_number.py | 0 | returns 0 if the input is non-zero, and 1 otherwise. | STRING |
| HIGH | python/ee/ee_array.py | 0 | returns 0 if the input is non-zero, and 1 otherwise. | STRING |
| HIGH | python/ee/image.py | 0 | returns 0 if the input is non-zero, and 1 otherwise. | STRING |
| HIGH | python/ee/ee_number.py | 0 | casts the input value to an unsigned 16-bit integer. | STRING |
| HIGH | python/ee/ee_array.py | 0 | casts the input value to an unsigned 16-bit integer. | STRING |
| HIGH | python/ee/image.py | 0 | casts the input value to an unsigned 16-bit integer. | STRING |
| HIGH | python/ee/ee_number.py | 0 | casts the input value to an unsigned 32-bit integer. | STRING |
| HIGH | python/ee/ee_array.py | 0 | casts the input value to an unsigned 32-bit integer. | STRING |
| HIGH | python/ee/image.py | 0 | casts the input value to an unsigned 32-bit integer. | STRING |
| HIGH | python/ee/tests/blob_test.py | 0 | verifies that untyped calls wrap the result in a computedobject. | STRING |
| HIGH | python/ee/tests/computedobject_test.py | 0 | verifies that untyped calls wrap the result in a computedobject. | STRING |
| HIGH | python/ee/tests/errormargin_test.py | 0 | verifies that untyped calls wrap the result in a computedobject. | STRING |
| HIGH | python/ee/tests/filter_test.py | 0 | verifies that constructors understand valid parameters. | STRING |
| HIGH | python/ee/tests/featurecollection_test.py | 0 | verifies that constructors understand valid parameters. | STRING |
| HIGH | python/ee/tests/feature_test.py | 0 | verifies that constructors understand valid parameters. | STRING |
| HIGH | python/ee/tests/image_test.py | 0 | verifies that constructors understand valid parameters. | STRING |
| HIGH | python/ee/tests/imagecollection_test.py | 0 | verifies that constructors understand valid parameters. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | javascript/src/examples/Charts/ElevationHistogram.js | 20 | print(histogram); | CODE |
| HIGH | javascript/src/examples/Charts/TemperatureDisparity.js | 98 | print(greatestDifChart); | CODE |
| HIGH | javascript/src/examples/Charts/TemperatureDisparity.js | 99 | print(tempsByDifChart); | CODE |
| HIGH | javascript/src/examples/Charts/ElevationProfile.js | 43 | print(chart); | CODE |
| HIGH | javascript/src/examples/Charts/ColumnHistogram.js | 12 | print(histogram); | CODE |
| HIGH | javascript/src/examples/Charts/ImageSpectra.js | 78 | print(bandChart); | CODE |
| HIGH | javascript/src/examples/Charts/ImageSpectra.js | 79 | print(spectraChart); | CODE |
| HIGH | javascript/src/examples/Charts/SeasonalTemperatures.js | 59 | print(extremeTempsChart); | CODE |
| HIGH⚡ | javascript/src/examples/Charts/DoySeries.js | 21 | print(bands); | CODE |
| HIGH⚡ | javascript/src/examples/Charts/DoySeries.js | 30 | print(years); | CODE |
| HIGH⚡ | javascript/src/examples/Charts/DoySeries.js | 39 | print(regions); | CODE |
| HIGH | …ascript/src/examples/Charts/ElevationAndTemperature.js | 74 | print(chart); | CODE |
| HIGH | …ascript/src/examples/Charts/ImageTimeSeriesByRegion.js | 55 | print(tempTimeSeries); | CODE |
| HIGH | javascript/src/examples/Image/ReduceRegion.js | 33 | print(max); | CODE |
| HIGH | …/tutorials/jrc_gsw/tutorial_global_surface_water_03.js | 61 | print(histogram); | CODE |
| HIGH | …/tutorials/jrc_gsw/tutorial_global_surface_water_03.js | 115 | print(histogram); | CODE |
| HIGH | …/tutorials/jrc_gsw/tutorial_global_surface_water_04.js | 104 | print(histogram); | CODE |
| HIGH | …/tutorials/jrc_gsw/tutorial_global_surface_water_04.js | 120 | print('reduction_results', reduction_results); | CODE |
| HIGH | …/tutorials/jrc_gsw/tutorial_global_surface_water_04.js | 129 | print('transition_fc', transition_fc); | CODE |
| HIGH | …/tutorials/jrc_gsw/tutorial_global_surface_water_04.js | 145 | print(transition_summary_chart); | CODE |
| HIGH | …ascript/src/examples/Demos/Landsat8HarmonicModeling.js | 102 | print(ui.Chart.image.series(fittedHarmonic.select(['fitted','NDVI']), roi, ee.Reducer.mean(), 30) | CODE |
| HIGH | javascript/src/examples/Demos/Classification.js | 510 | print('CART, explained', classifier.explain()); | CODE |
| HIGH | javascript/src/examples/Demos/Classification.js | 538 | print('Confusion Matrix', confusionMatrix); | CODE |
| HIGH | javascript/src/examples/Demos/NASANEXClimateModeling.js | 56 | print(chart); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/ee/batch.py | 871 | Creates a task to export a FeatureCollection to a FeatureView. Args: collection: The feature collection t | STRING |
| HIGH | python/ee/daterange.py | 109 | Returns a DateRange that contains all the timespan of this and other. Args: other: The other DateRange to inc | STRING |
| HIGH | python/ee/imagecollection.py | 191 | Get the URL for an animated video thumbnail of the given collection. Note: Videos can only be created when the imag | STRING |
| HIGH | python/ee/imagecollection.py | 224 | Get the URL for a "filmstrip" thumbnail of the given collection. Args: params: Parameters identical to getMap | STRING |
| HIGH | python/ee/imagecollection.py | 258 | Get the URL for a thumbnail of this collection. Args: valid_formats: A list of supported formats, the first o | STRING |
| HIGH | python/ee/geometry.py | 827 | Fixes the depth of the given coordinates. Checks that each element has the expected depth as all other elements | STRING |
| HIGH | python/ee/collection.py | 594 | Iterates over a collection with an algorithm. Applies a user-supplied function to each element of a collection. The | STRING |
| HIGH | python/ee/collection.py | 677 | Maps an algorithm over a collection. Args: algorithm: The operation to map over the images or features of the | STRING |
| HIGH | python/ee/image.py | 516 | Applies transformations and returns the thumbId. Args: params: Parameters identical to getMapId, plus, option | STRING |
| HIGH | python/ee/image.py | 541 | Get a thumbnail URL for this image. Args: params: Parameters identical to getMapId, plus, optionally: | STRING |
| HIGH | python/ee/function.py | 80 | Promotes arguments to their types based on the function's signature. Verifies that all required arguments are provi | STRING |
| HIGH | python/ee/function.py | 126 | Converts a list of positional arguments to a map of keyword arguments. Uses the function's signature for argument n | STRING |
| HIGH | python/ee/data.py | 346 | Executes a Cloud API call and translates errors to EEExceptions. Args: call: The Cloud API call, with all paramet | STRING |
| HIGH | python/ee/data.py | 1047 | Fetches the map tile specified by (x, y, z). This method uses any credentials that were specified to ee.Initialize( | STRING |
| HIGH | python/ee/data.py | 1360 | Get a Download ID. Args: params: An object containing table download options with the following possible va | STRING |
| HIGH | python/ee/data.py | 2073 | Returns quota usage details for the asset root with the given ID. Usage notes: - The id *must* be a root folder | STRING |
| HIGH | python/ee/oauth.py | 498 | Prompts the user to authorize access to Earth Engine via OAuth2. Args: cli_authorization_code: An optional author | STRING |
| HIGH | python/ee/cli/utils.py | 331 | Implements glob-like '*' wildcard completion for cloud storage objects. Args: source_files: A list of one or more | STRING |
| HIGH | python/ee/cli/utils.py | 372 | Retrieve a list of cloud storage filepaths from the given bucket. Args: bucket: The cloud storage bucket to be qu | STRING |
| HIGH | python/ee/cli/commands.py | 230 | Decodes a date from a command line argument, returning msec since epoch". Args: string: See AssetSetCommand class | STRING |
| HIGH | python/ee/cli/commands.py | 284 | Decodes a general key-value property from a command-line argument. Args: string: The string must have the form na | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/ee/customfunction.py | 34 | null, their names will be generated deterministically, based on | STRING |
| HIGH | python/ee/customfunction.py | 85 | arguments of the custom functions that use this variable. If null, | STRING |
| HIGH | python/ee/computedobject.py | 192 | # We can't just check for varName != null, since we allow that | COMMENT |
| HIGH | python/ee/reducer.py | 894 | beta: Residual error outlier margin. If null, a default value will be | STRING |
| HIGH | python/ee/feature.py | 507 | will have edges as straight lines in the specified projection. If null, | STRING |
| HIGH | python/ee/join.py | 23 | a_filter = ee.Filter.equals(leftField='label', rightField='label') | STRING |
| HIGH⚡ | python/ee/imagecollection.py | 536 | single slice (length 1) along this axis. If null, defaults to 0. The | STRING |
| HIGH⚡ | python/ee/imagecollection.py | 541 | non-spatial dimension. If null, slices will start at index 0 for all | STRING |
| HIGH⚡ | python/ee/imagecollection.py | 544 | individual element within the list may be null, which defaults to 0 for | STRING |
| HIGH⚡ | python/ee/imagecollection.py | 548 | non-spatial dimension. If null, slices will extend to the end of each | STRING |
| HIGH⚡ | python/ee/imagecollection.py | 552 | element within the list may be null, which also defaults to the length | STRING |
| HIGH | python/ee/dictionary.py | 220 | given key. If the algorithm returns null, the key is dropped. | STRING |
| HIGH⚡ | python/ee/image.py | 2565 | non-spatial dimension. If null, slices will start at index 0 for all | STRING |
| HIGH⚡ | python/ee/image.py | 2568 | individual element within the list may be null, which defaults to 0 for | STRING |
| HIGH⚡ | python/ee/image.py | 2572 | non-spatial dimension. If null, slices will extend to the end of each | STRING |
| HIGH⚡ | python/ee/image.py | 2576 | element within the list may be null, which also defaults to the length | STRING |
| HIGH | python/ee/image.py | 2142 | will have edges as straight lines in the specified projection. If null, | STRING |
| HIGH | python/ee/image.py | 3506 | labelProperty: If non-null, the value of the first band will be saved as | STRING |
| HIGH | python/ee/pixeltype.py | 67 | 'float' or 'double', this can be null, signifying negative infinity. | STRING |
| HIGH | python/ee/pixeltype.py | 69 | 'float' or 'double', this can be null, signifying positive infinity. | STRING |
| HIGH | python/ee/data.py | 448 | calls the hook function with all resulting profile IDs. If hook is null, | STRING |
| HIGH | python/ee/tests/filter_test.py | 531 | expression = ee.Filter.equals( | CODE |
| HIGH | python/ee/tests/filter_test.py | 537 | expression = ee.Filter.equals( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/ee/customfunction.py | 3 | CODE | |
| LOW | python/ee/ee_number.py | 2 | CODE | |
| LOW | python/ee/computedobject.py | 3 | CODE | |
| LOW | python/ee/_arg_types.py | 2 | CODE | |
| LOW | python/ee/classifier.py | 2 | CODE | |
| LOW | python/ee/confusionmatrix.py | 2 | CODE | |
| LOW | python/ee/kernel.py | 2 | CODE | |
| LOW | python/ee/featurecollection.py | 6 | CODE | |
| LOW | python/ee/deprecation.py | 3 | CODE | |
| LOW | python/ee/batch.py | 10 | CODE | |
| LOW | python/ee/terrain.py | 2 | CODE | |
| LOW | python/ee/__init__.py | 8 | CODE | |
| LOW | python/ee/__init__.py | 10 | CODE | |
| LOW | python/ee/__init__.py | 12 | CODE | |
| LOW | python/ee/__init__.py | 19 | CODE | |
| LOW | python/ee/__init__.py | 22 | CODE | |
| LOW | python/ee/__init__.py | 27 | CODE | |
| LOW | python/ee/__init__.py | 29 | CODE | |
| LOW | python/ee/__init__.py | 30 | CODE | |
| LOW | python/ee/__init__.py | 63 | CODE | |
| LOW | python/ee/reducer.py | 2 | CODE | |
| LOW | python/ee/ee_date.py | 2 | CODE | |
| LOW | python/ee/feature.py | 2 | CODE | |
| LOW | python/ee/join.py | 3 | CODE | |
| LOW | python/ee/element.py | 6 | CODE | |
| LOW | python/ee/daterange.py | 2 | CODE | |
| LOW | python/ee/imagecollection.py | 3 | CODE | |
| LOW | python/ee/ee_string.py | 2 | CODE | |
| LOW | python/ee/_state.py | 3 | CODE | |
| LOW | python/ee/geometry.py | 3 | CODE | |
| LOW | python/ee/errormargin.py | 2 | CODE | |
| LOW | python/ee/ee_array.py | 2 | CODE | |
| LOW | python/ee/collection.py | 6 | CODE | |
| LOW | python/ee/filter.py | 12 | CODE | |
| LOW | python/ee/ee_list.py | 2 | CODE | |
| LOW | python/ee/dictionary.py | 2 | CODE | |
| LOW | python/ee/projection.py | 2 | CODE | |
| LOW | python/ee/apifunction.py | 16 | CODE | |
| LOW | python/ee/image.py | 7 | CODE | |
| LOW | python/ee/blob.py | 2 | CODE | |
| LOW | python/ee/clusterer.py | 2 | CODE | |
| LOW | python/ee/pixeltype.py | 2 | CODE | |
| LOW | python/ee/data.py | 6 | CODE | |
| LOW | python/ee/tests/imagecollection_test.py | 6 | CODE | |
| LOW | python/ee/cli/utils.py | 17 | CODE | |
| LOW | python/ee/cli/commands.py | 21 | CODE | |
| LOW | demos/wmts/app.py | 6 | CODE | |
| LOW | demos/wmts/app.py | 10 | CODE | |
| LOW | demos/wmts/app.py | 12 | CODE | |
| LOW | demos/wmts/app.py | 16 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/ee/mapclient.py | 399 | except KeyError: | CODE |
| HIGH | python/ee/_cloud_api_utils.py | 218 | except TypeError: | CODE |
| HIGH | python/ee/image.py | 1384 | except ee_exception.EEException: | CODE |
| HIGH | python/ee/data.py | 216 | except OSError: | CODE |
| HIGH | python/ee/data.py | 230 | except google.auth.exceptions.DefaultCredentialsError: | CODE |
| HIGH | python/ee/_helpers.py | 62 | except ValueError: | CODE |
| HIGH | python/ee/oauth.py | 40 | except ImportError: | CODE |
| HIGH | python/ee/cli/commands.py | 45 | except ImportError: | CODE |
| HIGH | python/ee/cli/commands.py | 47 | except TypeError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/ee/mapclient.py | 417 | CODE | |
| LOW | python/ee/customfunction.py | 130 | CODE | |
| LOW | python/ee/customfunction.py | 155 | CODE | |
| LOW | python/ee/customfunction.py | 160 | CODE | |
| LOW | python/ee/deserializer.py | 55 | CODE | |
| LOW | python/ee/deserializer.py | 169 | CODE | |
| LOW | python/ee/deserializer.py | 187 | CODE | |
| LOW | python/ee/ee_types.py | 26 | CODE | |
| LOW | python/ee/featurecollection.py | 32 | CODE | |
| LOW | python/ee/batch.py | 1537 | CODE | |
| LOW | python/ee/batch.py | 2067 | CODE | |
| LOW | python/ee/batch.py | 132 | CODE | |
| LOW | python/ee/__init__.py | 316 | CODE | |
| LOW | python/ee/__init__.py | 478 | CODE | |
| LOW | python/ee/__init__.py | 481 | CODE | |
| LOW | python/ee/ee_date.py | 30 | CODE | |
| LOW | python/ee/feature.py | 25 | CODE | |
| LOW | python/ee/imagecollection.py | 29 | CODE | |
| LOW | python/ee/_cloud_api_utils.py | 262 | CODE | |
| LOW | python/ee/_cloud_api_utils.py | 704 | CODE | |
| LOW | python/ee/_cloud_api_utils.py | 776 | CODE | |
| LOW | python/ee/serializer.py | 110 | CODE | |
| LOW | python/ee/serializer.py | 184 | CODE | |
| LOW | python/ee/serializer.py | 455 | CODE | |
| LOW | python/ee/serializer.py | 560 | CODE | |
| LOW | python/ee/image.py | 52 | CODE | |
| LOW | python/ee/image.py | 155 | CODE | |
| LOW | python/ee/image.py | 243 | CODE | |
| LOW | python/ee/image.py | 3950 | CODE | |
| LOW | python/ee/data.py | 2298 | CODE | |
| LOW | python/ee/_helpers.py | 120 | CODE | |
| LOW | python/ee/oauth.py | 490 | CODE | |
| LOW | python/ee/cli/commands.py | 283 | CODE | |
| LOW | python/ee/cli/commands.py | 600 | CODE | |
| LOW | python/ee/cli/commands.py | 1182 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/ee/feature.py | 123 | # Create a collection containing this one feature and render it. | COMMENT |
| MEDIUM | python/ee/apifunction.py | 218 | # Create a new function so we can attach properties to it. | COMMENT |
| MEDIUM | python/ee/clusterer.py | 17 | # Define a region in which to generate a sample of the input. | STRING |
| MEDIUM | python/examples/py/ImageCollection/clipped_composite.py | 14 | # Create a Landsat 7, median-pixel composite for Spring of 2000. | COMMENT |
| MEDIUM | …thon/examples/py/ImageCollection/filtered_composite.py | 20 | # Create a Landsat 7 composite for Spring of 2000, and filter by | COMMENT |
| MEDIUM | demos/trendy-lights/server.py | 230 | # Create the Jinja templating system we use to dynamically generate HTML. See: | COMMENT |
| MEDIUM | demos/wmts/app.py | 124 | # The following functions {_get_map_id_threadsafe, _get_dd_json_threadsafe} | COMMENT |
| MEDIUM | demos/export-to-drive/server.py | 387 | # Create a Drive helper to access the user's Google Drive. | COMMENT |
| MEDIUM | demos/export-to-drive/build.sh | 26 | # Create the lib directory if it doesn't exist. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | javascript/src/layers/binaryoverlay.js | 111 | ee.layers.AbstractTile.prototype.finishLoad.call(this); | CODE |
| CRITICAL | javascript/src/layers/imageoverlay.js | 109 | ee.layers.AbstractTile.prototype.finishLoad.call(this); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | javascript/src/apiclient.js | 1281 | * @private | COMMENT |
| LOW | javascript/src/customfunction.js | 241 | // that unbound variables are not passed in server calls. | COMMENT |
| LOW | javascript/src/geometry.js | 41 | * @constructor | COMMENT |
| LOW | javascript/src/eeapiclient/domain_object.ts | 481 | // defaults = "mutable", we have to return a mutable object, and repeated | COMMENT |
| LOW | javascript/src/examples/Image/LandcoverCleanup.js | 1 | // Morphological processing of land cover. This example | COMMENT |
| LOW | javascript/src/examples/Image/Hillshade.js | 1 | // Hillshade example. This is a demonstration of computing | COMMENT |
| LOW | javascript/src/examples/Image/ReduceRegion.js | 1 | // Image.reduceRegion example | COMMENT |
| LOW | …t/src/examples/CloudMasking/Sentinel2CloudAndShadow.js | 1 | // This example demonstrates the use of the | COMMENT |
| LOW | …/tutorials/jrc_gsw/tutorial_global_surface_water_03.js | 61 | print(histogram); | COMMENT |
| LOW | …/tutorials/jrc_gsw/tutorial_global_surface_water_02.js | 41 | ////////////////////////////////////////////////////////////// | COMMENT |
| LOW | …/tutorials/jrc_gsw/tutorial_global_surface_water_04.js | 141 | title: 'Summary of transition class areas', | COMMENT |
| LOW | javascript/src/examples/Demos/MODISHarmonicModeling.js | 1 | // The purpose of this script is to fit a first-order | COMMENT |
| LOW | demos/trendy-lights/build.sh | 1 | #!/bin/bash | COMMENT |
| LOW | demos/wmts/app.py | 121 | return flask.Response(ElementTree.tostring(xml), mimetype="text/xml") | COMMENT |
| LOW | demos/wmts/app.py | 141 | # | COMMENT |
| LOW | demos/interactive-classifier/build.sh | 1 | #!/bin/bash | COMMENT |
| LOW | demos/server-auth-nodejs/app.yaml | 1 | # Copyright 2020 Google LLC | COMMENT |
| LOW | demos/server-auth-python/build.sh | 1 | #!/bin/bash | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/ee/classifier.py | 58 | CODE | |
| LOW | python/ee/classifier.py | 228 | CODE | |
| LOW | python/ee/batch.py | 300 | CODE | |
| LOW | python/ee/batch.py | 376 | CODE | |
| LOW | python/ee/batch.py | 468 | CODE | |
| LOW | python/ee/batch.py | 568 | CODE | |
| LOW | python/ee/batch.py | 1042 | CODE | |
| LOW | python/ee/batch.py | 1121 | CODE | |
| LOW | python/ee/model.py | 65 | CODE | |
| LOW | python/ee/model.py | 166 | CODE | |
| LOW | python/ee/_cloud_api_utils.py | 147 | CODE | |
| LOW | python/ee/_cloud_api_utils.py | 492 | CODE | |
| LOW | python/ee/_cloud_api_utils.py | 501 | CODE | |
| LOW | python/ee/collection.py | 852 | CODE | |
| LOW | python/ee/image.py | 3466 | CODE | |
| LOW | python/ee/image.py | 3803 | CODE | |
| LOW | python/ee/image.py | 4259 | CODE | |
| LOW | python/ee/image.py | 4583 | CODE | |
| LOW | python/ee/clusterer.py | 185 | CODE | |
| LOW | python/ee/clusterer.py | 289 | CODE | |
| LOW | python/ee/data.py | 523 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | demos/trendy-lights/index.html | 20 | <script src="https://maps.googleapis.com/maps/api/js?v=3&key=your-api-key-here"></script> | CODE |
| HIGH | demos/cloud-functions/static/index.html | 26 | <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" | CODE |
| HIGH | demos/server-auth-python/index.html | 35 | <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | python/ee/tests/_helpers_test.py | 39 | key_data = {'client_email': 'foo@bar.com'} | CODE |
| LOW⚡ | python/ee/tests/_helpers_test.py | 48 | ee.ServiceAccountCredentials(email='foo@bar.com', key_data='pem_key_data') | CODE |
| LOW⚡ | python/ee/tests/_helpers_test.py | 51 | mock_credentials.call_args[0][1], 'foo@bar.com' | CODE |
| LOW⚡ | python/ee/tests/_helpers_test.py | 60 | ee.ServiceAccountCredentials(email='foo@bar.com', key_file='foo.pem') | CODE |
| LOW⚡ | python/ee/tests/_helpers_test.py | 63 | mock_credentials.call_args[0][1], 'foo@bar.com' | CODE |
| LOW | python/ee/tests/data_test.py | 1551 | response._content = '{"data": "dummy_data"}' # pyrefly: ignore[bad-assignment] | CODE |
| LOW | python/ee/tests/oauth_test.py | 118 | token='dummy_token', | CODE |
| LOW | python/ee/tests/oauth_test.py | 137 | token='dummy_token', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/ee/deserializer.py | 145 | # information has been lost at this point, so we just use ComputedObject. | COMMENT |
| MEDIUM | python/ee/reducer.py | 875 | """Returns a robust linear regression reducer. | STRING |
| LOW | python/ee/image.py | 282 | # If given a Geometry object, just use the client's Geometry. | COMMENT |
| MEDIUM | python/ee/tests/deserializer_test.py | 16 | """Verifies a round trip of a comprehensive serialization case.""" | STRING |
| MEDIUM | python/ee/tests/deserializer_test.py | 29 | """Verifies a round trip of a comprehensive serialization case.""" | STRING |
| LOW | python/ee/cli/utils.py | 103 | # preferred and we should eventually migrate to just use that | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/ee/mapclient.py | 431 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | python/ee/deprecation.py | 139 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | python/ee/batch.py | 2179 | except Exception: | CODE |
| LOW | python/ee/batch.py | 2182 | except Exception as e: | CODE |
| LOW | demos/export-to-drive/server.py | 170 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | demos/export-to-drive/server.py | 285 | except Exception as e: # pylint: disable=broad-except | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demos/wmts/config.py | 18 | # Set this to true to turn on Cloud Storage Layers for table assets. | COMMENT |
| LOW | demos/wmts/app.py | 272 | # Check if the table resource is available in Cloud Storage Layers | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/ee/_state.py | 35 | def set_default(self, new_default: int | str | None) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/ee/tests/_utils_test.py | 58 | def test_function(arg1=None, arg2_=None): | CODE |