Get your documents ready for gen AI
This report summarizes scanner evidence for docling-project/docling, a Python project with 68,644 GitHub stars. SynthScan examined 650,369 lines of code across 1375 source files, recording 4076 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 7.4 (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? 2914 finding(s).
Are imports declared and package/API names verified? 704 finding(s).
Are wrappers, guards, and repeated structures necessary? 2794 finding(s).
Which changes need focused human review? 4076 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 4076 distinct pattern matches across 20 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 | tests/verify_utils.py | 50 | def _strip_embedded_image_data(text: str) -> str: | CODE |
| LOW | tests/test_kserve_v2_binary.py | 17 | def test_bytes_tensor_binary_encoding_round_trip() -> None: | CODE |
| LOW | tests/test_kserve_v2_binary.py | 52 | def test_http_binary_request_serialization() -> None: | CODE |
| LOW | tests/test_kserve_v2_binary.py | 106 | def test_http_binary_response_decoding() -> None: | CODE |
| LOW | tests/test_backend_mets_gbs.py | 87 | def test_page_missing_coordocr_is_skipped_not_crashed(): | CODE |
| LOW | tests/test_backend_mets_gbs.py | 111 | def test_max_file_bytes_limit(test_doc_path): | CODE |
| LOW | tests/test_backend_mets_gbs.py | 125 | def test_max_total_bytes_limit(test_doc_path): | CODE |
| LOW | tests/test_backend_mets_gbs.py | 142 | def test_max_member_count_limit(test_doc_path): | CODE |
| LOW | tests/test_backend_mets_gbs.py | 156 | def test_limits_with_valid_values(test_doc_path): | CODE |
| LOW | tests/test_backend_mets_gbs.py | 183 | def test_total_bytes_tracking_across_pages(test_doc_path): | CODE |
| LOW | tests/test_backend_mets_gbs.py | 242 | def test_member_limit_enforced_while_iterating(test_doc_path, tmp_path): | CODE |
| LOW | tests/test_backend_mets_gbs.py | 265 | def test_members_after_needed_files_are_not_read(test_doc_path, tmp_path): | CODE |
| LOW | tests/test_backend_mets_gbs.py | 293 | def test_format_detection_stops_at_member_limit(test_doc_path, tmp_path): | CODE |
| LOW | tests/test_backend_mets_gbs.py | 311 | def test_stream_input_matches_path_input(test_doc_path): | CODE |
| LOW | tests/test_run_pr_fast_checks.py | 49 | def test_collect_targets_limits_scope_to_supported_paths(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_run_pr_fast_checks.py | 98 | def test_collect_targets_uses_smoke_target_for_tooling_only_changes( | CODE |
| LOW | tests/test_run_pr_fast_checks.py | 118 | def test_collect_targets_skips_unrelated_changes(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_run_pr_fast_checks.py | 134 | def test_build_check_units_uses_ty_check(monkeypatch) -> None: | CODE |
| LOW | tests/test_run_pr_fast_checks.py | 156 | def test_git_helpers_accept_synthetic_merge_tree(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_run_pr_fast_checks.py | 199 | def test_log_result_suppresses_success_output(capsys) -> None: | CODE |
| LOW | tests/test_run_pr_fast_checks.py | 217 | def test_log_result_prints_failure_output(capsys) -> None: | CODE |
| LOW | tests/test_run_pr_fast_checks.py | 235 | def test_significant_regression_requires_same_successful_target_set() -> None: | CODE |
| LOW | tests/test_ai_pr_triage.py | 67 | def test_issue_refs_ignore_own_number_other_repos_and_anchors() -> None: | CODE |
| LOW | tests/test_ai_pr_triage.py | 75 | def test_sensitive_paths_force_care_and_hints_only_flag_added_lines() -> None: | CODE |
| LOW | tests/test_ai_pr_triage.py | 106 | def test_overlap_needs_intersecting_hunks_or_many_shared_files() -> None: | CODE |
| LOW | tests/test_ai_pr_triage.py | 122 | def test_answer_with_unknown_pr_or_verdict_is_rejected() -> None: | CODE |
| LOW | tests/test_ai_pr_triage.py | 133 | def test_answer_is_read_from_fenced_final_message() -> None: | CODE |
| LOW | tests/test_ai_pr_triage.py | 157 | def test_model_text_is_literal_in_the_comment() -> None: | CODE |
| LOW | tests/test_ai_pr_triage.py | 188 | def test_model_code_span_cannot_be_closed_early() -> None: | CODE |
| LOW | tests/test_ai_pr_triage.py | 194 | def test_deterministic_findings_override_a_safe_model_verdict() -> None: | CODE |
| LOW | tests/test_ai_pr_triage.py | 206 | def test_stored_result_round_trips_through_validation_in_publish() -> None: | CODE |
| LOW | tests/test_ai_pr_triage.py | 218 | def test_comment_shows_duplicates_collapses_related_and_hides_unrelated() -> None: | CODE |
| LOW | tests/test_ai_pr_triage.py | 241 | def test_comment_states_failed_analysis() -> None: | CODE |
| LOW | tests/test_ai_pr_triage.py | 249 | def test_model_topics_must_come_from_the_repository_label_set() -> None: | CODE |
| LOW | tests/test_factory_plugins.py | 63 | def test_external_plugin_not_imported_when_disallowed(): | CODE |
| LOW | tests/test_factory_plugins.py | 73 | def test_external_plugin_loaded_when_allowed(): | CODE |
| LOW⚡ | tests/test_rapid_ocr_lang.py | 539 | def test_parse_rapidocr_model_spec_rejects_invalid_pairs(spec: str) -> None: | CODE |
| LOW⚡ | tests/test_rapid_ocr_lang.py | 547 | def test_rapidocr_options_model_size_defaults_to_small() -> None: | CODE |
| LOW⚡ | tests/test_rapid_ocr_lang.py | 551 | def test_rapidocr_options_model_size_rejects_invalid_value() -> None: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 47 | def fake_download_url_with_progress(url: str, *, progress: bool) -> BytesIO: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 104 | def test_resolve_populates_the_whole_spec() -> None: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 148 | def test_resolve_script_families_route_by_backend() -> None: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 164 | def test_resolve_rejects_a_malformed_tag() -> None: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 169 | def test_resolve_raises_on_unsupported_language() -> None: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 259 | def test_rapidocr_malformed_language_raises_at_options_time() -> None: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 265 | def test_rapidocr_unsupported_language_raises(monkeypatch, tmp_path: Path) -> None: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 279 | def test_rapidocr_no_artifacts_uses_library_params(monkeypatch, tmp_path: Path) -> None: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 299 | def test_rapidocr_pinned_paths_skip_download(monkeypatch, tmp_path: Path) -> None: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 324 | def test_rapidocr_artifacts_pinned_det_rec_still_requires_cls( | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 359 | def test_rapidocr_artifacts_missing_raises_with_prefetch_hint( | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 378 | def test_rapidocr_artifacts_never_downloads(monkeypatch, tmp_path: Path) -> None: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 400 | def test_rapidocr_missing_pinned_path_raises( | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 426 | def fake_download_url_with_progress(url: str, *, progress: bool) -> BytesIO: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 448 | def test_model_downloader_fetches_rapidocr_per_backend( | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 482 | def test_model_downloader_rapidocr_models_replaces_default( | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 517 | def test_model_downloader_rejects_bad_rapidocr_spec(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 527 | def test_parse_rapidocr_model_spec_accepts_valid_pairs(spec: str) -> None: | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 583 | def test_rapidocr_model_size_never_affects_classification( | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 595 | def test_rapidocr_model_size_tiny_rejects_japanese_at_options_time( | CODE |
| LOW | tests/test_rapid_ocr_lang.py | 612 | def test_rapidocr_model_size_tiny_rejects_japanese_without_artifacts_path( | CODE |
| 2265 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pyproject.toml | 76 | # ============================================================================ | COMMENT |
| MEDIUM | pyproject.toml | 78 | # ============================================================================ | COMMENT |
| MEDIUM | pyproject.toml | 91 | # ============================================================================ | COMMENT |
| MEDIUM | pyproject.toml | 93 | # ============================================================================ | COMMENT |
| MEDIUM | pyproject.toml | 196 | # ============================================================================ | COMMENT |
| MEDIUM | pyproject.toml | 198 | # ============================================================================ | COMMENT |
| MEDIUM | pyproject.toml | 231 | # ============================================================================ | COMMENT |
| MEDIUM | pyproject.toml | 233 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | pyproject.toml | 278 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | pyproject.toml | 280 | # ============================================================================ | COMMENT |
| MEDIUM | pyproject.toml | 307 | # ============================================================================ | COMMENT |
| MEDIUM | pyproject.toml | 309 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/test_vlm_presets_and_runtime_options.py | 47 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_vlm_presets_and_runtime_options.py | 49 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_vlm_presets_and_runtime_options.py | 509 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_vlm_presets_and_runtime_options.py | 511 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_vlm_presets_and_runtime_options.py | 551 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_vlm_presets_and_runtime_options.py | 553 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_vlm_presets_and_runtime_options.py | 663 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_vlm_presets_and_runtime_options.py | 665 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_vlm_presets_and_runtime_options.py | 763 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_vlm_presets_and_runtime_options.py | 765 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_vlm_presets_and_runtime_options.py | 346 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_vlm_presets_and_runtime_options.py | 348 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_layout_migration.py | 51 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_layout_migration.py | 53 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_layout_migration.py | 115 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_layout_migration.py | 117 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_layout_migration.py | 128 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_layout_migration.py | 130 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_layout_migration.py | 220 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_layout_migration.py | 222 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_drawingml_utils.py | 76 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_drawingml_utils.py | 78 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_drawingml_utils.py | 150 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_drawingml_utils.py | 152 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reading_order.py | 322 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reading_order.py | 335 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reading_order.py | 457 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_reading_order.py | 464 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_service_client_sdk_unit.py | 2902 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_service_client_sdk_unit.py | 2904 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_service_client_sdk_unit.py | 3367 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_service_client_sdk_unit.py | 3369 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_service_client_integration.py | 297 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_service_client_integration.py | 299 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | docling/pipeline/asr_transcriber.py | 702 | # ============================================================ | COMMENT |
| MEDIUM⚡ | docling/pipeline/asr_transcriber.py | 705 | # ============================================================ | COMMENT |
| MEDIUM⚡ | docling/pipeline/asr_transcriber.py | 708 | # ============================================================ | COMMENT |
| MEDIUM⚡ | docling/pipeline/asr_transcriber.py | 710 | # ============================================================ | COMMENT |
| MEDIUM | docling/pipeline/standard_pdf_pipeline.py | 101 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docling/pipeline/standard_pdf_pipeline.py | 103 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docling/pipeline/standard_pdf_pipeline.py | 581 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docling/pipeline/standard_pdf_pipeline.py | 583 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docling/pipeline/standard_pdf_pipeline.py | 597 | # ──────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docling/pipeline/standard_pdf_pipeline.py | 599 | # ──────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docling/pipeline/standard_pdf_pipeline.py | 726 | # ──────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docling/pipeline/standard_pdf_pipeline.py | 728 | # ──────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cling/models/stages/chart_extraction/granite_vision.py | 109 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …cling/models/stages/chart_extraction/granite_vision.py | 111 | # ------------------------------------------------------------------ | COMMENT |
| 84 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_run_pr_fast_checks.py | 4 | CODE | |
| LOW | tests/test_ai_pr_triage.py | 4 | CODE | |
| LOW | tests/test_deepseekocr_vlm.py | 6 | CODE | |
| LOW | tests/test_deepseekocr_vlm.py | 8 | CODE | |
| LOW | tests/test_deepseekocr_vlm.py | 22 | CODE | |
| LOW | tests/test_deepseekocr_vlm.py | 22 | CODE | |
| LOW | tests/test_backend_webp.py | 11 | CODE | |
| LOW | tests/test_kserve_v2_http_client.py | 16 | CODE | |
| LOW | tests/test_service_client_fake_service.py | 16 | CODE | |
| LOW | tests/test_speaker_diarization.py | 11 | CODE | |
| LOW | tests/test_page_assemble_model.py | 16 | CODE | |
| LOW | tests/test_page_assemble_model.py | 138 | CODE | |
| LOW | tests/test_backend_html.py | 10 | CODE | |
| LOW | tests/test_extraction.py | 15 | CODE | |
| LOW | tests/test_pytest_marker_selection.py | 4 | CODE | |
| LOW | tests/test_asr_mlx_whisper.py | 15 | CODE | |
| LOW | tests/test_asr_mlx_whisper.py | 15 | CODE | |
| LOW | tests/test_asr_mlx_whisper.py | 15 | CODE | |
| LOW | tests/test_api_kserve_v2_engine_scaffolding.py | 6 | CODE | |
| LOW | tests/test_e2e_nemotron_ocr_conversion.py | 82 | CODE | |
| LOW | tests/test_conversion_result_json.py | 4 | CODE | |
| LOW | tests/test_conversion_result_json.py | 7 | CODE | |
| LOW | tests/test_conversion_result_json.py | 9 | CODE | |
| LOW | tests/test_conversion_result_json.py | 13 | CODE | |
| LOW | tests/test_backend_mhtml.py | 4 | CODE | |
| LOW | tests/test_pr_approval_reminder.py | 4 | CODE | |
| LOW | tests/test_kserve_v2_ocr_integration.py | 7 | CODE | |
| LOW | tests/test_ai_pr_event.py | 4 | CODE | |
| LOW | tests/test_check_needs_results.py | 4 | CODE | |
| LOW | tests/test_paddleocr_vl_utils.py | 12 | CODE | |
| LOW | tests/test_heading_hierarchy.py | 15 | CODE | |
| LOW | tests/test_ocr_engine_language_mapping.py | 25 | CODE | |
| LOW | tests/test_backend_asciidoc.py | 23 | CODE | |
| LOW | tests/test_api_openai_compatible_fake.py | 16 | CODE | |
| LOW | tests/test_service_client_payload_fidelity.py | 19 | CODE | |
| LOW | tests/test_service_datamodels.py | 32 | CODE | |
| LOW | tests/test_e2e_ocr_conversion.py | 10 | CODE | |
| LOW | tests/test_vlm_pipeline_status.py | 27 | CODE | |
| LOW | tests/test_backend_markdown.py | 989 | CODE | |
| LOW | tests/test_generation_stopper.py | 17 | CODE | |
| LOW | tests/test_asr_pipeline.py | 5 | CODE | |
| LOW | tests/test_pr_topic_labels.py | 4 | CODE | |
| LOW | tests/test_backend_docling_parse.py | 15 | CODE | |
| LOW | tests/test_tail_repetition_stopper.py | 14 | CODE | |
| LOW | tests/test_ai_pr_review.py | 4 | CODE | |
| LOW | tests/test_granite_vision_extraction.py | 14 | CODE | |
| LOW | tests/test_check_skill_routes.py | 4 | CODE | |
| LOW | tests/test_video_pipeline.py | 10 | CODE | |
| LOW | tests/test_backend_opendocument.py | 13 | CODE | |
| LOW | tests/test_groundtruth_diff.py | 4 | CODE | |
| LOW | tests/test_latex/test_basic.py | 8 | CODE | |
| LOW | tests/test_latex/conftest.py | 4 | CODE | |
| LOW | tests/test_latex/conftest.py | 8 | CODE | |
| LOW | tests/test_latex/conftest.py | 8 | CODE | |
| LOW | tests/test_latex/conftest.py | 10 | CODE | |
| LOW | tests/test_latex/conftest.py | 11 | CODE | |
| LOW | tests/test_latex/conftest.py | 12 | CODE | |
| LOW | tests/test_latex/conftest.py | 13 | CODE | |
| LOW | tests/test_latex/conftest.py | 13 | CODE | |
| LOW | tests/test_latex/conftest.py | 13 | CODE | |
| 477 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/verify_utils.py | 261 | CODE | |
| LOW | tests/test_backend_html.py | 156 | CODE | |
| LOW | tests/test_backend_html.py | 1570 | CODE | |
| LOW | tests/test_backend_msword.py | 166 | CODE | |
| LOW | tests/test_office_image_modes.py | 42 | CODE | |
| LOW | tests/test_table_structure_model_v2.py | 24 | CODE | |
| LOW | tests/test_reading_order.py | 75 | CODE | |
| LOW | tests/test_service_client_sdk_unit.py | 2923 | CODE | |
| LOW | tests/test_service_client_payload_fidelity.py | 262 | CODE | |
| LOW | tests/test_backend_iwork_keynote.py | 567 | CODE | |
| LOW | tests/test_video_frame_sampling.py | 180 | CODE | |
| LOW | tests/test_backend_pptx.py | 408 | CODE | |
| LOW | tests/test_latex/conftest.py | 24 | CODE | |
| LOW | docling/document_extractor.py | 199 | CODE | |
| LOW | docling/document_converter.py | 741 | CODE | |
| LOW | docling/document_converter.py | 815 | CODE | |
| LOW | docling/document_converter.py | 909 | CODE | |
| LOW | docling/pipeline/video_pipeline.py | 155 | CODE | |
| LOW | docling/pipeline/asr_transcriber.py | 195 | CODE | |
| LOW | docling/pipeline/asr_transcriber.py | 658 | CODE | |
| LOW | docling/pipeline/base_pipeline.py | 156 | CODE | |
| LOW | docling/pipeline/base_pipeline.py | 292 | CODE | |
| LOW | docling/pipeline/standard_pdf_pipeline.py | 177 | CODE | |
| LOW | docling/pipeline/standard_pdf_pipeline.py | 198 | CODE | |
| LOW | docling/pipeline/standard_pdf_pipeline.py | 305 | CODE | |
| LOW | docling/pipeline/standard_pdf_pipeline.py | 436 | CODE | |
| LOW | docling/pipeline/standard_pdf_pipeline.py | 808 | CODE | |
| LOW | docling/pipeline/standard_pdf_pipeline.py | 1046 | CODE | |
| LOW | docling/pipeline/standard_pdf_pipeline.py | 855 | CODE | |
| LOW | docling/pipeline/extraction_vlm_pipeline.py | 57 | CODE | |
| LOW | docling/pipeline/extraction_vlm_pipeline.py | 172 | CODE | |
| LOW | docling/pipeline/extraction_vlm_pipeline.py | 212 | CODE | |
| LOW | docling/pipeline/vlm_pipeline.py | 153 | CODE | |
| LOW | docling/pipeline/vlm_pipeline.py | 409 | CODE | |
| LOW | docling/pipeline/vlm_pipeline.py | 481 | CODE | |
| LOW | …/experimental/pipeline/threaded_layout_vlm_pipeline.py | 85 | CODE | |
| LOW | …/experimental/pipeline/threaded_layout_vlm_pipeline.py | 278 | CODE | |
| LOW | …/experimental/pipeline/threaded_layout_vlm_pipeline.py | 312 | CODE | |
| LOW | docling/utils/chandra_utils.py | 192 | CODE | |
| LOW | docling/utils/chandra_utils.py | 293 | CODE | |
| LOW | docling/utils/chandra_utils.py | 497 | CODE | |
| LOW | docling/utils/chandra_utils.py | 594 | CODE | |
| LOW | docling/utils/dots_utils.py | 183 | CODE | |
| LOW | docling/utils/orientation.py | 12 | CODE | |
| LOW | docling/utils/accelerator_utils.py | 13 | CODE | |
| LOW | docling/utils/api_image_request.py | 290 | CODE | |
| LOW | docling/utils/video_frame_sampling.py | 146 | CODE | |
| LOW | docling/utils/paddleocr_vl_utils.py | 239 | CODE | |
| LOW | docling/utils/layout_postprocessor.py | 518 | CODE | |
| LOW | docling/utils/font_style.py | 122 | CODE | |
| LOW | docling/utils/pdf_outline.py | 95 | CODE | |
| LOW | docling/utils/pdf_outline.py | 146 | CODE | |
| LOW | docling/utils/mineru_utils.py | 330 | CODE | |
| LOW | docling/utils/nemotron_parse_utils.py | 251 | CODE | |
| LOW | docling/utils/deepseekocr_utils.py | 30 | CODE | |
| LOW | docling/utils/deepseekocr_utils.py | 125 | CODE | |
| LOW | docling/utils/deepseekocr_utils.py | 180 | CODE | |
| LOW | docling/utils/deepseekocr_utils.py | 234 | CODE | |
| LOW | docling/utils/otsl.py | 23 | CODE | |
| LOW | docling/backend/webvtt_backend.py | 109 | CODE | |
| 237 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .actor/actor.sh | 268 | except Exception as e: | CODE |
| LOW | tests/test_deepseekocr_vlm.py | 110 | except Exception: | CODE |
| LOW | tests/test_options.py | 112 | except Exception as ex: | CODE |
| LOW | tests/test_backend_msexcel.py | 63 | except Exception: | CODE |
| LOW | tests/test_backend_html.py | 2099 | except Exception as exc: | CODE |
| MEDIUM | tests/test_backend_msword.py | 236 | def _has_libreoffice() -> bool: | CODE |
| LOW | tests/test_backend_msword.py | 116 | except Exception: | CODE |
| LOW | tests/test_backend_msword.py | 239 | except Exception: | CODE |
| LOW | tests/test_glmocr_vlm.py | 133 | except Exception: | CODE |
| LOW | tests/test_e2e_conversion.py | 114 | except Exception as exc: | CODE |
| LOW | tests/test_falcon_ocr_vlm.py | 96 | except Exception: | CODE |
| LOW | tests/test_lightonocr_vlm.py | 138 | except Exception: | CODE |
| LOW | tests/test_nanonets_ocr_vlm.py | 147 | except Exception: | CODE |
| LOW | tests/test_backend_pptx.py | 73 | except Exception: | CODE |
| LOW | …ified-python/references/advanced/exception-handling.md | 49 | except Exception: | CODE |
| LOW | …ified-python/references/advanced/exception-handling.md | 158 | except Exception: | CODE |
| LOW | …ified-python/references/advanced/exception-handling.md | 167 | except Exception as e: | CODE |
| LOW | …ified-python/references/advanced/exception-handling.md | 178 | except Exception: | CODE |
| LOW | docling/pipeline/video_pipeline.py | 233 | except Exception as exc: | CODE |
| LOW | docling/pipeline/video_pipeline.py | 267 | except Exception as exc: | CODE |
| LOW | docling/pipeline/video_pipeline.py | 325 | except Exception as exc: | CODE |
| LOW | docling/pipeline/video_pipeline.py | 344 | except Exception as exc: | CODE |
| LOW | docling/pipeline/video_pipeline.py | 355 | except Exception: | CODE |
| LOW | docling/pipeline/asr_transcriber.py | 124 | except Exception as e: | CODE |
| LOW | docling/pipeline/asr_transcriber.py | 328 | except Exception as exc: | CODE |
| LOW | docling/pipeline/asr_transcriber.py | 338 | except Exception as e: | CODE |
| LOW | docling/pipeline/asr_transcriber.py | 458 | except Exception as exc: | CODE |
| LOW | docling/pipeline/asr_transcriber.py | 467 | except Exception as exc: | CODE |
| LOW | docling/pipeline/asr_transcriber.py | 644 | except Exception as exc: | CODE |
| LOW | docling/pipeline/asr_transcriber.py | 653 | except Exception as e: | CODE |
| LOW | docling/pipeline/native_pdf_pipeline.py | 257 | except Exception as exc: | CODE |
| LOW | docling/pipeline/base_extraction_pipeline.py | 50 | except Exception as e: | CODE |
| LOW | docling/pipeline/base_pipeline.py | 95 | except Exception as e: | CODE |
| LOW | docling/pipeline/base_pipeline.py | 367 | except Exception as e: | CODE |
| MEDIUM | docling/pipeline/standard_pdf_pipeline.py | 290 | def _run(self) -> None: | CODE |
| MEDIUM | docling/pipeline/standard_pdf_pipeline.py | 855 | def _produce_pages() -> None: | CODE |
| LOW | docling/pipeline/standard_pdf_pipeline.py | 298 | except Exception: # pragma: no cover - top-level guard | CODE |
| LOW | docling/pipeline/standard_pdf_pipeline.py | 385 | except Exception as exc: | CODE |
| LOW | docling/pipeline/standard_pdf_pipeline.py | 549 | except Exception as exc: | CODE |
| LOW | docling/pipeline/standard_pdf_pipeline.py | 866 | except Exception: | CODE |
| LOW | docling/pipeline/standard_pdf_pipeline.py | 882 | except Exception as exc: | CODE |
| LOW | docling/pipeline/extraction_vlm_pipeline.py | 105 | except Exception as e: | CODE |
| LOW | docling/pipeline/extraction_vlm_pipeline.py | 148 | except Exception as e: | CODE |
| LOW | docling/pipeline/extraction_vlm_pipeline.py | 199 | except Exception as e: | CODE |
| LOW | docling/pipeline/extraction_vlm_pipeline.py | 206 | except Exception as e: | CODE |
| LOW | docling/pipeline/vlm_pipeline.py | 617 | except Exception as exc: | CODE |
| LOW | …/experimental/pipeline/threaded_layout_vlm_pipeline.py | 322 | except Exception: | CODE |
| LOW | …/experimental/pipeline/threaded_layout_vlm_pipeline.py | 337 | except Exception as exc: | CODE |
| LOW | …/experimental/pipeline/threaded_layout_vlm_pipeline.py | 372 | except Exception as exc: | CODE |
| MEDIUM | …/experimental/pipeline/threaded_layout_vlm_pipeline.py | 312 | def _produce_pages() -> None: | CODE |
| LOW⚡ | docling/utils/pipeline_cache.py | 25 | except Exception: | CODE |
| LOW⚡ | docling/utils/pipeline_cache.py | 33 | except Exception: | CODE |
| LOW | docling/utils/api_image_request.py | 206 | except Exception as e: | CODE |
| LOW | docling/utils/api_image_request.py | 283 | except Exception as e: | CODE |
| LOW | docling/utils/video_frame_sampling.py | 332 | except Exception as exc: # pragma: no cover - defensive | CODE |
| LOW | docling/utils/nemotron_parse_utils.py | 192 | except Exception as exc: | CODE |
| LOW | docling/utils/nemotron_parse_utils.py | 206 | except Exception as exc: | CODE |
| LOW⚡ | docling/utils/nemotron_parse_utils.py | 232 | except Exception as exc: | CODE |
| LOW⚡ | docling/utils/nemotron_parse_utils.py | 246 | except Exception as exc: | CODE |
| LOW | docling/utils/deepseekocr_utils.py | 120 | except Exception as e: | CODE |
| 163 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_backend_msword.py | 116 | except Exception: | CODE |
| HIGH | docling/pipeline/video_pipeline.py | 355 | except Exception: | CODE |
| HIGH | docling/pipeline/extraction_vlm_pipeline.py | 91 | except (json.JSONDecodeError, ValueError): | CODE |
| HIGH | docling/utils/deepseekocr_utils.py | 352 | except (ValueError, IndexError): | CODE |
| HIGH | docling/backend/msword_backend.py | 547 | except Exception: | CODE |
| HIGH | docling/backend/msword_backend.py | 1329 | except Exception: | CODE |
| HIGH | docling/backend/msword_backend.py | 2045 | except Exception: | CODE |
| HIGH | docling/backend/msword_backend.py | 2318 | except ValueError: | CODE |
| HIGH | docling/backend/msword_backend.py | 1668 | except ValueError: | CODE |
| HIGH | docling/backend/msword_backend.py | 2332 | except (ValueError, TypeError): | CODE |
| HIGH | docling/backend/msword_backend.py | 2343 | except ValueError: | CODE |
| HIGH | docling/backend/msword_backend.py | 2362 | except ValueError: | CODE |
| HIGH | docling/backend/msexcel_backend.py | 71 | except ImportError: # pragma: no cover - import-time guard | CODE |
| HIGH | docling/backend/msexcel_backend.py | 1373 | except (UnidentifiedImageError, OSError, ValueError): | CODE |
| HIGH | docling/backend/mspowerpoint_backend.py | 82 | except ImportError: # pragma: no cover - import-time guard | CODE |
| HIGH | docling/backend/mspowerpoint_backend.py | 632 | except AttributeError: | CODE |
| HIGH | docling/backend/mspowerpoint_backend.py | 435 | except ValueError: | CODE |
| HIGH | docling/backend/mspowerpoint_backend.py | 456 | except ValueError: | CODE |
| HIGH | docling/backend/html_backend.py | 2518 | except ValueError: | CODE |
| HIGH | docling/backend/latex/utils/text.py | 40 | except ImportError: | CODE |
| HIGH | docling/backend/latex/utils/table.py | 29 | except ImportError: | CODE |
| HIGH | docling/backend/latex/handlers/macros.py | 54 | except ImportError: | CODE |
| HIGH | docling/backend/latex/handlers/macros.py | 466 | except Exception: | CODE |
| HIGH | docling/backend/latex/handlers/environments.py | 37 | except ImportError: | CODE |
| HIGH | docling/backend/latex/handlers/math.py | 18 | except ImportError: | CODE |
| HIGH | docling/backend/utils/image.py | 35 | except (ImageCms.PyCMSError, OSError, ValueError): | CODE |
| HIGH | docling/backend/iwork/chart_image.py | 45 | except ImportError: # pragma: no cover - import-time guard | CODE |
| HIGH | docling/backend/docx/latex/omml.py | 24 | except ImportError: | CODE |
| HIGH | docling/backend/docx/drawingml/utils.py | 34 | except ImportError: # pragma: no cover - import-time guard | CODE |
| HIGH | docling/backend/docx/drawingml/utils.py | 163 | except Exception: | CODE |
| HIGH | …re_description/picture_description_vlm_engine_model.py | 225 | except ValueError: | CODE |
| HIGH | docling/models/stages/ocr/kserve_v2_ocr_model.py | 328 | except Exception: | CODE |
| HIGH | …ling/models/inference_engines/common/kserve_v2_grpc.py | 234 | except Exception: | CODE |
| HIGH | …rence_engines/object_detection/api_kserve_v2_engine.py | 259 | except Exception: | CODE |
| HIGH | …e_engines/image_classification/api_kserve_v2_engine.py | 198 | except Exception: | CODE |
| HIGH | docling/cli/remote.py | 418 | except ImportError: | CODE |
| HIGH | docling/service_client/client.py | 652 | except ValueError: | CODE |
| HIGH | docling/datamodel/document.py | 939 | except (zipfile.BadZipFile, OSError): | CODE |
| HIGH | docling/datamodel/document.py | 462 | except Exception: | CODE |
| HIGH | docs/examples/vlm_pipeline_api_model.py | 135 | except json.JSONDecodeError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_backend_iwork_pages.py | 146 | assert "Lorem ipsum dolor sit amet" not in text | CODE |
| LOW⚡ | tests/test_backend_iwork_pages.py | 146 | assert "Lorem ipsum dolor sit amet" not in text | CODE |
| LOW⚡ | tests/test_backend_jats.py | 1363 | assert "Jane Doe" in md | CODE |
| LOW | tests/test_backend_jats.py | 1310 | "Jane Doe", | CODE |
| LOW | tests/test_backend_jats.py | 1318 | "Jane Doe", | CODE |
| LOW⚡ | tests/test_backend_opendocument.py | 653 | assert formatted_by_text["Lorem Ipsum is not simply random text"].bold | CODE |
| LOW⚡ | tests/test_backend_opendocument.py | 663 | assert "**Lorem Ipsum is not simply random text**" in markdown | CODE |
| LOW | tests/test_backend_opendocument.py | 1468 | and item.text.startswith("Lorem ipsum dolor sit amet") | CODE |
| LOW | tests/test_backend_opendocument.py | 1468 | and item.text.startswith("Lorem ipsum dolor sit amet") | CODE |
| LOW | tests/test_latex/test_basic.py | 449 | assert "Jane Doe" in md | STRING |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.json | 237 | "orig": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the indus | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.json | 238 | "text": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the indus | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.json | 262 | "orig": "Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical L | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.json | 263 | "text": "Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical L | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.json | 423 | "orig": "Lorem Ipsum is not simply random text", | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.json | 424 | "text": "Lorem Ipsum is not simply random text", | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.json | 473 | "orig": ", looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, ", | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.json | 474 | "text": ", looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, " | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.json | 504 | "orig": ", discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of \"de Finibus | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.json | 505 | "text": ", discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of \"de Finibus | CODE |
| LOW | tests/data/odf/groundtruth/odf_presentation_02.odp.md | 3 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ac faucibus odio. Vestibulum neque massa, scelerisque sit | CODE |
| LOW | tests/data/odf/groundtruth/odf_presentation_02.odp.md | 3 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ac faucibus odio. Vestibulum neque massa, scelerisque sit | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.md | 7 | Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.md | 11 | Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.md | 24 | Contrary to popular belief, **Lorem Ipsum is not simply random text** . Richard McClintock, *a Latin professor at Hamp | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.html | 179 | <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standa | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.html | 181 | <p>Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literat | CODE |
| LOW | tests/data/odf/groundtruth/text_document_01.odt.html | 205 | <span class='inline-group'>Contrary to popular belief, <strong>Lorem Ipsum is not simply random text</strong> . Richard | CODE |
| LOW | tests/data/odf/groundtruth/text_document_02.odt.md | 5 | Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard | CODE |
| LOW | tests/data/odf/groundtruth/text_document_02.odt.md | 9 | Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/picture_classification.md | 3 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/picture_classification.md | 3 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/picture_classification.md | 9 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/picture_classification.md | 9 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/picture_classification.md | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/picture_classification.md | 11 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/picture_classification.md | 17 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/picture_classification.md | 17 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 2 | <text><loc_109><loc_95><loc_390><loc_183>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 2 | <text><loc_109><loc_95><loc_390><loc_183>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 3 | <text><loc_109><loc_185><loc_390><loc_213>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 3 | <text><loc_109><loc_185><loc_390><loc_213>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 5 | <text><loc_109><loc_265><loc_390><loc_353>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmo | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 5 | <text><loc_109><loc_265><loc_390><loc_353>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmo | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 6 | <text><loc_109><loc_355><loc_390><loc_383>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 6 | <text><loc_109><loc_355><loc_390><loc_383>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 10 | <text><loc_112><loc_89><loc_401><loc_172>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 10 | <text><loc_112><loc_89><loc_401><loc_172>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 11 | <text><loc_112><loc_174><loc_401><loc_208>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 11 | <text><loc_112><loc_174><loc_401><loc_208>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 13 | <text><loc_112><loc_227><loc_401><loc_311>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmo | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 13 | <text><loc_112><loc_227><loc_401><loc_311>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmo | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 14 | <text><loc_112><loc_313><loc_401><loc_353>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 14 | <text><loc_112><loc_313><loc_401><loc_353>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 15 | <text><loc_112><loc_355><loc_401><loc_396>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.doctags.txt | 15 | <text><loc_112><loc_355><loc_401><loc_396>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.md | 3 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.md | 3 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.md | 5 | Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nul | CODE |
| LOW⚡ | tests/data/pdf/groundtruth/code_and_formula.md | 5 | Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nul | CODE |
| 88 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .actor/actor.sh | 19 | # Create a temporary home directory with write permissions | COMMENT |
| MEDIUM | .actor/actor.sh | 183 | # Create a dedicated working directory in /tmp (writable) | COMMENT |
| MEDIUM | .actor/actor.sh | 288 | # Create the request JSON | COMMENT |
| MEDIUM | tests/test_deepseekocr_vlm.py | 45 | # Create a page with the DeepSeek OCR markdown as VLM response | COMMENT |
| MEDIUM | tests/test_listitem_marker_model.py | 17 | # Create a sample document | COMMENT |
| MEDIUM | tests/test_backend_webp.py | 32 | # Define the directory you want to search | COMMENT |
| MEDIUM | tests/test_asr_whisper_s2t.py | 397 | # Create a real file so backend initializes | COMMENT |
| MEDIUM | tests/test_backend_msexcel.py | 68 | # Define the directory you want to search | COMMENT |
| MEDIUM | tests/test_backend_msexcel.py | 820 | # Create an InputDocument with the BytesIO stream | COMMENT |
| MEDIUM | tests/test_backend_html.py | 1297 | # Define the directory you want to search | COMMENT |
| MEDIUM | tests/test_backend_msword.py | 57 | # Define the directory you want to search | COMMENT |
| MEDIUM | tests/test_backend_msword.py | 659 | # Create a backend instance using any existing docx file | COMMENT |
| MEDIUM | tests/test_e2e_conversion.py | 31 | # Define the directory you want to search | COMMENT |
| MEDIUM | tests/test_backend_epub.py | 50 | # Define the directory you want to search | COMMENT |
| MEDIUM | tests/test_backend_csv.py | 22 | # Define the directory you want to search | COMMENT |
| MEDIUM | tests/test_e2e_ocr_conversion.py | 35 | # Define the directory you want to search | COMMENT |
| MEDIUM⚡ | tests/test_interfaces.py | 121 | # Create an InlineVlmOptions with an invalid enum by patching attribute directly | COMMENT |
| MEDIUM | tests/test_asr_pipeline.py | 118 | # Create an empty ConversionResult with proper InputDocument | COMMENT |
| MEDIUM | tests/test_asr_pipeline.py | 155 | # Create a proper NoOpBackend instance | COMMENT |
| MEDIUM | tests/test_asr_pipeline.py | 340 | # Create a real file so backend initializes | COMMENT |
| MEDIUM | tests/test_asr_pipeline.py | 596 | # Create a real file so backend initializes | COMMENT |
| MEDIUM | tests/test_asr_pipeline.py | 648 | # Create a real file so backend initializes | COMMENT |
| MEDIUM⚡ | tests/test_cli.py | 968 | # Create a dummy audio file for testing | COMMENT |
| MEDIUM | tests/test_cli.py | 988 | # Create a dummy audio file for testing | COMMENT |
| MEDIUM | tests/test_backend_pptx.py | 78 | # Define the directory you want to search | COMMENT |
| MEDIUM⚡ | tests/test_latex/test_figures.py | 81 | # Create a temporary directory and test image | COMMENT |
| MEDIUM⚡ | tests/test_latex/test_figures.py | 87 | # Create a simple test image with known DPI | COMMENT |
| MEDIUM | docling/pipeline/standard_pdf_pipeline.py | 662 | # Create a copy to avoid mutating pipeline_options in-place, | COMMENT |
| MEDIUM | docling/utils/visualization.py | 21 | # Create a smaller font for the labels | COMMENT |
| MEDIUM | docling/utils/visualization.py | 120 | # Create a deep copy of the original image for both sides | COMMENT |
| MEDIUM | docling/utils/deepseekocr_utils.py | 284 | # Create a new document | COMMENT |
| MEDIUM | docling/backend/msword_backend.py | 1187 | # Create a paragraph-like element to process with standard handler | COMMENT |
| MEDIUM | docling/backend/msword_backend.py | 2501 | # Create a textbox group to contain all text from the textbox | COMMENT |
| MEDIUM | docling/backend/msword_backend.py | 4513 | # Create a group for this comment in NOTES and add the comment there | COMMENT |
| MEDIUM | docling/backend/html_backend.py | 3056 | # Create the list container | COMMENT |
| MEDIUM | docling/backend/opendocument_backend.py | 2283 | # Create a sub-table with just this region | COMMENT |
| MEDIUM | docling/models/stages/vlm_convert/vlm_convert_model.py | 122 | # Create the engine - pass model_spec, let factory handle config generation | COMMENT |
| MEDIUM | …ing/models/inference_engines/vlm/auto_inline_engine.py | 199 | # Create the actual engine | COMMENT |
| MEDIUM | docling/models/inference_engines/vlm/vllm_engine.py | 174 | # Create a temporary mixin instance for downloading | COMMENT |
| MEDIUM | docling/datamodel/pipeline_options.py | 1285 | # Define an enum for the backend options | COMMENT |
| MEDIUM | docling/datamodel/pipeline_options.py | 1348 | # Define an enum for the ocr engines | COMMENT |
| MEDIUM | docling/datamodel/base_models.py | 625 | # Create a type alias for score values | COMMENT |
| MEDIUM⚡ | docling/datamodel/asr_model_specs.py | 301 | # Create the model instance | COMMENT |
| MEDIUM | docling/datamodel/asr_model_specs.py | 91 | # Create the model instance | COMMENT |
| MEDIUM | docling/datamodel/asr_model_specs.py | 133 | # Create the model instance | COMMENT |
| MEDIUM | docling/datamodel/asr_model_specs.py | 175 | # Create the model instance | COMMENT |
| MEDIUM | docling/datamodel/asr_model_specs.py | 217 | # Create the model instance | COMMENT |
| MEDIUM | docling/datamodel/asr_model_specs.py | 259 | # Create the model instance | COMMENT |
| MEDIUM | docling/datamodel/service/options.py | 4 | # Define the input options for the API | COMMENT |
| MEDIUM | docs/examples/enrich_doclingdocument.py | 50 | # The following function is responsible for taking an item and applying the required pre-processing for the model. | COMMENT |
| MEDIUM | docs/examples/legacy/vlm_pipeline_api_model_legacy.py | 267 | # Create the DocumentConverter and launch the conversion. | COMMENT |
| MEDIUM | docs/examples/legacy/minimal_vlm_pipeline_legacy.py | 6 | # This file is kept to validate backward compatibility with the old API. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docling/document_converter.py | 598 | Convert one document fetched from a file path, URL, or DocumentStream. Note: If the document content is given a | STRING |
| HIGH | docling/document_converter.py | 665 | Convert multiple documents from file paths, URLs, or DocumentStreams. Args: source: Source of input | STRING |
| HIGH | docling/document_converter.py | 747 | Convert a document given as a string using the specified format. Only Markdown (`InputFormat.MD`), HTML (`Input | STRING |
| HIGH | docling/utils/paddleocr_vl_utils.py | 298 | Convert one saved PaddleOCR-VL page result into a ``DoclingDocument``. Args: content: A bare page payload w | STRING |
| HIGH | docling/backend/epub_backend.py | 160 | Safely extract EPUB contents with zip-bomb protection. Args: target_dir: Directory to extract files | STRING |
| HIGH | docling/backend/iwork_backend.py | 158 | Open an iWork container and read it, reporting why it could not be. Every way a container can defeat the readers su | STRING |
| HIGH | docling/backend/iwork_backend.py | 226 | Return a container's members, refusing one this is not willing to read. Args: archive: The open container. | STRING |
| HIGH | docling/backend/iwork_backend.py | 477 | Read a presentation whose index was zipped a second time. The inner archive holds the object graph and the oute | STRING |
| HIGH | docling/backend/html_backend.py | 855 | Parse an MHTML archive and extract the HTML root, image resources, and base URL. Args: raw: Raw byt | STRING |
| HIGH | docling/backend/iwork/legacy.py | 225 | Decompress and parse the index of an iWork '09 document. Args: archive: The open container. member: | STRING |
| HIGH | docling/backend/iwork/keynote_xml.py | 155 | Read an iWork '09 presentation out of its ``index.apxl``. Args: archive: The open ``.key`` container, which | STRING |
| HIGH | docling/backend/iwork/pages_xml.py | 86 | Read the content of an iWork '09 document out of its ``index.xml``. Args: archive: The open ``.pages`` cont | STRING |
| HIGH | docling/backend/iwork/numbers_xml.py | 158 | Read the sheets of an iWork '09 document out of its ``index.xml``. Args: archive: The open ``.numbers`` con | STRING |
| HIGH | docling/backend/iwork/archives.py | 869 | Read every archived object of an iWork 2013+ container, by identifier. Args: archive: The open container, o | STRING |
| HIGH | docling/backend/iwork/numbers_iwa.py | 127 | Read the sheets of a Numbers 3+ document out of its IWA object graph. Args: archive: The open ``.numbers`` | STRING |
| HIGH | docling/backend/iwork/keynote_iwa.py | 154 | Read a Keynote 6+ presentation out of its IWA object graph. Args: index: The archive holding the ``.iwa`` m | STRING |
| HIGH | docling/backend/iwork/pages_iwa.py | 87 | Read the content of a Pages 5+ document out of its IWA object graph. Args: archive: The open ``.pages`` con | STRING |
| HIGH | docling/backend/docx/drawingml/utils.py | 267 | Convert a legacy binary Office file to modern Open XML format via LibreOffice. Both file paths and in-memory stream | STRING |
| HIGH | …g/models/stages/code_formula/code_formula_vlm_model.py | 145 | Construct the prompt for the model based on the element type. Args: label: The type of input, eithe | STRING |
| HIGH | docling/models/stages/vlm_convert/vlm_convert_model.py | 356 | Process raw images without page metadata. This method provides a simpler interface for processing images direct | STRING |
| HIGH | docling/models/inference_engines/vlm/factory.py | 38 | Create a VLM inference engine from options. Args: options: Engine configuration options model_spec: | STRING |
| HIGH | docling/models/inference_engines/vlm/_utils.py | 107 | Convert any image format to RGB PIL Image. Args: image: Input image as PIL Image or numpy array Return | STRING |
| HIGH | docling/models/inference_engines/vlm/_utils.py | 185 | Resolve the path to model artifacts, downloading if needed. This standardizes the logic for finding or downloading | STRING |
| HIGH | …ling/models/inference_engines/common/kserve_v2_http.py | 228 | Execute HTTP request with consistent error handling. Args: url: Target URL method: HTTP | STRING |
| HIGH | …ling/models/inference_engines/common/kserve_v2_http.py | 325 | Execute inference request against KServe v2 endpoint. Args: inputs: Mapping of input tensor names t | STRING |
| HIGH | …ling/models/extraction/nuextract_transformers_model.py | 32 | Process vision information from both messages and in-context examples, supporting batch processing. Args: | STRING |
| HIGH | docling/datamodel/pipeline_options.py | 1316 | Normalize deprecated backend enum values to current ones. Args: backend: The PDF backend enum value to norm | STRING |
| HIGH | docling/datamodel/stage_model_specs.py | 321 | Check if this model has an explicit export for the given engine. An explicit export means either: 1. Th | STRING |
| HIGH | docling/datamodel/stage_model_specs.py | 587 | Get a specific preset. Args: preset_id: The preset identifier Returns: The req | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_glmocr_vlm.py | 0 | verify preset is registered with correct metadata and model spec. | STRING |
| HIGH | tests/test_falcon_ocr_vlm.py | 0 | verify preset is registered with correct metadata and model spec. | STRING |
| HIGH | tests/test_lightonocr_vlm.py | 0 | verify preset is registered with correct metadata and model spec. | STRING |
| HIGH | tests/test_nanonets_ocr_vlm.py | 0 | verify preset is registered with correct metadata and model spec. | STRING |
| HIGH | tests/test_glmocr_vlm.py | 0 | verify engine overrides propagate correctly through get_engine_config. | STRING |
| HIGH | tests/test_falcon_ocr_vlm.py | 0 | verify engine overrides propagate correctly through get_engine_config. | STRING |
| HIGH | tests/test_lightonocr_vlm.py | 0 | verify engine overrides propagate correctly through get_engine_config. | STRING |
| HIGH | tests/test_nanonets_ocr_vlm.py | 0 | verify engine overrides propagate correctly through get_engine_config. | STRING |
| HIGH | tests/test_glmocr_vlm.py | 0 | verify from_preset produces a usable vlmconvertoptions with engine options. | STRING |
| HIGH | tests/test_falcon_ocr_vlm.py | 0 | verify from_preset produces a usable vlmconvertoptions with engine options. | STRING |
| HIGH | tests/test_lightonocr_vlm.py | 0 | verify from_preset produces a usable vlmconvertoptions with engine options. | STRING |
| HIGH | tests/test_nanonets_ocr_vlm.py | 0 | verify from_preset produces a usable vlmconvertoptions with engine options. | STRING |
| HIGH | tests/test_glmocr_vlm.py | 0 | verify legacy inlinevlmoptions/apivlmoptions specs are consistent. | STRING |
| HIGH | tests/test_lightonocr_vlm.py | 0 | verify legacy inlinevlmoptions/apivlmoptions specs are consistent. | STRING |
| HIGH | tests/test_nanonets_ocr_vlm.py | 0 | verify legacy inlinevlmoptions/apivlmoptions specs are consistent. | STRING |
| HIGH | tests/test_glmocr_vlm.py | 0 | e2e test with vllm server (skipped in ci and when server is unavailable). | STRING |
| HIGH | tests/test_lightonocr_vlm.py | 0 | e2e test with vllm server (skipped in ci and when server is unavailable). | STRING |
| HIGH | tests/test_nanonets_ocr_vlm.py | 0 | e2e test with vllm server (skipped in ci and when server is unavailable). | STRING |
| HIGH | docling/backend/iwork/keynote_xml.py | 0 | what numbers calls its documents, for the error messages of a shared reader. | STRING |
| HIGH | docling/backend/iwork/keynote_iwa.py | 0 | what numbers calls its documents, for the error messages of a shared reader. | STRING |
| HIGH | docling/backend/iwork/pages_xml.py | 0 | what numbers calls its documents, for the error messages of a shared reader. | STRING |
| HIGH | docling/backend/iwork/pages_iwa.py | 0 | what numbers calls its documents, for the error messages of a shared reader. | STRING |
| HIGH | docling/backend/iwork/numbers_xml.py | 0 | what numbers calls its documents, for the error messages of a shared reader. | STRING |
| HIGH | docling/backend/iwork/numbers_iwa.py | 0 | what numbers calls its documents, for the error messages of a shared reader. | STRING |
| HIGH | docling/models/stages/ocr/_nemotron_ocr_model.py | 0 | report the native and bcp74 languages without script whenever it is not needed | STRING |
| HIGH | docling/models/stages/ocr/nemotron_ocr_model.py | 0 | report the native and bcp74 languages without script whenever it is not needed | STRING |
| HIGH | docling/models/stages/ocr/easyocr_model.py | 0 | report the native and bcp74 languages without script whenever it is not needed | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | tests/test_reading_order.py | 321 | COMMENT | |
| LOW | tests/test_reading_order.py | 701 | COMMENT | |
| LOW | tests/test_latex/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | tests/data/uspto/sources/pftaps057006474.txt | 861 | ##STR83## | COMMENT |
| LOW | tests/data/html/groundtruth/unit_test_01.html.md | 1 | # Title | COMMENT |
| LOW | tests/data/html/groundtruth/hyperlink_02.html.md | 1 | ## [Home](/home.html) | COMMENT |
| LOW | tests/data/pptx/groundtruth/powerpoint_bad_text.pptx.md | 1 | # X-Library The fully customisable and copyright-free standard content template collection exclusively for our customers | COMMENT |
| LOW | docling/pipeline/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/utils/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/backend/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/backend/latex/libraries/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/backend/latex/utils/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/backend/latex/engines/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/backend/latex/handlers/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/backend/utils/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/backend/xml/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/backend/json/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/backend/docx/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/backend/docx/latex/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/stages/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/stages/picture_description/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/stages/picture_classifier/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/stages/code_formula/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/stages/layout/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/stages/page_preprocessing/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/stages/page_assemble/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/stages/reading_order/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/stages/ocr/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/stages/table_structure/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/stages/vlm_convert/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/stages/heading_hierarchy/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/stages/chart_extraction/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/plugins/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/utils/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/postprocessing/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/vlm_pipeline_models/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/models/extraction/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/cli/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/datamodel/__init__.py | 1 | # SPDX-FileCopyrightText: The Docling Contributors | COMMENT |
| LOW | docling/datamodel/asr_model_specs.py | 681 | batch_size=6, | COMMENT |
| LOW | docs/examples/granitedocling_repetition_stopping.py | 1 | # %% [markdown] | COMMENT |
| LOW | docs/examples/granitedocling_repetition_stopping.py | 81 | # custom_vlm_options = ApiVlmOptions( | COMMENT |
| LOW | docs/examples/granitedocling_repetition_stopping.py | 101 | # enable_remote_services=True, # required when using a remote inference service. | COMMENT |
| LOW | docs/examples/inspect_picture_content.py | 1 | # %% [markdown] | COMMENT |
| LOW | docs/examples/compare_vlm_models.py | 1 | # %% [markdown] | COMMENT |
| LOW | docs/examples/translate.py | 1 | # %% [markdown] | COMMENT |
| LOW | docs/examples/picture_description_api_usage.py | 1 | # %% [markdown] | COMMENT |
| LOW | docs/examples/picture_description_api_usage.py | 21 | # docs/examples/run_picture_description_api_usage.sh path/to/input.pdf | COMMENT |
| LOW | docs/examples/picture_description_api_usage.py | 41 | # OpenAI-compatible responses. | COMMENT |
| LOW | docs/examples/trivial_chunking.py | 1 | # %% [markdown] | COMMENT |
| LOW | docs/examples/trivial_chunking.py | 21 | # rather than the retrieval-oriented, token-bounded chunks the built-in chunkers | COMMENT |
| LOW | docs/examples/export_figures.py | 1 | # %% [markdown] | COMMENT |
| LOW | docs/examples/heading_levels.py | 1 | # %% [markdown] | COMMENT |
| LOW | docs/examples/enrich_doclingdocument.py | 1 | # %% [markdown] | COMMENT |
| LOW | docs/examples/gpu_vlm_pipeline.py | 1 | # %% [markdown] | COMMENT |
| LOW | docs/examples/model_family_engines_example.py | 1 | # %% [markdown] | COMMENT |
| LOW | docs/examples/run_with_formats.py | 1 | # %% [markdown] | COMMENT |
| LOW | docs/examples/minimal_asr_pipeline.py | 1 | # %% [markdown] | COMMENT |
| 42 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .actor/actor.sh | 208 | # Check if process is still running | COMMENT |
| LOW | tests/test_deepseekocr_vlm.py | 103 | # Check if ollama is available | COMMENT |
| LOW | tests/test_backend_msword.py | 158 | # Verify if a particular textbox content is extracted | COMMENT |
| LOW⚡ | tests/test_backend_epub.py | 142 | # Check if document has pictures | COMMENT |
| LOW | tests/test_asr_pipeline.py | 60 | # Check if the test audio file exists | COMMENT |
| LOW | tests/test_latex/test_macros.py | 399 | # Check if macros were registered | STRING |
| LOW | docling/pipeline/vlm_pipeline.py | 81 | # Check if using new VlmConvertOptions | COMMENT |
| LOW | docling/utils/layout_postprocessor.py | 493 | # Check if areas are similar (within 20% of each other) | COMMENT |
| LOW | docling/utils/deepseekocr_utils.py | 358 | # Check if NEXT annotation is a caption for this table/figure/image | COMMENT |
| LOW | docling/backend/msword_backend.py | 1911 | # Check if this is a heading style | COMMENT |
| LOW | docling/backend/msword_backend.py | 2680 | # Check if this paragraph contains a checkbox | COMMENT |
| LOW | docling/backend/msword_backend.py | 2701 | # Check if this is actually a numbered list by examining the numFmt | COMMENT |
| LOW | docling/backend/msword_backend.py | 4465 | # Check if document has any comments | COMMENT |
| LOW | docling/backend/msexcel_backend.py | 1005 | # Check if this is a threaded comment with better data in XML | COMMENT |
| LOW | docling/backend/msexcel_backend.py | 1979 | # Check if cell position is within this item's bounding box | COMMENT |
| LOW⚡ | docling/backend/noop_backend.py | 30 | # Check if stream has content | COMMENT |
| LOW⚡ | docling/backend/noop_backend.py | 36 | # Check if file exists | COMMENT |
| LOW | docling/backend/mspowerpoint_backend.py | 638 | # Check if it's definitely a list item | COMMENT |
| LOW | docling/backend/mspowerpoint_backend.py | 651 | # Check if it's definitely not a list item | COMMENT |
| LOW | docling/backend/mspowerpoint_backend.py | 755 | # Check if master has marker information | COMMENT |
| LOW | docling/backend/html_backend.py | 2026 | # Check if cell is in a column header or row header | COMMENT |
| LOW | docling/backend/html_backend.py | 3272 | # Check if this list has a ul/ol/dl ancestor within the current li | COMMENT |
| LOW | docling/backend/opendocument_backend.py | 294 | # Check if cell has content (value or is part of a span) | COMMENT |
| LOW | docling/backend/opendocument_backend.py | 2142 | # Check if this is a singleton (1x1 table) | COMMENT |
| LOW | docling/backend/opendocument_backend.py | 2202 | # Check if we found any data | COMMENT |
| LOW | docling/backend/opendocument_backend.py | 2368 | # Check if the table has a display attribute indicating it's hidden | COMMENT |
| LOW | docling/backend/xml/xbrl_backend.py | 94 | # Check if arelle is available before proceeding | COMMENT |
| LOW | docling/backend/xml/jats_backend.py | 1068 | # Check if cell is in a column header or row header | COMMENT |
| LOW | docling/backend/docx/latex/omml.py | 657 | # Check if base is a known limit function | COMMENT |
| LOW | docling/backend/docx/latex/omml.py | 662 | # Check if base is a grouping function (underbrace, overbrace, etc.) | COMMENT |
| LOW | …/stages/page_preprocessing/page_preprocessing_model.py | 188 | ) # Check if text is mostly slash-number pattern | CODE |
| LOW | docling/models/stages/ocr/tesseract_ocr_model.py | 224 | # Check if the detected language is present in the system | COMMENT |
| LOW | docling/models/stages/ocr/tesseract_ocr_cli_model.py | 296 | # Check if the detected language has been installed | STRING |
| LOW | …models/stages/table_structure/table_structure_model.py | 236 | # Check if word-level cells are available from backend: | COMMENT |
| LOW | …ing/models/inference_engines/vlm/auto_inline_engine.py | 100 | # Check if model has explicit MLX export | COMMENT |
| LOW | …/inference_engines/vlm/api_openai_compatible_engine.py | 175 | # Check if stopped by custom criteria | COMMENT |
| LOW | docling/models/postprocessing/reading_order_rb.py | 892 | # Check if w interrupts the i->j sequence | COMMENT |
| LOW | …ng/models/vlm_pipeline_models/hf_transformers_model.py | 331 | # Check if it's a GenerationStopper class | COMMENT |
| LOW | docling/datamodel/accelerator_options.py | 101 | # Check if to set the num_threads from the alternative envvar | STRING |
| LOW | docling/datamodel/asr_model_specs.py | 42 | # Check if mlx-whisper is available | COMMENT |
| LOW | docling/datamodel/service/options.py | 1078 | # Check if using legacy fields with new fields | COMMENT |
| LOW | docling/datamodel/service/options.py | 1109 | # Check if using legacy fields with new fields | COMMENT |
| LOW | docs/examples/enrich_simple_pipeline.py | 15 | # Check if running in CI | COMMENT |
| LOW | docs/examples/model_family_engines_example.py | 53 | # Check if running in CI | COMMENT |
| LOW | docs/examples/run_with_formats.py | 50 | # Check if running in CI | COMMENT |
| LOW | docs/examples/minimal_asr_pipeline.py | 66 | # Check if the test audio file exists | COMMENT |
| LOW | docs/examples/chart_extraction.py | 144 | # Check if the picture was classified as a chart. | COMMENT |
| LOW | docs/examples/chart_extraction.py | 150 | # Check if chart data was extracted. | COMMENT |
| LOW | docs/examples/pictures_description_api.py | 101 | # Check if running in CI environment | COMMENT |
| LOW | docs/examples/pictures_description_api.py | 111 | # Check if credentials are available | COMMENT |
| LOW | docs/examples/picture_description_inline.py | 46 | # Check if running in CI | COMMENT |
| LOW | docs/examples/asr_pipeline_performance_comparison.py | 156 | # Check if we're on Apple Silicon | COMMENT |
| LOW | docs/examples/post_process_ocr_with_vlm.py | 674 | # Read file names (strip whitespace, ignore empty lines) | COMMENT |
| LOW | docs/examples/develop_formula_understanding.py | 33 | # Check if running in CI | COMMENT |
| LOW | docs/examples/vlm_pipeline_api_model.py | 54 | # Check if model is already loaded | COMMENT |
| LOW⚡ | docs/examples/vlm_pipeline_api_model.py | 102 | # Check if model exists | COMMENT |
| LOW | docs/examples/vlm_pipeline_api_model.py | 168 | # Check if LM Studio is running | COMMENT |
| LOW | docs/examples/vlm_pipeline_api_model.py | 238 | # Check if Ollama is running | COMMENT |
| LOW | docs/examples/vlm_pipeline_api_model.py | 300 | # Check if VLLM is running | COMMENT |
| LOW | docs/examples/vlm_pipeline_api_model.py | 358 | # Check if running in CI environment | COMMENT |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | pyproject.toml | 281 | # Document chunking for RAG applications | COMMENT |
| MEDIUM | tests/test_backend_ebcdic.py | 125 | # add megabytes of cell scaffolding without covering anything the tables do | COMMENT |
| MEDIUM | tests/data/latex/groundtruth/2310.06825_main.tex.md | 189 | ## Adding guardrails for front-facing applications | COMMENT |
| MEDIUM | tests/data/latex/groundtruth/2310.06825_main.tex.md | 195 | ### System prompt to enforce guardrails | COMMENT |
| MEDIUM | …building-pydantic-ai-agents/references/ARCHITECTURE.md | 11 | - [Choosing a Multi-Agent Pattern](#choosing-a-multi-agent-pattern) | CODE |
| MEDIUM | …ai-agents/references/ORCHESTRATION-AND-INTEGRATIONS.md | 98 | ## Use Embeddings for RAG | COMMENT |
| MEDIUM | docling/.agents/skills/docling/references/rag.md | 1 | # Docling for RAG (integrations) | COMMENT |
| MEDIUM | docling/.agents/skills/docling/references/python-sdk.md | 258 | ## Chunking for RAG | COMMENT |
| MEDIUM | …ng/.agents/skills/docling/references/service-client.md | 84 | ## Chunk remotely (RAG) | COMMENT |
| MEDIUM | docs/usage/processing_audio_media.md | 150 | ### Building a RAG pipeline with LangChain | COMMENT |
| MEDIUM | docs/integrations/haiku_rag.md | 1 | Docling is the default document converter and chunker in [haiku.rag](https://ggozad.github.io/haiku.rag/), an agentic RA | CODE |
| MEDIUM | docs/integrations/nvidia.md | 6 | - [✍️ PDF to Podcast blog post](https://blogs.nvidia.com/blog/agentic-ai-blueprints/) | CODE |
| MEDIUM | docs/examples/post_process_ocr_with_vlm.py | 537 | # The last measure against hallucinations | COMMENT |
| MEDIUM | docs/examples/develop_formula_understanding.py | 2 | # Developing an enrichment model example (formula understanding: scaffold only). | COMMENT |
| MEDIUM | docs/examples/develop_formula_understanding.py | 9 | # - This is a development scaffold; it does not run a real formula understanding model. | COMMENT |
| MEDIUM | docs/examples/develop_picture_enrichment.py | 2 | # Developing a picture enrichment model (classifier scaffold only). | COMMENT |
| MEDIUM | docs/examples/develop_picture_enrichment.py | 9 | # - This is a scaffold for development; it does not run a real classifier. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_backend_text_encoding.py | 169 | """cp1252 leaves five byte values undefined, and nothing follows it. | STRING |
| HIGH | tests/test_check_skill_routes.py | 62 | "content", ["{", "[]", "{}", '{"../escape": "Task"}', '{"review": null}'] | CODE |
| HIGH⚡ | docling/backend/html_backend.py | 1258 | const width = rect.width || 0; | STRING |
| HIGH⚡ | docling/backend/html_backend.py | 1259 | const height = rect.height || 0; | STRING |
| HIGH⚡ | docling/backend/html_backend.py | 1260 | if (width <= 0 && height <= 0) { | STRING |
| HIGH⚡ | docling/backend/html_backend.py | 1267 | let textLeft = null; | STRING |
| HIGH⚡ | docling/backend/html_backend.py | 1268 | let textTop = null; | STRING |
| HIGH⚡ | docling/backend/html_backend.py | 1269 | let textRight = null; | STRING |
| HIGH⚡ | docling/backend/html_backend.py | 1270 | let textBottom = null; | STRING |
| HIGH⚡ | docling/backend/html_backend.py | 1283 | const tWidth = tRect.width || 0; | STRING |
| HIGH⚡ | docling/backend/html_backend.py | 1284 | const tHeight = tRect.height || 0; | STRING |
| HIGH⚡ | docling/backend/html_backend.py | 1285 | if (tWidth <= 0 && tHeight <= 0) { | STRING |
| HIGH | docling/datamodel/service/responses.py | 33 | Plain stored floats (NaN coerced to null) rather than a reuse of | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pyproject.toml | 346 | # covered by one harness; see tests/fakes/. | COMMENT |
| MEDIUM | tests/test_backend_pptx.py | 151 | """Test comprehensive comment extraction including metadata, authors, and slide distribution.""" | STRING |
| MEDIUM | tests/data/uspto/sources/ipg07997973.xml | 3813 | <p id="p-0056" num="0055">An enumerated list of items (which may or may not be numbered) does not imply that any or all | CODE |
| MEDIUM | tests/data/uspto/sources/ipg07997973.xml | 3988 | <li id="ul0012-0008" num="0196"> The various methods of disguising a game described herein may pr | CODE |
| MEDIUM | tests/data/uspto/sources/ipg07997973.xml | 4017 | <li id="ul0002-0035" num="0215"> In various embodiments, the data about the games of a primary player may | CODE |
| MEDIUM | tests/data/uspto/sources/ipg07997973.xml | 4247 | <li id="ul0028-0018" num="0367"> Any physical game described herein may be implemented electronically in | CODE |
| MEDIUM | tests/data/jats/sources/elife-56337.xml | 3 | <article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" article-type="researc | CODE |
| MEDIUM | tests/data/jats/sources/ptag100.xml | 109 | <p>In light of this, it is essential to establish a theoretical framework that enables systematic analysis and interpret | CODE |
| MEDIUM | tests/data/jats/sources/ptag100.xml | 219 | <p>Equation (<xref ref-type="disp-formula" rid="equ7">7</xref>) with Eqs. (<xref ref-type="disp-formula" r | CODE |
| MEDIUM | tests/data/jats/sources/ptag100.xml | 529 | <p>Our solutions are essential for analyzing quark–antiquark pairs, which form the core of mesons and thus play a | CODE |
| MEDIUM⚡ | tests/data/xbrl/sources/grve_10q_htm.xml | 2459 | <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="From2025-04-01to2025-12-31" id="fid_281"><p style="FO | CODE |
| MEDIUM⚡ | tests/data/xbrl/sources/grve_10q_htm.xml | 2459 | <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="From2025-04-01to2025-12-31" id="fid_281"><p style="FO | CODE |
| MEDIUM⚡ | tests/data/xbrl/sources/grve_10q_htm.xml | 2460 | <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="From2025-04-01to2025-12-31" id="fid_289"><p style="FO | CODE |
| MEDIUM⚡ | tests/data/xbrl/sources/grve_10q_htm.xml | 2460 | <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="From2025-04-01to2025-12-31" id="fid_289"><p style="FO | CODE |
| MEDIUM | tests/data/json_dots/sources/dots_simple.json | 1 | [{"bbox": [29, 435, 74, 1121], "category": "Text", "text": "arXiv:2206.01062v1 [cs.CV] 2 Jun 2022"}, {"bbox": [211, 161, | CODE |
| MEDIUM | docling/backend/epub_backend.py | 399 | # TODO: leverage `self.metadata` once DoclingDocument supports file metadata | COMMENT |
| LOW | docling/backend/html_backend.py | 5223 | # Do not fetch the image, just add a placeholder | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ng/.agents/skills/docling/references/service-client.md | 49 | DOCLING_SERVICE_API_KEY=your-api-key # omit if the service is unauthenticated | CODE |
| HIGH | docling/datamodel/backend_options.py | 158 | examples=[{"Authorization": "Bearer TOKEN"}, {"X-API-Key": "your-api-key"}], | CODE |
| HIGH | docs/usage/mcp.md | 37 | export DOCLING_SERVICE_API_KEY=your-api-key # if the service requires one | CODE |
| HIGH | docs/examples/granitedocling_repetition_stopping.py | 90 | # # "Authorization": "Bearer YOUR_API_KEY", # if needed | COMMENT |
| HIGH | docs/examples/service_client/README.md | 14 | DOCLING_SERVICE_API_KEY=your-api-key # omit if the service is unauthenticated | CODE |
| HIGH | packages/docling-client/README.md | 35 | DOCLING_SERVICE_API_KEY=your-api-key # omit if the service is unauthenticated | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_backend_pptx_hidden_shapes.py | 16 | def _set_shape_hidden(shape, value: str = "1") -> None: | CODE |
| LOW | docling/__init__.py | 8 | __all__ = ["__version__"] | CODE |
| LOW | docling/experimental/models/table_crops_layout_model.py | 22 | __all__ = ["TableCropsLayoutModel"] | CODE |
| LOW | …g/experimental/datamodel/table_crops_layout_options.py | 10 | __all__ = ["TableCropsLayoutOptions"] | CODE |
| LOW | docling/utils/paddleocr_vl_utils.py | 46 | __all__ = ["parse_paddleocr_vl_result"] | CODE |
| LOW | docling/utils/layout_postprocessor.py | 398 | def _set_cluster_children(self, cluster: Cluster, children: list[Cluster]) -> None: | CODE |
| LOW | docling/backend/latex_backend.py | 6 | __all__ = ["LatexDocumentBackend"] | CODE |
| LOW | docling/backend/latex/__init__.py | 6 | __all__ = ["LatexDocumentBackend"] | CODE |
| LOW | docling/backend/xml/uspto_backend.py | 175 | def _set_parser(self, doctype: str) -> None: | CODE |
| LOW | …ages/picture_classifier/document_picture_classifier.py | 34 | __all__ = [ | CODE |
| LOW | docling/models/inference_engines/__init__.py | 16 | __all__ = [] | CODE |
| LOW | docling/models/inference_engines/vlm/__init__.py | 24 | __all__ = [ | CODE |
| LOW | docling/models/inference_engines/common/__init__.py | 10 | __all__ = ["HfVisionModelMixin", "KserveV2Client", "KserveV2HttpClient"] | CODE |
| LOW | …/models/inference_engines/object_detection/__init__.py | 17 | __all__ = [ | CODE |
| LOW | …els/inference_engines/image_classification/__init__.py | 17 | __all__ = [ | CODE |
| LOW | docling/models/factories/picture_description_factory.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | docling/models/factories/__init__.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | docling/models/factories/ocr_factory.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | docling/models/factories/base_factory.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | docling/service_client/_async_client.py | 105 | logger = logging.getLogger(__name__) | CODE |
| LOW | docling/service_client/client.py | 119 | logger = logging.getLogger(__name__) | CODE |
| LOW | docling/service_client/__init__.py | 46 | __all__ = [ | CODE |
| LOW | docling/datamodel/service/__init__.py | 108 | __all__ = [ | CODE |
| LOW | docling/datamodel/service/sources.py | 14 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docling/utils/model_downloader.py | 55 | CODE | |
| LOW | docling/utils/video_frame_sampling.py | 500 | CODE | |
| LOW | docling/backend/opendocument_backend.py | 1484 | CODE | |
| LOW | docling/cli/models.py | 90 | CODE | |
| LOW | docling/cli/remote.py | 134 | CODE | |
| LOW | docling/cli/main.py | 508 | CODE | |
| LOW | docling/cli/main.py | 795 | CODE | |
| LOW | docling/service_client/_async_client.py | 112 | CODE | |
| LOW | docling/service_client/client.py | 239 | CODE | |
| LOW | docling/service_client/client.py | 811 | CODE | |
| LOW | docling/service_client/client.py | 914 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/examples/picture_description_inline.py | 7 | # - Enriches documents with AI-generated image captions | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ata/latex/groundtruth/arXiv-2501.01300v2_main.tex.json | 852 | "orig": "Continuum estimates for charmed baryon and meson partial pressures shown in Fig. [fig:enhan] are obtained | CODE |
| MEDIUM | …ata/latex/groundtruth/arXiv-2501.01300v2_main.tex.json | 853 | "text": "Continuum estimates for charmed baryon and meson partial pressures shown in Fig. [fig:enhan] are obtained | CODE |