Build and share delightful machine learning apps, all in Python. 🌟 Star to support our work!
This report summarizes scanner evidence for gradio-app/gradio, a Python project with 43,706 GitHub stars. SynthScan examined 464,948 lines of code across 2609 source files, recording 2450 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 6.2 (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? 1566 finding(s).
Are imports declared and package/API names verified? 515 finding(s).
Are wrappers, guards, and repeated structures necessary? 1586 finding(s).
Which changes need focused human review? 2450 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2450 distinct pattern matches across 24 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 | demo/chicago-bikeshare-dashboard/run.py | 27 | def get_most_popular_stations(): | CODE |
| LOW | demo/image_editor_sketchpad/run.py | 4 | def percent_of_pixels_selected(image): | CODE |
| LOW | demo/navbar_query_params/run.py | 11 | def update_dropdown_based_on_query(request: gr.Request): | CODE |
| LOW | demo/super_html/run.py | 76 | def update_templated_html_css(name, color, bold): | STRING |
| LOW | demo/image_editor_inpainting/run.py | 4 | def average_inpainting_colors(image): | CODE |
| LOW⚡ | test/test_workflow_api.py | 86 | def test_free_inputs_excludes_computed_reference(self): | CODE |
| LOW⚡ | test/test_workflow_api.py | 102 | def test_runs_demo_end_to_end(self): | CODE |
| LOW⚡ | test/test_workflow_api.py | 160 | def test_unknown_subject_raises(self): | CODE |
| LOW⚡ | test/test_workflow_api.py | 173 | def test_demo_exposes_named_endpoint(self): | CODE |
| LOW | test/test_workflow_api.py | 60 | def test_orders_dependencies_first(self): | CODE |
| LOW | test/test_workflow_api.py | 75 | def test_upstream_includes_transitive_deps(self): | CODE |
| LOW | test/test_workflow_api.py | 187 | def test_endpoint_fn_runs_with_injected_request_token(self): | CODE |
| LOW | test/test_workflow_api.py | 223 | def test_describe_parameter_names_match_info(self, tmp_path): | CODE |
| LOW | test/test_workflow_api.py | 239 | def test_describe_oauth_token_matches_info(self, tmp_path): | CODE |
| LOW | test/test_workflow_api.py | 321 | def test_sync_adds_and_removes_endpoints(self, tmp_path): | CODE |
| LOW | test/test_workflow_api.py | 343 | def test_rename_changes_api_name(self, tmp_path): | CODE |
| LOW | test/test_workflow_api.py | 358 | def test_save_workflow_resyncs_endpoints(self, tmp_path): | CODE |
| LOW | test/test_workflow_api.py | 377 | def test_save_updates_the_canvas_value_new_pages_load(self, tmp_path): | CODE |
| LOW | test/test_workflow_api.py | 403 | def test_default_change_bumps_app_version_but_keeps_ids(self, tmp_path): | CODE |
| LOW | test/test_workflow_api.py | 431 | def test_save_workflow_rejects_malformed_schema(self, tmp_path): | CODE |
| LOW | test/test_workflow_api.py | 545 | def test_multi_output_endpoint_callable_via_gradio_client(self, tmp_path): | CODE |
| LOW | test/test_workflow_api.py | 573 | def test_info_route_lists_endpoints(self, tmp_path): | CODE |
| LOW | test/test_workflow_api.py | 707 | def test_subjects_in_one_component_form_one_group(self): | CODE |
| LOW | test/test_workflow_api.py | 714 | def test_one_endpoint_with_two_returns(self, tmp_path): | CODE |
| LOW | test/test_workflow_api.py | 731 | def test_shared_operator_runs_once_and_returns_both(self): | CODE |
| LOW | test/test_workflow_api.py | 762 | def test_file_port_maps_to_file_component(self): | CODE |
| LOW | test/test_workflow_api.py | 772 | def test_json_input_is_editable_output_is_display(self): | CODE |
| LOW | test/test_workflow_api.py | 858 | def test_endpoint_sends_kwargs_dict_legacy_sends_list(self): | CODE |
| LOW | test/test_queueing.py | 79 | def test_cached_generator_finishes_on_queue_cache_hit(self, connect): | CODE |
| LOW | test/test_queueing.py | 107 | def test_queue_average_excludes_manual_cache_hits(self, connect): | CODE |
| LOW | test/test_queueing.py | 145 | def test_default_concurrency_limits(self, default_concurrency_limit, statuses): | CODE |
| LOW | test/test_queueing.py | 180 | def test_heartbeat_task_cancelled_after_stream_completes(): | CODE |
| LOW | test/test_queueing.py | 236 | def test_cancel_removes_pending_event_from_queue(): | CODE |
| LOW | test/test_queueing.py | 353 | def test_finished_events_are_not_retained(self, connect): | CODE |
| LOW | test/test_queueing.py | 365 | def test_finished_tasks_are_not_retained(self, connect): | CODE |
| LOW | test/test_queueing.py | 377 | def test_completing_an_event_does_not_mark_its_iterator_for_reset(self, connect): | CODE |
| LOW | test/test_queueing.py | 389 | def test_event_analytics_is_bounded(self, connect): | CODE |
| LOW⚡ | test/test_tabs.py | 6 | def test_tabs_overflow_behavior_is_in_config(): | CODE |
| LOW⚡ | test/test_tabs.py | 11 | def test_tab_alignment_is_in_config(): | CODE |
| LOW⚡ | test/test_tabs.py | 16 | def test_tabs_rejects_invalid_overflow_behavior(): | CODE |
| LOW⚡ | test/test_tabs.py | 21 | def test_tab_rejects_invalid_alignment(): | CODE |
| LOW | test/test_components.py | 32 | def test_get_component_instance_rendering( | CODE |
| LOW | test/test_components.py | 44 | def test_no_duplicate_uncased_names(self, io_components): | CODE |
| LOW | test/test_components.py | 49 | def test_dataframe_process_example_converts_dataframes(): | CODE |
| LOW | test/test_components.py | 66 | def test_process_example_returns_file_basename(component): | CODE |
| LOW | test/test_components.py | 102 | def test_template_component_configs(io_components): | CODE |
| LOW | test/test_components.py | 122 | def test_component_example_values(io_components): | CODE |
| LOW | test/test_components.py | 131 | def test_component_example_payloads(io_components): | CODE |
| LOW | test/test_components.py | 154 | def test_all_io_components_are_pickleable(io_components): | CODE |
| LOW | test/test_components.py | 169 | def test_all_components_have_change_event(io_components): | CODE |
| LOW⚡ | test/test_utils.py | 61 | def test_colab_check_no_ipython(self, mock_get_ipython): | CODE |
| LOW⚡ | test/test_utils.py | 66 | def test_ipython_check_import_fail(self, mock_get_ipython): | CODE |
| LOW⚡ | test/test_utils.py | 71 | def test_ipython_check_no_ipython(self, mock_get_ipython): | CODE |
| LOW⚡ | test/test_utils.py | 75 | def test_download_if_url_doesnt_crash_on_connection_error(self): | CODE |
| LOW⚡ | test/test_utils.py | 100 | def test_download_if_url_correct_parse(self): | CODE |
| LOW⚡ | test/test_utils.py | 105 | def test_is_hosted_notebook_false(self): | CODE |
| LOW⚡ | test/test_utils.py | 108 | def test_kaggle_check_true_when_run_type_set(self): | CODE |
| LOW⚡ | test/test_utils.py | 115 | def test_assert_configs_are_equivalent(): | CODE |
| LOW⚡ | test/test_utils.py | 870 | def test_function_with_no_docstring(self): | CODE |
| LOW⚡ | test/test_utils.py | 879 | def test_function_with_no_parameters(self): | CODE |
| 1038 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/random_demos.py | 7 | CODE | |
| LOW | demo/many_tabs/run.py | 3 | CODE | |
| LOW | demo/blocks_inputs/run.py | 2 | CODE | |
| LOW | demo/login_with_huggingface/run.py | 1 | CODE | |
| LOW | demo/state_cleanup/run.py | 1 | CODE | |
| LOW | demo/stream_audio_out/run.py | 4 | CODE | |
| LOW | demo/theme_new_step_3/run.py | 1 | CODE | |
| LOW | demo/theme_new_step_2/run.py | 1 | CODE | |
| LOW | demo/clear_components/run.py | 3 | CODE | |
| LOW | demo/iframe_resizer/run.py | 3 | CODE | |
| LOW | demo/kitchen_sink/run.py | 1 | CODE | |
| LOW | test/test_utils.py | 1 | CODE | |
| LOW | test/test_history.py | 9 | CODE | |
| LOW | js/_website/generate_jsons/embed.py | 3 | CODE | |
| LOW | js/_website/generate_jsons/embed.py | 4 | CODE | |
| LOW | js/_website/generate_jsons/embed.py | 5 | CODE | |
| LOW | js/_website/generate_jsons/embed.py | 7 | CODE | |
| LOW | js/_website/generate_jsons/embed.py | 8 | CODE | |
| LOW | js/_website/generate_jsons/src/docs/__init__.py | 6 | CODE | |
| LOW | js/_website/generate_jsons/src/docs/__init__.py | 7 | CODE | |
| LOW | js/_website/generate_jsons/src/docs/__init__.py | 12 | CODE | |
| LOW | js/_website/generate_jsons/src/docs/__init__.py | 13 | CODE | |
| LOW | js/preview/test/test/backend/gradio_test/__init__.py | 2 | CODE | |
| LOW | gradio/flagging.py | 1 | CODE | |
| LOW | gradio/image_utils.py | 1 | CODE | |
| LOW | gradio/server.py | 3 | CODE | |
| LOW | gradio/renderable.py | 1 | CODE | |
| LOW | gradio/node_server.py | 1 | CODE | |
| LOW | gradio/events.py | 4 | CODE | |
| LOW | gradio/block_function.py | 1 | CODE | |
| LOW | gradio/queueing.py | 1 | CODE | |
| LOW | gradio/route_utils.py | 1 | CODE | |
| LOW | gradio/validators.py | 6 | CODE | |
| LOW | gradio/processing_utils.py | 1 | CODE | |
| LOW | gradio/state_holder.py | 1 | CODE | |
| LOW | gradio/interface.py | 5 | CODE | |
| LOW | gradio/component_meta.py | 1 | CODE | |
| LOW | gradio/chat_interface.py | 5 | CODE | |
| LOW | gradio/__init__.py | 1 | CODE | |
| LOW | gradio/__init__.py | 3 | CODE | |
| LOW | gradio/__init__.py | 4 | CODE | |
| LOW | gradio/__init__.py | 5 | CODE | |
| LOW | gradio/__init__.py | 6 | CODE | |
| LOW | gradio/__init__.py | 7 | CODE | |
| LOW | gradio/__init__.py | 7 | CODE | |
| LOW | gradio/__init__.py | 7 | CODE | |
| LOW | gradio/__init__.py | 7 | CODE | |
| LOW | gradio/__init__.py | 7 | CODE | |
| LOW | gradio/__init__.py | 8 | CODE | |
| LOW | gradio/__init__.py | 9 | CODE | |
| LOW | gradio/__init__.py | 9 | CODE | |
| LOW | gradio/__init__.py | 10 | CODE | |
| LOW | gradio/__init__.py | 11 | CODE | |
| LOW | gradio/__init__.py | 12 | CODE | |
| LOW | gradio/__init__.py | 12 | CODE | |
| LOW | gradio/__init__.py | 12 | CODE | |
| LOW | gradio/__init__.py | 12 | CODE | |
| LOW | gradio/__init__.py | 12 | CODE | |
| LOW | gradio/__init__.py | 12 | CODE | |
| LOW | gradio/__init__.py | 12 | CODE | |
| 396 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/test_node_proxy.py | 214 | except Exception: | CODE |
| HIGH | test/test_node_proxy.py | 332 | except OSError: | CODE |
| HIGH | test/test_node_proxy.py | 330 | except httpx.HTTPError: | CODE |
| HIGH | test/test_blocks.py | 2857 | except FileNotFoundError: | CODE |
| HIGH | test/test_processing_utils.py | 45 | except OSError: | CODE |
| HIGH | test/test_processing_utils.py | 223 | except OSError: | CODE |
| HIGH | test/test_processing_utils.py | 249 | except OSError: | CODE |
| HIGH | test/test_external.py | 209 | except TooManyRequestsError: | CODE |
| HIGH | test/test_external.py | 235 | except TooManyRequestsError: | CODE |
| HIGH | …oot_path/test_reverse_proxy_fastapi_mount_root_path.py | 31 | except StopIteration: | CODE |
| HIGH | test/components/test_video.py | 239 | except OSError: | CODE |
| HIGH | js/_website/generate_jsons/src/docs/__init__.py | 248 | except TypeError or KeyError: | CODE |
| HIGH | gradio/node_server.py | 245 | except Exception: | CODE |
| HIGH | gradio/node_server.py | 250 | except Exception: | CODE |
| HIGH | gradio/node_server.py | 278 | except Exception: | CODE |
| HIGH | gradio/node_server.py | 316 | except Exception: | CODE |
| HIGH | gradio/queueing.py | 424 | except CacheMissError: | CODE |
| HIGH | gradio/queueing.py | 803 | except ValueError: | CODE |
| HIGH | gradio/queueing.py | 1051 | except ValueError: | CODE |
| HIGH | gradio/queueing.py | 1100 | except Exception: | CODE |
| HIGH | gradio/queueing.py | 459 | except ValueError: | CODE |
| HIGH | gradio/route_utils.py | 1120 | except asyncio.CancelledError: | CODE |
| HIGH | gradio/route_utils.py | 239 | except pickle.PicklingError: | CODE |
| HIGH | gradio/processing_utils.py | 1352 | except FFRuntimeError: | CODE |
| HIGH | gradio/processing_utils.py | 1453 | except FFRuntimeError: | CODE |
| HIGH | gradio/screen_recording_utils.py | 100 | except OSError: | CODE |
| HIGH | gradio/http_server.py | 179 | except (OSError, ServerFailedToStartError): | CODE |
| HIGH | gradio/caching.py | 79 | except TypeError: | CODE |
| HIGH | gradio/caching.py | 137 | except ImportError: | CODE |
| HIGH | gradio/caching.py | 153 | except Exception: | CODE |
| HIGH | gradio/mcp.py | 369 | except ImportError: | CODE |
| HIGH | gradio/utils.py | 571 | except (ImportError, NameError): | CODE |
| HIGH | gradio/utils.py | 597 | except (ImportError, NameError): | CODE |
| HIGH | gradio/utils.py | 642 | except (httpx.InvalidURL, httpx.RequestError, httpx.TimeoutException): | CODE |
| HIGH | gradio/utils.py | 945 | except Exception: | CODE |
| HIGH | gradio/utils.py | 2008 | except subprocess.CalledProcessError: | CODE |
| HIGH | gradio/utils.py | 2020 | except (subprocess.CalledProcessError, FileNotFoundError): | CODE |
| HIGH | gradio/utils.py | 2190 | except Exception: | CODE |
| HIGH | gradio/utils.py | 968 | except (json.JSONDecodeError, ValueError, TypeError): | CODE |
| HIGH | gradio/utils.py | 1408 | except ImportError: | CODE |
| HIGH | gradio/utils.py | 1416 | except ImportError: | CODE |
| HIGH | gradio/ipython_ext.py | 11 | except ImportError: | CODE |
| HIGH | gradio/audio_stream_encoder.py | 375 | except subprocess.TimeoutExpired: | CODE |
| HIGH | gradio/audio_stream_encoder.py | 338 | except OSError: | CODE |
| HIGH | gradio/audio_stream_encoder.py | 384 | except OSError: | CODE |
| HIGH | gradio/analytics.py | 67 | except Exception: | CODE |
| HIGH | gradio/analytics.py | 84 | except asyncio.TimeoutError: | CODE |
| HIGH | gradio/analytics.py | 102 | except Exception: | CODE |
| HIGH | gradio/blocks.py | 3948 | except (AttributeError, OSError): # can't close if not running | CODE |
| HIGH | gradio/blocks.py | 238 | except ValueError: | CODE |
| HIGH | gradio/blocks.py | 244 | except KeyError: | CODE |
| HIGH | gradio/blocks.py | 3733 | except ImportError: | CODE |
| HIGH | gradio/helpers.py | 246 | except IndexError: | CODE |
| HIGH | gradio/routes.py | 1740 | except Exception: | CODE |
| HIGH | gradio/routes.py | 1847 | except (TimeoutError, asyncio.TimeoutError): | CODE |
| HIGH | gradio/cli/commands/deploy_space.py | 294 | except ValueError: | CODE |
| HIGH | gradio/cli/commands/reload.py | 152 | except (KeyboardInterrupt, OSError): | CODE |
| HIGH | gradio/components/chatbot.py | 198 | except AttributeError: | CODE |
| HIGH | gradio/themes/base.py | 168 | except (ValueError, IndexError): | CODE |
| HIGH | scripts/validate_workflow_curated.py | 117 | except httpx.HTTPError: | CODE |
| 5 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/dialogue_diarization_demo/run.py | 60 | except Exception as e: | CODE |
| MEDIUM | demo/dialogue_diarization_demo/run.py | 61 | print(f"Error in diarization: {str(e)}") | CODE |
| LOW | demo/dialogue_diarization_demo/run.py | 73 | except Exception as e: | CODE |
| LOW | demo/all_demos/run.py | 26 | except Exception as e: | CODE |
| LOW | demo/depth_estimation/run.py | 41 | except Exception: | CODE |
| MEDIUM | demo/depth_estimation/run.py | 47 | print("Error reconstructing 3D model") | CODE |
| LOW | demo/workflow/run.py | 24 | except Exception: | CODE |
| MEDIUM | test/test_utils.py | 433 | def my_check(path_1, path_2): | CODE |
| LOW | test/test_utils.py | 456 | except Exception as e: | CODE |
| LOW⚡ | test/test_node_proxy.py | 210 | except Exception: | CODE |
| LOW⚡ | test/test_node_proxy.py | 214 | except Exception: | CODE |
| LOW | test/test_no_growth.py | 20 | except Exception: | CODE |
| LOW | test/test_networking.py | 212 | except Exception as e: | CODE |
| MEDIUM | test/test_networking.py | 213 | print(f"Error processing HTML: {str(e)}") | CODE |
| LOW | test/test_networking.py | 258 | except Exception as e: | CODE |
| LOW | test/test_networking.py | 294 | except Exception: | CODE |
| LOW | test/test_docker/conftest.py | 117 | except Exception as e: | CODE |
| LOW⚡ | test/test_docker/conftest.py | 169 | except Exception as e: | CODE |
| MEDIUM⚡ | test/test_docker/conftest.py | 170 | print(f"Error during service check: {e}") | CODE |
| LOW⚡ | test/test_docker/conftest.py | 180 | except Exception as e: | CODE |
| MEDIUM⚡ | test/test_docker/conftest.py | 181 | print(f"Error during cleanup: {e}") | CODE |
| LOW | js/_website/generate_jsons/generate.py | 26 | except Exception as e: | CODE |
| MEDIUM | js/_website/generate_jsons/generate.py | 27 | print(f"Error listing objects in bucket {bucket_name}: {e}") | CODE |
| LOW⚡ | js/_website/generate_jsons/generate.py | 40 | except Exception as e: | CODE |
| MEDIUM⚡ | js/_website/generate_jsons/generate.py | 41 | print(f"Error downloading {s3_key}: {e}") | CODE |
| LOW | js/preview/src/examine.py | 74 | except Exception as e: | CODE |
| LOW | gradio/flagging.py | 277 | except Exception: | CODE |
| LOW | gradio/flagging.py | 416 | except Exception as e: | CODE |
| MEDIUM | gradio/flagging.py | 417 | print(f"Error while flagging: {e}") | CODE |
| LOW | gradio/image_utils.py | 197 | except Exception: | CODE |
| LOW | gradio/image_utils.py | 311 | except Exception: | CODE |
| LOW | gradio/node_server.py | 202 | except Exception as e: | CODE |
| LOW | gradio/node_server.py | 245 | except Exception: | CODE |
| LOW | gradio/node_server.py | 250 | except Exception: | CODE |
| LOW | gradio/node_server.py | 261 | except Exception: | CODE |
| LOW | gradio/node_server.py | 278 | except Exception: | CODE |
| LOW | gradio/node_server.py | 316 | except Exception: | CODE |
| LOW | gradio/block_function.py | 11 | except Exception: | CODE |
| MEDIUM | gradio/queueing.py | 502 | def start_processing(self) -> None: | CODE |
| LOW | gradio/queueing.py | 180 | except Exception as e: | CODE |
| LOW | gradio/queueing.py | 347 | except Exception as e: | CODE |
| LOW | gradio/queueing.py | 426 | except Exception: | CODE |
| LOW | gradio/queueing.py | 863 | except Exception as e: | CODE |
| LOW | gradio/queueing.py | 956 | except Exception as e: | CODE |
| LOW | gradio/queueing.py | 1033 | except Exception as e: | CODE |
| LOW | gradio/queueing.py | 1100 | except Exception: | CODE |
| LOW | gradio/route_utils.py | 485 | except Exception: | CODE |
| LOW | gradio/route_utils.py | 972 | except Exception: | CODE |
| LOW | gradio/route_utils.py | 1122 | except Exception: | CODE |
| LOW | gradio/route_utils.py | 1210 | except Exception: | CODE |
| LOW | gradio/route_utils.py | 1413 | except Exception as e: | CODE |
| LOW | gradio/route_utils.py | 1419 | except Exception as e: | CODE |
| LOW | gradio/route_utils.py | 1431 | except Exception as e: | CODE |
| LOW | gradio/route_utils.py | 1495 | except Exception as e: | CODE |
| MEDIUM | gradio/processing_utils.py | 1363 | print(f"Error converting audio to browser-playable format {str(e)}") | CODE |
| MEDIUM | gradio/processing_utils.py | 1460 | print(f"Error converting video to browser-playable format {str(e)}") | CODE |
| LOW | gradio/screen_recording_utils.py | 176 | except Exception: | CODE |
| LOW | gradio/screen_recording_utils.py | 326 | except Exception: | CODE |
| LOW | gradio/external_utils.py | 152 | except Exception as e: | CODE |
| LOW | gradio/external_utils.py | 248 | except Exception as e: | CODE |
| 144 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/chatbot_core_components_simple/run.py | 31 | CODE | |
| LOW | demo/calculator_live/run.py | 3 | CODE | |
| LOW | demo/dialogue_diarization_demo/run.py | 22 | CODE | |
| LOW | demo/image_segmentation/run.py | 32 | CODE | |
| LOW | demo/calculator/run.py | 3 | CODE | |
| LOW | demo/mini_leaderboard/run.py | 102 | CODE | |
| LOW | demo/outbreak_forecast/run.py | 6 | CODE | |
| LOW | demo/bar_plot/run.py | 53 | CODE | |
| LOW | demo/cache_demo/run.py | 55 | CODE | |
| LOW | demo/chatbot_core_components/run.py | 160 | CODE | |
| LOW | demo/dashboard/helpers.py | 68 | CODE | |
| LOW | demo/calculator_blocks/run.py | 3 | CODE | |
| LOW | demo/calculator_blocks_cached/run.py | 3 | CODE | |
| LOW | demo/line_plot/run.py | 40 | CODE | |
| LOW | test/test_queueing.py | 180 | CODE | |
| LOW | test/test_queueing.py | 236 | CODE | |
| LOW | test/test_components.py | 131 | CODE | |
| LOW | test/test_node_proxy.py | 279 | CODE | |
| LOW | test/test_node_proxy.py | 307 | CODE | |
| LOW | test/test_networking.py | 68 | CODE | |
| LOW | test/test_networking.py | 121 | CODE | |
| LOW | test/test_blocks.py | 2861 | CODE | |
| LOW | test/test_routes.py | 3384 | CODE | |
| LOW | test/test_routes.py | 1660 | CODE | |
| LOW | test/test_routes.py | 1707 | CODE | |
| LOW | test/test_docker/conftest.py | 74 | CODE | |
| LOW | test/test_docker/conftest.py | 77 | CODE | |
| LOW | …everse_proxy_root_path/test_reverse_proxy_root_path.py | 45 | CODE | |
| LOW | …t/test_docker/test_reverse_proxy/test_reverse_proxy.py | 45 | CODE | |
| LOW | …roxy_fastapi_mount/test_reverse_proxy_fastapi_mount.py | 45 | CODE | |
| LOW | …oot_path/test_reverse_proxy_fastapi_mount_root_path.py | 58 | CODE | |
| LOW | js/_website/generate_jsons/chunking.py | 22 | CODE | |
| LOW | js/_website/generate_jsons/src/docs/__init__.py | 51 | CODE | |
| LOW | js/_website/generate_jsons/src/docs/__init__.py | 68 | CODE | |
| LOW | js/_website/generate_jsons/src/docs/__init__.py | 87 | CODE | |
| LOW | js/_website/generate_jsons/src/docs/__init__.py | 115 | CODE | |
| LOW | js/_website/generate_jsons/src/docs/__init__.py | 143 | CODE | |
| LOW | gradio/flagging.py | 241 | CODE | |
| LOW | gradio/image_utils.py | 48 | CODE | |
| LOW | gradio/image_utils.py | 84 | CODE | |
| LOW | gradio/image_utils.py | 113 | CODE | |
| LOW | gradio/image_utils.py | 265 | CODE | |
| LOW | gradio/node_server.py | 94 | CODE | |
| LOW | gradio/tunneling.py | 83 | CODE | |
| LOW | gradio/queueing.py | 1141 | CODE | |
| LOW | gradio/queueing.py | 290 | CODE | |
| LOW | gradio/queueing.py | 502 | CODE | |
| LOW | gradio/queueing.py | 569 | CODE | |
| LOW | gradio/queueing.py | 615 | CODE | |
| LOW | gradio/queueing.py | 653 | CODE | |
| LOW | gradio/queueing.py | 771 | CODE | |
| LOW | gradio/route_utils.py | 283 | CODE | |
| LOW | gradio/route_utils.py | 1079 | CODE | |
| LOW | gradio/route_utils.py | 830 | CODE | |
| LOW | gradio/processing_utils.py | 462 | CODE | |
| LOW | gradio/processing_utils.py | 602 | CODE | |
| LOW | gradio/processing_utils.py | 791 | CODE | |
| LOW | gradio/processing_utils.py | 846 | CODE | |
| LOW | gradio/processing_utils.py | 490 | CODE | |
| LOW | gradio/processing_utils.py | 630 | CODE | |
| 140 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | test/test_workflow_api.py | 96 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow_api.py | 98 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow_api.py | 167 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow_api.py | 169 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/test_workflow_api.py | 33 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/test_workflow_api.py | 35 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/test_workflow_api.py | 259 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/test_workflow_api.py | 261 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/test_workflow_api.py | 455 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/test_workflow_api.py | 457 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/test_workflow_api.py | 599 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/test_workflow_api.py | 601 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow.py | 82 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow.py | 84 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow.py | 154 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow.py | 156 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow.py | 179 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow.py | 181 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow.py | 291 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow.py | 293 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow.py | 424 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow.py | 426 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow.py | 478 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/test_workflow.py | 480 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | js/workflowcanvas/Index.svelte | 30 | // ─── Canvas vs app view ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | js/workflowcanvas/workflow/workflow-store.ts | 168 | // ─── Actions ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | js/workflowcanvas/workflow/workflow-types.ts | 110 | // ─── v2 schema ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | js/workflowcanvas/workflow/workflow-migration.ts | 196 | // ─── v2 → v1 adapter ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | js/workflowcanvas/workflow/WorkflowCanvas.svelte | 498 | // ─── Canvas state ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | js/workflowcanvas/workflow/WorkflowCanvas.svelte | 565 | // ─── App state ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | js/workflowcanvas/workflow/WorkflowCanvas.svelte | 982 | // ─── Context for node components ──────────────────────────────────────────── | COMMENT |
| MEDIUM | js/workflowcanvas/workflow/WorkflowCanvas.svelte | 1114 | // ─── Custom canvas event handlers ─────────────────────────────────────────── | COMMENT |
| MEDIUM | js/workflowcanvas/workflow/WorkflowCanvas.svelte | 1937 | // ─── Helpers ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gradio/workflow_api.py | 58 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gradio/workflow_api.py | 60 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gradio/workflow_api.py | 274 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gradio/workflow_api.py | 276 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gradio/workflow_api.py | 350 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gradio/workflow_api.py | 352 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gradio/workflow_api.py | 601 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gradio/workflow_api.py | 603 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | gradio/_vendor/aiofiles/tempfile/__init__.py | 24 | # ================================================================ | COMMENT |
| MEDIUM⚡ | gradio/_vendor/aiofiles/tempfile/__init__.py | 27 | # ================================================================ | COMMENT |
| MEDIUM | gradio/_vendor/aiofiles/tempfile/__init__.py | 159 | # ========================================================= | COMMENT |
| MEDIUM | gradio/_vendor/aiofiles/tempfile/__init__.py | 161 | # ========================================================= | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | CHANGELOG.md | 0 | # state cleanup demo 🖼️ images are saved in a user-specific directory and deleted when the users closes the page via dem | STRING |
| HIGH | demo/state_cleanup/run.py | 0 | # state cleanup demo 🖼️ images are saved in a user-specific directory and deleted when the users closes the page via dem | STRING |
| HIGH | gradio/CHANGELOG.md | 0 | # state cleanup demo 🖼️ images are saved in a user-specific directory and deleted when the users closes the page via dem | STRING |
| HIGH | client/python/CHANGELOG.md | 0 | # state cleanup demo 🖼️ images are saved in a user-specific directory and deleted when the users closes the page via dem | STRING |
| HIGH | client/python/gradio_client/CHANGELOG.md | 0 | # state cleanup demo 🖼️ images are saved in a user-specific directory and deleted when the users closes the page via dem | STRING |
| HIGH | client/js/CHANGELOG.md | 0 | # state cleanup demo 🖼️ images are saved in a user-specific directory and deleted when the users closes the page via dem | STRING |
| HIGH | CHANGELOG.md | 0 | # hello world! start typing below to see the output. | STRING |
| HIGH | demo/blocks_hello/run.py | 0 | # hello world! start typing below to see the output. | STRING |
| HIGH | .agents/skills/gradio/references/examples.md | 0 | # hello world! start typing below to see the output. | STRING |
| HIGH | gradio/CHANGELOG.md | 0 | # hello world! start typing below to see the output. | STRING |
| HIGH | demo/star_rating_simple/run.py | 0 | img { height: 50px; display: inline-block; cursor: pointer; } .faded { filter: grayscale(100%); opacity: 0.3; } | STRING |
| HIGH | demo/star_rating_templates/run.py | 0 | img { height: 50px; display: inline-block; cursor: pointer; } .faded { filter: grayscale(100%); opacity: 0.3; } | STRING |
| HIGH | demo/star_rating_events/run.py | 0 | img { height: 50px; display: inline-block; cursor: pointer; } .faded { filter: grayscale(100%); opacity: 0.3; } | STRING |
| HIGH | demo/star_rating_component/run.py | 0 | img { height: 50px; display: inline-block; cursor: pointer; } .faded { filter: grayscale(100%); opacity: 0.3; } | STRING |
| HIGH | demo/star_rating_templates/run.py | 0 | <h2>${label} rating:</h2> ${array.from({length: 5}, (_, i) => `<img class='${i < value ? '' : 'faded'}' src='https://upl | STRING |
| HIGH | demo/star_rating_props/run.py | 0 | <h2>${label} rating:</h2> ${array.from({length: 5}, (_, i) => `<img class='${i < value ? '' : 'faded'}' src='https://upl | STRING |
| HIGH | demo/star_rating_component/run.py | 0 | <h2>${label} rating:</h2> ${array.from({length: 5}, (_, i) => `<img class='${i < value ? '' : 'faded'}' src='https://upl | STRING |
| HIGH | gradio/components/clear_button.py | 0 | parameters: parameters: value: default text for the button to display. if a function is provided, the function will be c | STRING |
| HIGH | gradio/components/button.py | 0 | parameters: parameters: value: default text for the button to display. if a function is provided, the function will be c | STRING |
| HIGH | gradio/components/duplicate_button.py | 0 | parameters: parameters: value: default text for the button to display. if a function is provided, the function will be c | STRING |
| HIGH | gradio/components/color_picker.py | 0 | parameters: value: a path or url for the default value that simpleimage component is going to take. if a function is pro | STRING |
| HIGH | gradio/_simple_templates/simpledropdown.py | 0 | parameters: value: a path or url for the default value that simpleimage component is going to take. if a function is pro | STRING |
| HIGH | gradio/_simple_templates/simpleimage.py | 0 | parameters: value: a path or url for the default value that simpleimage component is going to take. if a function is pro | STRING |
| HIGH | gradio/components/textbox.py | 0 | parameters: payload: the text entered in the textarea. returns: passes text value as a {str} into the function. | STRING |
| HIGH | gradio/components/datetime.py | 0 | parameters: payload: the text entered in the textarea. returns: passes text value as a {str} into the function. | STRING |
| HIGH | gradio/_simple_templates/simpletextbox.py | 0 | parameters: payload: the text entered in the textarea. returns: passes text value as a {str} into the function. | STRING |
| HIGH | gradio/layouts/draggable.py | 0 | parameters: visible: if false, group will be hidden. elem_id: an optional string that is assigned as the id of this comp | STRING |
| HIGH | gradio/layouts/walkthrough.py | 0 | parameters: visible: if false, group will be hidden. elem_id: an optional string that is assigned as the id of this comp | STRING |
| HIGH | gradio/layouts/group.py | 0 | parameters: visible: if false, group will be hidden. elem_id: an optional string that is assigned as the id of this comp | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/llm_hf_transformers/run.py | 18 | CODE | |
| LOW | demo/chatinterface_save_history/run.py | 5 | CODE | |
| LOW | demo/validator_test/run.py | 20 | CODE | |
| LOW | demo/dashboard/helpers.py | 127 | CODE | |
| LOW | demo/dashboard/helpers.py | 161 | CODE | |
| LOW | demo/theme_new_step_3/run.py | 9 | CODE | |
| LOW | demo/theme_new_step_2/run.py | 9 | CODE | |
| LOW | demo/chatbot_reasoning_tags/run.py | 19 | CODE | |
| LOW | demo/validator_interface/run.py | 20 | CODE | |
| LOW | gradio/server.py | 60 | CODE | |
| LOW | gradio/server.py | 180 | CODE | |
| LOW | gradio/server.py | 221 | CODE | |
| LOW | gradio/node_server.py | 33 | CODE | |
| LOW | gradio/events.py | 844 | CODE | |
| LOW | gradio/events.py | 1085 | CODE | |
| LOW | gradio/events.py | 543 | CODE | |
| LOW | gradio/events.py | 615 | CODE | |
| LOW | gradio/block_function.py | 23 | CODE | |
| LOW | gradio/interface.py | 84 | CODE | |
| LOW | gradio/chat_interface.py | 71 | CODE | |
| LOW | gradio/templates.py | 27 | CODE | |
| LOW | gradio/templates.py | 105 | CODE | |
| LOW | gradio/templates.py | 191 | CODE | |
| LOW | gradio/templates.py | 275 | CODE | |
| LOW | gradio/templates.py | 365 | CODE | |
| LOW | gradio/templates.py | 446 | CODE | |
| LOW | gradio/templates.py | 525 | CODE | |
| LOW | gradio/templates.py | 587 | CODE | |
| LOW | gradio/templates.py | 676 | CODE | |
| LOW | gradio/templates.py | 765 | CODE | |
| LOW | gradio/blocks.py | 903 | CODE | |
| LOW | gradio/blocks.py | 2593 | CODE | |
| LOW | gradio/blocks.py | 3041 | CODE | |
| LOW | gradio/helpers.py | 44 | CODE | |
| LOW | gradio/helpers.py | 109 | CODE | |
| LOW | gradio/routes.py | 2786 | CODE | |
| LOW | gradio/_vendor/aiofiles/threadpool/__init__.py | 37 | CODE | |
| LOW | gradio/_vendor/aiofiles/threadpool/__init__.py | 66 | CODE | |
| LOW | gradio/_vendor/aiofiles/tempfile/__init__.py | 93 | CODE | |
| LOW | gradio/_vendor/aiofiles/tempfile/__init__.py | 121 | CODE | |
| LOW | gradio/_vendor/aiofiles/tempfile/__init__.py | 278 | CODE | |
| LOW | gradio/_vendor/aiofiles/tempfile/__init__.py | 30 | CODE | |
| LOW | gradio/_vendor/aiofiles/tempfile/__init__.py | 63 | CODE | |
| LOW | gradio/_vendor/aiofiles/tempfile/__init__.py | 164 | CODE | |
| LOW | gradio/_vendor/aiofiles/tempfile/__init__.py | 222 | CODE | |
| LOW | gradio/cli/commands/skills.py | 301 | CODE | |
| LOW | gradio/cli/commands/load_chat.py | 10 | CODE | |
| LOW | gradio/cli/commands/components/create.py | 22 | CODE | |
| LOW | gradio/cli/commands/components/docs.py | 25 | CODE | |
| LOW | gradio/cli/commands/components/publish.py | 69 | CODE | |
| LOW | gradio/components/plot.py | 47 | CODE | |
| LOW | gradio/components/model3d.py | 35 | CODE | |
| LOW | gradio/components/login_button.py | 40 | CODE | |
| LOW | gradio/components/annotated_image.py | 51 | CODE | |
| LOW | gradio/components/highlighted_text.py | 42 | CODE | |
| LOW | gradio/components/clear_button.py | 32 | CODE | |
| LOW | gradio/components/dataframe.py | 63 | CODE | |
| LOW | gradio/components/checkboxgroup.py | 30 | CODE | |
| LOW | gradio/components/file_explorer.py | 40 | CODE | |
| LOW | gradio/components/paramviewer.py | 37 | CODE | |
| 59 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/test_utils.py | 846 | This is a test function. Args: param1: First parameter param2: Second parame | STRING |
| HIGH | gradio/media.py | 38 | Internal function to get the path to a media file. Args: media_type: Type of media (images, videos, au | STRING |
| HIGH | gradio/media.py | 76 | Get path to an image file. Args: filename: Filename of the image (e.g., "tower.jpg"). If None, returns | STRING |
| HIGH | gradio/media.py | 93 | Get path to a video file. Args: filename: Filename of the video (e.g., "world.mp4"). If None, returns | STRING |
| HIGH | gradio/media.py | 110 | Get path to an audio file. Args: filename: Filename of the audio (e.g., "cantina.wav"). If None, retur | STRING |
| HIGH | gradio/media.py | 127 | Get path to a 3D model file. Args: filename: Filename of the 3D model (e.g., "Duck.glb"). If None, ret | STRING |
| HIGH | gradio/media.py | 144 | Get path to a data file (CSV, JSON, text, etc.). Args: filename: Filename of the data file (e.g., "tit | STRING |
| HIGH | gradio/interface.py | 985 | Parameters: interface_list: A list of Interfaces (or Blocks) to be rendered in the tabs. | STRING |
| HIGH | gradio/utils.py | 861 | Runs coroutines in background. Warning, be careful to not use this function in other than FastAPI scope, becau | STRING |
| HIGH | gradio/utils.py | 2105 | Get the description of a function, its parameters, and return values by parsing the docstring. The docstring sh | STRING |
| HIGH | gradio/blocks.py | 954 | Adds an event to the component's dependencies. Parameters: targets: a list of EventListener | STRING |
| HIGH | gradio/blocks.py | 3099 | Launches a simple web server that serves the demo. Can also be used to create a public link used by any | STRING |
| HIGH | gradio/external.py | 55 | Constructs a Gradio app automatically from a Hugging Face model/Space repo name or a 3rd-party API provider. Note t | STRING |
| HIGH | gradio/external.py | 958 | Load a Gradio app from an OpenAPI v3 specification. Parameters: openapi_spec: URL, file path, or dicti | STRING |
| HIGH | gradio/data_classes.py | 302 | Copies the file to a specified directory and returns a new FileData object representing the copied file. | STRING |
| HIGH | guides/10_mcp/01_building-mcp-server-with-gradio.md | 155 | Make a request to everyone's favorite API. Args: prompt: The prompt to send to the API. Returns: | STRING |
| HIGH | client/python/gradio_client/client.py | 587 | Calls the Gradio API and returns the result (this is a blocking call). Arguments can be provided as positional | STRING |
| HIGH | client/python/gradio_client/client.py | 628 | Creates and returns a Job object which calls the Gradio API in a background thread. The job can be used to retr | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .agents/skills/hf-gradio/SKILL.md | 10 | ## Step 1 - Verify installation | COMMENT |
| LOW | .agents/skills/hf-gradio/SKILL.md | 20 | ### Step 2 - Use `info` to discover endpoints and payload format | COMMENT |
| LOW | .agents/skills/hf-gradio/SKILL.md | 53 | ## Step 3 - Use `predict` to generate the prediction | COMMENT |
| LOW | guides/08_custom-components/07_pdf-component-example.md | 9 | ## Step 0: Prerequisites | COMMENT |
| LOW | guides/08_custom-components/07_pdf-component-example.md | 15 | ## Step 1: Creating the custom component | COMMENT |
| LOW | guides/08_custom-components/07_pdf-component-example.md | 35 | ## Step 2: Frontend - modify javascript dependencies | COMMENT |
| LOW | guides/08_custom-components/07_pdf-component-example.md | 89 | ## Step 3: Frontend - Launching the Dev Server | COMMENT |
| LOW | guides/08_custom-components/07_pdf-component-example.md | 105 | ## Step 4: Frontend - The basic skeleton | COMMENT |
| LOW | guides/08_custom-components/07_pdf-component-example.md | 184 | ## Step 5: Frontend - Nicer Upload Text | COMMENT |
| LOW | guides/08_custom-components/07_pdf-component-example.md | 264 | ## Step 6: PDF Rendering logic | COMMENT |
| LOW | guides/08_custom-components/07_pdf-component-example.md | 351 | ## Step 7: Handling The File Upload And Clear | COMMENT |
| LOW | guides/08_custom-components/07_pdf-component-example.md | 395 | ## Step 8: Adding buttons to navigate pages | COMMENT |
| LOW | guides/08_custom-components/07_pdf-component-example.md | 532 | ## Step 9: The backend | COMMENT |
| LOW | guides/08_custom-components/07_pdf-component-example.md | 600 | ## Step 10: Add a demo and publish! | COMMENT |
| LOW | …ents-and-lite/07_fastapi-app-with-the-gradio-client.md | 29 | ## Step 1: Write the Video Processing Function | COMMENT |
| LOW | …ents-and-lite/07_fastapi-app-with-the-gradio-client.md | 89 | ## Step 2: Create a FastAPI app (Backend Routes) | COMMENT |
| LOW | …ents-and-lite/07_fastapi-app-with-the-gradio-client.md | 131 | ## Step 3: Create a FastAPI app (Frontend Template) | COMMENT |
| LOW | …ents-and-lite/07_fastapi-app-with-the-gradio-client.md | 173 | ## Step 4: Run your FastAPI app | COMMENT |
| LOW | …-clients-and-lite/03_querying-gradio-apps-with-curl.md | 58 | ## Step 0: Get the URL for your Gradio App | COMMENT |
| LOW | …-clients-and-lite/03_querying-gradio-apps-with-curl.md | 85 | ## Step 1: Make a Prediction (POST) | COMMENT |
| LOW | …-clients-and-lite/03_querying-gradio-apps-with-curl.md | 187 | ## Step 2: GET the result | COMMENT |
| LOW | …ides/11_other-tutorials/deploying-gradio-with-disco.md | 21 | ### Step 1: Create a Server | COMMENT |
| LOW | …ides/11_other-tutorials/deploying-gradio-with-disco.md | 27 | ### Step 2: Configure DNS Settings | COMMENT |
| LOW | …ides/11_other-tutorials/deploying-gradio-with-disco.md | 48 | ### Step 3: Test Your Server Connection | COMMENT |
| LOW | …ides/11_other-tutorials/deploying-gradio-with-disco.md | 63 | ### Step 4: Install the Disco CLI on Your Local Machine | COMMENT |
| LOW | …ides/11_other-tutorials/deploying-gradio-with-disco.md | 79 | ### Step 5: Initialize Your Server with Disco | COMMENT |
| LOW | …ides/11_other-tutorials/deploying-gradio-with-disco.md | 97 | ### Step 6: Fork the Example Gradio App | COMMENT |
| LOW | …ides/11_other-tutorials/deploying-gradio-with-disco.md | 101 | ### Step 7: Connect Disco to GitHub | COMMENT |
| LOW | …ides/11_other-tutorials/deploying-gradio-with-disco.md | 115 | ### Step 8: Deploy Your Gradio App | COMMENT |
| LOW | …ides/11_other-tutorials/deploying-gradio-with-disco.md | 128 | ### Step 9: Test Your Deployed App | COMMENT |
| LOW | …_other-tutorials/create-your-own-friends-with-a-gan.md | 143 | ## Step 5 - Polishing it up | COMMENT |
| LOW | guides/11_other-tutorials/plot-component-for-maps.md | 15 | ## Step 1 - Loading CSV data 💾 | COMMENT |
| LOW | guides/11_other-tutorials/plot-component-for-maps.md | 35 | ## Step 2 - Map Figure 🌐 | COMMENT |
| LOW | guides/11_other-tutorials/plot-component-for-maps.md | 73 | ## Step 3 - Gradio App ⚡️ | COMMENT |
| LOW | guides/11_other-tutorials/plot-component-for-maps.md | 96 | ## Step 4 - Deployment 🤗 | COMMENT |
| LOW | …des/11_other-tutorials/deploying-gradio-with-docker.md | 18 | #### Step 1: Create Your Gradio App | COMMENT |
| LOW | …des/11_other-tutorials/deploying-gradio-with-docker.md | 33 | #### Step 2: Create a Dockerfile | COMMENT |
| LOW | …des/11_other-tutorials/deploying-gradio-with-docker.md | 57 | #### Step 3: Build and Run Your Docker Container | COMMENT |
| LOW | …ides/11_other-tutorials/deploying-gradio-with-modal.md | 47 | ### Step 1: Define our `modal.Image` | COMMENT |
| LOW | …ides/11_other-tutorials/deploying-gradio-with-modal.md | 67 | ### Step 2: Wrap the Gradio app in a Modal-deployed FastAPI app | COMMENT |
| LOW | …ides/11_other-tutorials/deploying-gradio-with-modal.md | 100 | ### Step 3: Deploying on Modal | COMMENT |
| LOW | guides/11_other-tutorials/running-background-tasks.md | 25 | ## Step 1 - Write your database logic 💾 | COMMENT |
| LOW | guides/11_other-tutorials/running-background-tasks.md | 80 | ## Step 2 - Create a gradio app ⚡ | COMMENT |
| LOW | guides/11_other-tutorials/running-background-tasks.md | 99 | ## Step 3 - Synchronize with HuggingFace Datasets 🤗 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/blocks_essay_simple/run.py | 7 | return gr.Textbox(lines=8, visible=True, value="Lorem ipsum dolor sit amet") | CODE |
| LOW | demo/blocks_essay_simple/run.py | 7 | return gr.Textbox(lines=8, visible=True, value="Lorem ipsum dolor sit amet") | CODE |
| LOW | demo/sentence_builder/run.py | 16 | ["ran", "swam", "ate", "slept"], value=["swam", "slept"], multiselect=True, label="Activity", info="Lorem ip | CODE |
| LOW | demo/sentence_builder/run.py | 16 | ["ran", "swam", "ate", "slept"], value=["swam", "slept"], multiselect=True, label="Activity", info="Lorem ip | CODE |
| LOW | demo/dataframe_widths/run.py | 8 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", | CODE |
| LOW | demo/dataframe_widths/run.py | 8 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", | CODE |
| LOW | demo/blocks_xray/run.py | 15 | With this model you can lorem ipsum | STRING |
| LOW | demo/dataset_component/run.py | 11 | ["Lorem ipsum"], | CODE |
| LOW | demo/blocks_essay/run.py | 13 | return gr.Textbox(lines=8, visible=True, value="Lorem ipsum dolor sit amet"), gr.Button(interactive=True) | CODE |
| LOW | demo/blocks_essay/run.py | 13 | return gr.Textbox(lines=8, visible=True, value="Lorem ipsum dolor sit amet"), gr.Button(interactive=True) | CODE |
| LOW | demo/kitchen_sink/run.py | 90 | gr.Textbox(value="Lorem ipsum", label="Textbox"), | CODE |
| LOW⚡ | test/test_utils.py | 76 | in_article = "placeholder" | CODE |
| LOW⚡ | test/test_analytics.py | 31 | analytics._do_normal_analytics_request("placeholder", {}) | CODE |
| LOW⚡ | test/test_analytics.py | 37 | analytics.error_analytics("placeholder") | CODE |
| LOW⚡ | test/test_external.py | 393 | token="fake-token", | STRING |
| LOW⚡ | test/test_external.py | 411 | "http://fake-api.com/v1", model="test-model", token="fake-token", streaming=True | STRING |
| LOW | test/components/test_image_editor.py | 78 | "placeholder": None, | CODE |
| LOW | test/components/test_image.py | 58 | "placeholder": None, | CODE |
| LOW | test/components/test_textbox.py | 21 | "placeholder": None, | CODE |
| LOW | test/components/test_number.py | 37 | "placeholder": None, | CODE |
| LOW | test/components/test_number.py | 74 | "placeholder": None, | CODE |
| LOW | test/components/test_chatbot.py | 86 | "placeholder": None, | CODE |
| LOW | test/test_files/xray_config.json | 12 | "value": "# Detect Disease From Scan\nWith this model you can lorem ipsum\n- ipsum 1\n- ipsum 2", | CODE |
| LOW | test/test_files/xray_config_diff_ids.json | 12 | "value": "# Detect Disease From Scan\nWith this model you can lorem ipsum\n- ipsum 1\n- ipsum 2", | CODE |
| LOW | test/test_files/xray_config_wrong.json | 12 | "value": "# Detect Disease From Scan\nWith this model you can lorem ipsum\n- ipsum 1\n- ipsum 2", | CODE |
| LOW | js/atoms/src/Block.svelte | 274 | class="placeholder" | CODE |
| LOW | js/chatbot/shared/Examples.svelte | 39 | <div class="placeholder"> | CODE |
| LOW | js/utils/src/utils.svelte.ts | 13 | "placeholder", | CODE |
| LOW | js/spa/test/chatbot_multimodal.spec.ts | 7 | await textbox.fill("Lorem ipsum"); | CODE |
| LOW | js/spa/test/chatbot_multimodal.spec.ts | 19 | await expect(user_message).toEqual("Lorem ipsum"); | CODE |
| LOW | js/spa/test/blocks_essay.spec.ts | 11 | await expect(textbox).toHaveValue("Lorem ipsum dolor sit amet"); | CODE |
| LOW | js/spa/test/blocks_essay.spec.ts | 11 | await expect(textbox).toHaveValue("Lorem ipsum dolor sit amet"); | CODE |
| LOW | .agents/skills/gradio/references/examples.md | 14 | return gr.Textbox(lines=8, visible=True, value="Lorem ipsum dolor sit amet") | CODE |
| LOW | .agents/skills/gradio/references/examples.md | 14 | return gr.Textbox(lines=8, visible=True, value="Lorem ipsum dolor sit amet") | CODE |
| LOW | gradio/test_data/blocks_configs.py | 11 | "value": "<h1>Detect Disease From Scan</h1>\n<p>With this model you can lorem ipsum</p>\n<ul>\n<li>ipsum | CODE |
| LOW | gradio/test_data/blocks_configs.py | 359 | "value": "<h1>Detect Disease From Scan</h1>\n<p>With this model you can lorem ipsum</p>\n<ul>\n<li>ipsum | CODE |
| LOW | gradio/test_data/blocks_configs.py | 708 | "value": "<h1>Detect Disease From Scan</h1>\n<p>With this model you can lorem ipsum</p>\n<ul>\n<li>ipsum | CODE |
| LOW | gradio/layouts/accordion.py | 22 | gr.Markdown("lorem ipsum") | STRING |
| LOW | gradio/themes/builder_app.py | 324 | placeholder="John Doe", | CODE |
| LOW | gradio/themes/builder_app.py | 325 | value="John Doe", | CODE |
| LOW | gradio/themes/builder_app.py | 342 | info="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt | CODE |
| LOW | gradio/themes/builder_app.py | 342 | info="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt | CODE |
| LOW | gradio/themes/app.py | 37 | placeholder="John Doe", | STRING |
| LOW | gradio/themes/app.py | 38 | value="John Doe", | STRING |
| LOW | gradio/themes/app.py | 53 | info="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labor | STRING |
| LOW | gradio/themes/app.py | 53 | info="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labor | STRING |
| LOW | guides/05_chatbots/01_creating-a-chatbot-fast.md | 171 | Here's another example that adds a "placeholder" for your chat interface, which appears before the user has started chat | CODE |
| LOW | scripts/overwrite_xray_config.py | 24 | With this model you can lorem ipsum | STRING |
| LOW | scripts/overwrite_xray_config.py | 63 | With this model you can lorem ipsum | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | demo/super_html/run.py | 301 | completed.push(index); | CODE |
| HIGH | demo/kitchen_sink/run.py | 10 | JSONOBJ = """{"items":{"item":[{"id": "0001","type": null,"is_good": false,"ppu": 0.55,"batters":{"batter":[{ "id": "100 | CODE |
| HIGH | gradio/mcp.py | 294 | return client.command ? client.command : JSON.stringify(client.config, null, 2); | CODE |
| HIGH | gradio/mcp.py | 325 | if (navigator.clipboard && navigator.clipboard.writeText) { | CODE |
| HIGH | gradio/routes.py | 1701 | success, event_id, state = await blocks._queue.push( | CODE |
| HIGH | gradio/components/deep_link_button.py | 122 | navigator.clipboard.writeText(currentUrl.toString()); | CODE |
| HIGH | …dio/components/custom_html_components/audio_gallery.py | 23 | <div class="audio-label">${labels && labels[i] ? labels[i] : 'Audio ' + (i + 1)}</div> | CODE |
| HIGH | …dio/components/custom_html_components/audio_gallery.py | 87 | timeDisplay.textContent = `${minutes}:${seconds.toString().padStart(2, '0')}`; | CODE |
| HIGH | gradio/themes/builder_app.py | 858 | if (fonts && Array.isArray(fonts)) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/scatter_plot/run.py | 1 | import gradio as gr | COMMENT |
| LOW | demo/line_plot/run.py | 21 | # [ | COMMENT |
| LOW | test/test_theme_sharing.py | 281 | def test_get_next_version(self, mock): | COMMENT |
| LOW | test/requirements.txt | 1 | # This file was autogenerated by uv via the following command: | COMMENT |
| LOW | test/requirements.txt | 21 | # via | COMMENT |
| LOW | test/requirements.txt | 41 | click==8.4.2 | COMMENT |
| LOW | test/requirements.txt | 61 | email-validator==2.3.0 | COMMENT |
| LOW | test/requirements.txt | 81 | # via matplotlib | COMMENT |
| LOW | test/requirements.txt | 101 | # -r test/requirements.in | COMMENT |
| LOW | test/requirements.txt | 121 | jedi==0.20.0 | COMMENT |
| LOW | test/requirements.txt | 161 | networkx==3.4.2 | COMMENT |
| LOW | test/requirements.txt | 181 | # build | COMMENT |
| LOW | test/requirements.txt | 201 | platformdirs==4.11.2 | COMMENT |
| LOW | test/requirements.txt | 221 | # via pydantic | COMMENT |
| LOW | test/requirements.txt | 241 | pytest-rerunfailures==16.4 | COMMENT |
| LOW | test/requirements.txt | 261 | # transformers | COMMENT |
| LOW | test/requirements.txt | 281 | # diffusers | COMMENT |
| LOW | test/requirements.txt | 301 | # -r test/requirements.in | COMMENT |
| LOW | test/requirements.txt | 321 | # transformers | COMMENT |
| LOW | test/requirements.txt | 341 | # pydantic | COMMENT |
| LOW | test/tmp/tmp.txt | 1 | # tmp files saved here | COMMENT |
| LOW | js/core/src/resize.ts | 121 | if (next > state.last_reported_height) { | COMMENT |
| LOW | js/core/src/stores.ts | 1 | import { type Writable, writable, get } from "svelte/store"; | COMMENT |
| LOW | js/core/src/init.svelte.ts | 541 | const old_value = node?.props.props.value; | COMMENT |
| LOW | js/utils/src/utils.svelte.ts | 621 | // @ts-ignore | COMMENT |
| LOW | js/row/Index.svelte | 1 | <script lang="ts"> | COMMENT |
| LOW | js/_spaces-test/vite.config.js | 101 | // discloseVersion: false, | COMMENT |
| LOW | js/theme/src/index.ts | 1 | // export { default as reset } from "./reset.css"; | COMMENT |
| LOW | js/workflowcanvas/workflow/WorkflowCanvas.svelte | 321 | // A viewer who has arranged this workflow before gets their own layout | COMMENT |
| LOW | js/_website/generate_jsons/chunking.py | 141 | chunks.content.pop(i) | COMMENT |
| LOW | js/_website/generate_jsons/embed.py | 21 | # def embed_and_upload(title, _type, url, contents): | COMMENT |
| LOW | js/_website/generate_jsons/embed.py | 41 | # data = response.json() | COMMENT |
| LOW | js/_website/generate_jsons/embed.py | 61 | # {"role": "user", "content": content} | COMMENT |
| LOW | js/_website/generate_jsons/embed.py | 81 | # chunks = chunker.chunk_page(guide["title"], guide["slug"], description, guide["type"]) | COMMENT |
| LOW | js/_website/generate_jsons/embed.py | 101 | # WHERE type = 'DEMO' | COMMENT |
| LOW | js/_website/generate_jsons/embed.py | 141 | ) | COMMENT |
| LOW | js/_website/src/lib/prism.ts | 1 | import Prism from "prismjs"; | COMMENT |
| LOW | js/preview/src/plugins.ts | 141 | COMMENT | |
| LOW | js/imageeditor/types.ts | 61 | // export let _selectable = false; | COMMENT |
| LOW | gradio/utils.py | 401 | # Need to import the module in this thread so that the | COMMENT |
| LOW | scripts/helpers.sh | 21 | ####################################### | COMMENT |
| LOW | scripts/helpers.sh | 41 | } | COMMENT |
| LOW | scripts/helpers.sh | 61 | function aws_required() { | COMMENT |
| LOW | scripts/profile_e2e/run.sh | 1 | #!/usr/bin/env bash | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | demo/mcp_resources_and_prompts/fastmcp.py | 9 | # Create an MCP server | COMMENT |
| MEDIUM | demo/yolov10_webcam_stream/utils.py | 87 | # Create a list of colors for each class where each color is a tuple of 3 integer values | COMMENT |
| MEDIUM | demo/magic_8_ball/run.py | 52 | # Create an audio segment from the numpy array | COMMENT |
| MEDIUM | gradio/route_utils.py | 854 | # Create the parser. | COMMENT |
| MEDIUM | gradio/external.py | 558 | if "allow_flagging" in config: # Create an Interface for Gradio 2.x Spaces | CODE |
| MEDIUM | gradio/external.py | 562 | else: # Create a Blocks for Gradio 3.x Spaces | CODE |
| MEDIUM | scripts/upload_demo_to_space.py | 38 | # Create the repository if it doesn't exist | COMMENT |
| MEDIUM | scripts/upload_demo_to_space.py | 78 | # Create the repository if it doesn't exist | STRING |
| MEDIUM | client/python/gradio_client/client.py | 209 | # Create a pool of threads to handle the requests | COMMENT |
| MEDIUM | client/python/gradio_client/utils.py | 597 | # Create a new copy of the error dict so we | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | js/preview/test/test/backend/gradio_test/__init__.py | 4 | __all__ = ['Test'] | CODE |
| LOW | gradio/route_utils.py | 92 | logger = logging.getLogger(__name__) | CODE |
| LOW | gradio/chat_interface.py | 552 | def _setup_events(self) -> None: | CODE |
| LOW | gradio/__init__.py | 147 | __all__ = [ | CODE |
| LOW | gradio/ranged_response.py | 85 | def set_range_headers(self, range: ClosedRange) -> None: | CODE |
| LOW | gradio/utils.py | 1477 | def set_static_paths(paths: str | Path | list[str | Path]) -> None: | CODE |
| LOW | gradio/audio_stream_encoder.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | gradio/workflow.py | 148 | logger = logging.getLogger(__name__) | CODE |
| LOW | gradio/workflow_api.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | gradio/history.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | gradio/_vendor/aiofiles/os.py | 8 | __all__ = [ | CODE |
| LOW | gradio/_vendor/aiofiles/__init__.py | 14 | __all__ = [ | CODE |
| LOW⚡ | gradio/_vendor/aiofiles/tempfile/__init__.py | 16 | __all__ = [ | CODE |
| LOW | gradio/_vendor/ffmpy/__init__.py | 3 | __all__ = ["FFmpeg", "FFprobe", "FFExecutableNotFoundError", "FFRuntimeError"] | CODE |
| LOW | gradio/cli/__init__.py | 4 | __all__ = ["cli", "deploy", "custom_component", "sketch"] | CODE |
| LOW | gradio/cli/commands/__init__.py | 13 | __all__ = [ | CODE |
| LOW | gradio/cli/commands/components/_create_utils.py | 464 | __all__ = ['{name}'] | CODE |
| LOW | gradio/cli/commands/components/__init__.py | 3 | __all__ = ["app"] | CODE |
| LOW | gradio/components/__init__.py | 66 | __all__ = [ | CODE |
| LOW | gradio/components/video.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | gradio/layouts/__init__.py | 11 | __all__ = [ | CODE |
| LOW | gradio/_simple_templates/__init__.py | 5 | __all__ = ["SimpleDropdown", "SimpleTextbox", "SimpleImage"] | CODE |
| LOW | gradio/themes/__init__.py | 18 | __all__ = [ | CODE |
| LOW | gradio/themes/utils/__init__.py | 7 | __all__ = [ | CODE |
| LOW | client/python/gradio_client/__init__.py | 5 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CHANGELOG.md | 438 | - [#13176](https://github.com/gradio-app/gradio/pull/13176) [`45c4ecd`](https://github.com/gradio-app/gradio/commit/45c4 | CODE |
| MEDIUM | demo/llm_llamaindex/run.py | 1 | # This is a simple RAG chatbot built on top of Llama Index and Gradio. It allows you to upload any text or PDF files and | COMMENT |
| MEDIUM | js/statustracker/CHANGELOG.md | 74 | - [#13176](https://github.com/gradio-app/gradio/pull/13176) [`45c4ecd`](https://github.com/gradio-app/gradio/commit/45c4 | CODE |
| MEDIUM | js/markdown-code/CHANGELOG.md | 54 | - [#13176](https://github.com/gradio-app/gradio/pull/13176) [`45c4ecd`](https://github.com/gradio-app/gradio/commit/45c4 | CODE |
| MEDIUM | gradio/CHANGELOG.md | 438 | - [#13176](https://github.com/gradio-app/gradio/pull/13176) [`45c4ecd`](https://github.com/gradio-app/gradio/commit/45c4 | CODE |
| MEDIUM | client/js/CHANGELOG.md | 87 | - [#13176](https://github.com/gradio-app/gradio/pull/13176) [`45c4ecd`](https://github.com/gradio-app/gradio/commit/45c4 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/chatbot_feedback/run.py | 8 | # Set feedback_value to ["Like"] for the assistant message | COMMENT |
| LOW | test/test_networking.py | 128 | # Check if the path is for a JS module | COMMENT |
| LOW | test/test_interfaces.py | 317 | live=True, # Set live to True for real-time feedback | CODE |
| LOW | test/test_docker/conftest.py | 18 | # Check if wheels already exist (e.g., copied from CI artifacts) | COMMENT |
| LOW | gradio/route_utils.py | 370 | # Set parent to None to avoid pickle issues in ZeroGPU | COMMENT |
| LOW | gradio/route_utils.py | 860 | # Write file data, it needs to use await with the UploadFile methods | COMMENT |
| LOW | gradio/utils.py | 565 | try: # Check if running interactively using ipython. | CODE |
| LOW | gradio/utils.py | 592 | try: # Check if running interactively using ipython. | CODE |
| LOW | gradio/blocks.py | 3669 | # Check if running in a Python notebook in which case, display inline | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/llm_openai/run.py | 2 | # Before running this, make sure you have exported your OpenAI API key as an environment variable: | COMMENT |
| LOW | demo/llm_claude/run.py | 2 | # Before running this, make sure you have exported your Anthropic API key as an environment variable: | COMMENT |
| LOW | demo/llm_minimax/run.py | 2 | # Before running this, make sure you have exported your MiniMax API key as an environment variable: | COMMENT |
| LOW | demo/llm_llamaindex/run.py | 2 | # Before running this, make sure you have exported your OpenAI API key as an environment variable: | COMMENT |
| LOW | demo/llm_langchain/run.py | 2 | # Before running this, make sure you have exported your OpenAI API key as an environment variable: | COMMENT |
| LOW | demo/llm_hyperbolic/run.py | 2 | # Before running this, make sure you have exported your Hyperbolic API key as an environment variable: | COMMENT |
| LOW | demo/llm_sambanova/run.py | 2 | # Before running this, make sure you have exported your SambaNova API key as an environment variable: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | js/plot/shared/plot_types/altair_utils.ts | 83 | d.encoding.color.scale.range = d.encoding.color.scale.range.map( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gradio/blocks.py | 371 | # copying the file to the cache and just use the remote file path. | COMMENT |
| LOW | gradio/blocks.py | 411 | # copying the file to the cache and just use the remote file path. | COMMENT |
| LOW | gradio/cli/commands/components/publish.py | 58 | # If anything goes wrong, just return None so we upload all files | COMMENT |
| LOW | gradio/components/video.py | 442 | # to another format and have a watermark added, we can just return the URL | COMMENT |
| MEDIUM | scripts/download_offline_assets.py | 151 | # test harness), so fetch the pinned v4.3.1 build rather than copying it. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/test_networking.py | 121 | def handle_request(self): | CODE |
| LOW | gradio/helpers.py | 790 | def my_function(x, progress=gr.Progress()): | STRING |
| LOW | client/python/test/conftest.py | 140 | def my_function(x, progress=gr.Progress()): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/test_routes.py | 2848 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gradio/cli/commands/components/_create_utils.py | 417 | ## Example usage | STRING |
| LOW | scripts/profile_e2e/run.sh | 4 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gradio/analytics.py | 139 | # Sometimes the target can be the Blocks object itself, so we need to check if its in blocks.blocks | COMMENT |