Transforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON for your Agentic workflows.
This report presents the forensic synthetic code analysis of opendatalab/MinerU, a Python project with 74,520 GitHub stars. SynthScan v2.0 examined 118,164 lines of code across 311 source files, recording 1286 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 11.2 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1286 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/demo.py | 83 | def prepare_local_api_temp_dir() -> None: | CODE |
| LOW | tests/unittest/test_e2e.py | 23 | def test_pipeline_with_two_config(): | CODE |
| LOW | mineru/utils/model_utils.py | 116 | def remove_nested_ocr_text_blocks( | CODE |
| LOW | mineru/utils/model_utils.py | 148 | def get_res_list_from_layout_res(layout_res, overlap_threshold=0.8): | CODE |
| LOW | mineru/utils/pdfium_guard.py | 32 | def get_pdfium_document_page_count(pdf_doc) -> int: | CODE |
| LOW⚡ | mineru/utils/pdfium_guard.py | 54 | def close_pdfium_objects_safely(*pdfium_objs, owner: str = "pdfium cleanup") -> None: | CODE |
| LOW⚡ | mineru/utils/pdfium_guard.py | 65 | def get_loadable_pdfium_page_indices( | CODE |
| LOW | mineru/utils/pdfium_guard.py | 108 | def rewrite_pdf_bytes_with_pdfium( | CODE |
| LOW | mineru/utils/models_download_utils.py | 23 | def get_tools_config_file_path() -> str: | CODE |
| LOW | mineru/utils/models_download_utils.py | 38 | def is_config_version_outdated(config_version): | CODE |
| LOW⚡ | mineru/utils/models_download_utils.py | 88 | def persist_resolved_model_source(model_source: str) -> None: | CODE |
| LOW⚡ | mineru/utils/models_download_utils.py | 102 | def normalize_download_relative_path(relative_path: str, repo_mode: str) -> str: | CODE |
| LOW⚡ | mineru/utils/models_download_utils.py | 113 | def read_existing_tools_config() -> dict | None: | CODE |
| LOW⚡ | mineru/utils/models_download_utils.py | 130 | def get_configured_repo_model_root(config: dict, repo_mode: str) -> str | None: | CODE |
| LOW | mineru/utils/models_download_utils.py | 144 | def build_configured_model_path(model_root: str, relative_path: str) -> str: | CODE |
| LOW | mineru/utils/models_download_utils.py | 151 | def get_existing_configured_model_root(repo_mode: str, relative_path: str) -> str | None: | CODE |
| LOW | mineru/utils/models_download_utils.py | 168 | def persist_downloaded_model_config(model_source: str, repo_mode: str, model_root: str) -> None: | CODE |
| LOW | mineru/utils/models_download_utils.py | 190 | def resolve_auto_model_source() -> str: | CODE |
| LOW | mineru/utils/models_download_utils.py | 254 | def _snapshot_download_cached(model_source: str, repo_mode: str, repo: str, relative_path: str) -> str: | CODE |
| LOW | mineru/utils/models_download_utils.py | 279 | def auto_download_and_get_model_root_path(relative_path: str, repo_mode='pipeline') -> str: | CODE |
| LOW | mineru/utils/check_sys_env.py | 26 | def is_mac_os_version_supported(min_version: str = "13.5") -> bool: | CODE |
| LOW | mineru/utils/pdf_text_tool.py | 54 | def _get_visible_char_signature( | CODE |
| LOW | mineru/utils/pdf_text_tool.py | 80 | def _calculate_bbox_overlap_in_smaller_area( | CODE |
| LOW | mineru/utils/pdf_text_tool.py | 107 | def _is_adjacent_offset_duplicate_char( | CODE |
| LOW | mineru/utils/pdf_text_tool.py | 149 | def _get_near_identical_bbox_bucket_key( | CODE |
| LOW | mineru/utils/pdf_text_tool.py | 159 | def _iter_neighbor_bbox_bucket_keys( | CODE |
| LOW | mineru/utils/pdf_text_tool.py | 244 | def _legacy_chars_to_page_chars(chars): | CODE |
| LOW | mineru/utils/pdf_text_tool.py | 278 | def _deduplicate_near_identical_chars( | CODE |
| LOW | mineru/utils/llm_aided.py | 20 | def _get_title_line_avg_height(block): | CODE |
| LOW | mineru/utils/llm_aided.py | 44 | def _collect_title_block_refs(page_info_list): | CODE |
| LOW | mineru/utils/llm_aided.py | 71 | def _build_title_optimize_prompt(title_dict): | CODE |
| LOW | mineru/utils/llm_aided.py | 114 | def _build_relative_title_optimize_prompt(title_dict): | STRING |
| LOW | mineru/utils/llm_aided.py | 235 | def _get_title_block_identity(block): | STRING |
| LOW | mineru/utils/llm_aided.py | 247 | def _sync_para_titles_to_preproc(page_info_list): | STRING |
| LOW | mineru/utils/llm_aided.py | 270 | def _run_single_pass_title_leveling(title_block_refs, title_aided_config): | STRING |
| LOW | mineru/utils/llm_aided.py | 276 | def _split_paragraph_title_groups(title_block_refs): | STRING |
| LOW⚡ | mineru/utils/llm_aided.py | 295 | def _offset_paragraph_title_levels(levels_by_index): | STRING |
| LOW⚡ | mineru/utils/llm_aided.py | 305 | def _request_paragraph_group_levels(title_block_refs, title_aided_config): | STRING |
| LOW⚡ | mineru/utils/llm_aided.py | 315 | def _run_grouped_title_leveling(title_block_refs, title_aided_config): | STRING |
| LOW | mineru/utils/config_reader.py | 33 | def get_configured_model_source(default: str | None = None) -> str | None: | CODE |
| LOW | mineru/utils/config_reader.py | 152 | def get_ocr_det_mask_inline_formula_enable(enable): | CODE |
| LOW | mineru/utils/config_reader.py | 158 | def get_processing_window_size(default: int = 64) -> int: | CODE |
| LOW | mineru/utils/config_reader.py | 172 | def get_max_concurrent_requests(default: int = 3) -> int: | CODE |
| LOW | mineru/utils/config_reader.py | 195 | def get_latex_delimiter_config(): | CODE |
| LOW | mineru/utils/magic_model_utils.py | 79 | def calc_effective_index_diff(obj_index: int, sub_index: int) -> int: | CODE |
| LOW | mineru/utils/visual_magic_model_utils.py | 101 | def fallback_inline_caption_fragments(blocks, visual_main_types): | CODE |
| LOW | mineru/utils/visual_magic_model_utils.py | 132 | def fallback_leading_table_continuation_captions(blocks, visual_main_types): | CODE |
| LOW | mineru/utils/visual_magic_model_utils.py | 175 | def _is_leading_continuation_text_block(block): | CODE |
| LOW | mineru/utils/visual_magic_model_utils.py | 193 | def is_transparent_visual_relation_block(block): | CODE |
| LOW | mineru/utils/visual_magic_model_utils.py | 204 | def _is_leading_continuation_cluster_near_table(leading_blocks, table_block): | CODE |
| LOW | mineru/utils/visual_magic_model_utils.py | 226 | def fallback_stacked_table_caption_fragments(blocks, visual_main_types): | CODE |
| LOW | mineru/utils/visual_magic_model_utils.py | 267 | def find_stacked_table_caption_cluster(table_block, blocks): | CODE |
| LOW | mineru/utils/visual_magic_model_utils.py | 303 | def find_last_caption_position(caption_cluster): | CODE |
| LOW | mineru/utils/visual_magic_model_utils.py | 311 | def is_horizontally_near_table(block, table_block): | CODE |
| LOW⚡ | mineru/utils/visual_magic_model_utils.py | 323 | def is_single_line_caption_fragment(block): | CODE |
| LOW⚡ | mineru/utils/visual_magic_model_utils.py | 333 | def find_previous_effective_block(ordered_blocks, pos): | CODE |
| LOW⚡ | mineru/utils/visual_magic_model_utils.py | 342 | def find_next_effective_block(ordered_blocks, pos): | CODE |
| LOW⚡ | mineru/utils/visual_magic_model_utils.py | 351 | def is_inline_caption_fragment(previous_caption, text_block, next_visual): | CODE |
| LOW | mineru/utils/visual_magic_model_utils.py | 477 | def absorb_image_block_members(blocks): | CODE |
| LOW | mineru/utils/visual_magic_model_utils.py | 622 | def effective_visual_index_diff( | CODE |
| 631 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mineru/utils/model_utils.py | 148 | CODE | |
| LOW | mineru/utils/model_utils.py | 183 | CODE | |
| LOW | mineru/utils/model_utils.py | 217 | CODE | |
| LOW | mineru/utils/pdfium_guard.py | 65 | CODE | |
| LOW | mineru/utils/pdfium_guard.py | 108 | CODE | |
| LOW | mineru/utils/pdf_reader.py | 11 | CODE | |
| LOW | mineru/utils/llm_aided.py | 160 | CODE | |
| LOW | mineru/utils/config_reader.py | 105 | CODE | |
| LOW | mineru/utils/magic_model_utils.py | 32 | CODE | |
| LOW | mineru/utils/guess_suffix_or_lang.py | 41 | CODE | |
| LOW | mineru/utils/guess_suffix_or_lang.py | 185 | CODE | |
| LOW | mineru/utils/span_pre_proc.py | 43 | CODE | |
| LOW | mineru/utils/span_pre_proc.py | 453 | CODE | |
| LOW | mineru/utils/span_pre_proc.py | 605 | CODE | |
| LOW | mineru/utils/office_rich_text.py | 300 | CODE | |
| LOW | mineru/utils/office_rich_text.py | 350 | CODE | |
| LOW | mineru/utils/engine_utils.py | 10 | CODE | |
| LOW | mineru/utils/table_merge.py | 78 | CODE | |
| LOW | mineru/utils/table_merge.py | 402 | CODE | |
| LOW | mineru/utils/table_merge.py | 483 | CODE | |
| LOW | mineru/utils/table_merge.py | 769 | CODE | |
| LOW | mineru/utils/table_merge.py | 868 | CODE | |
| LOW | mineru/utils/table_merge.py | 938 | CODE | |
| LOW | mineru/utils/pdf_image_tools.py | 184 | CODE | |
| LOW | mineru/utils/pdf_image_tools.py | 419 | CODE | |
| LOW | mineru/utils/pdf_classify.py | 290 | CODE | |
| LOW | mineru/utils/pdf_classify.py | 313 | CODE | |
| LOW | mineru/utils/pdf_classify.py | 1055 | CODE | |
| LOW | mineru/utils/draw_bbox.py | 102 | CODE | |
| LOW | mineru/utils/draw_bbox.py | 146 | CODE | |
| LOW | mineru/utils/draw_bbox.py | 317 | CODE | |
| LOW | mineru/utils/draw_bbox.py | 325 | CODE | |
| LOW | mineru/utils/boxbase.py | 40 | CODE | |
| LOW | mineru/utils/ocr_language.py | 134 | CODE | |
| LOW | mineru/backend/pipeline/model_json_to_middle_json.py | 72 | CODE | |
| LOW | mineru/backend/pipeline/model_json_to_middle_json.py | 148 | CODE | |
| LOW | mineru/backend/pipeline/model_json_to_middle_json.py | 196 | CODE | |
| LOW | mineru/backend/pipeline/batch_analyze.py | 408 | CODE | |
| LOW | …eru/backend/pipeline/pipeline_middle_json_mkcontent.py | 18 | CODE | |
| LOW | …eru/backend/pipeline/pipeline_middle_json_mkcontent.py | 124 | CODE | |
| LOW | …eru/backend/pipeline/pipeline_middle_json_mkcontent.py | 365 | CODE | |
| LOW | …eru/backend/pipeline/pipeline_middle_json_mkcontent.py | 518 | CODE | |
| LOW | …eru/backend/pipeline/pipeline_middle_json_mkcontent.py | 550 | CODE | |
| LOW | …eru/backend/pipeline/pipeline_middle_json_mkcontent.py | 609 | CODE | |
| LOW | …eru/backend/pipeline/pipeline_middle_json_mkcontent.py | 745 | CODE | |
| LOW | …eru/backend/pipeline/pipeline_middle_json_mkcontent.py | 968 | CODE | |
| LOW | mineru/backend/pipeline/para_split.py | 59 | CODE | |
| LOW | mineru/backend/pipeline/para_split.py | 265 | CODE | |
| LOW | mineru/backend/pipeline/para_split.py | 309 | CODE | |
| LOW | mineru/backend/pipeline/para_split.py | 371 | CODE | |
| LOW | mineru/backend/pipeline/para_split.py | 417 | CODE | |
| LOW | mineru/backend/pipeline/pipeline_magic_model.py | 199 | CODE | |
| LOW | mineru/backend/pipeline/pipeline_magic_model.py | 222 | CODE | |
| LOW | mineru/backend/pipeline/model_init.py | 189 | CODE | |
| LOW | mineru/backend/pipeline/pipeline_analyze.py | 157 | CODE | |
| LOW | mineru/backend/pipeline/pipeline_analyze.py | 331 | CODE | |
| LOW | mineru/backend/office/model_output_to_middle_json.py | 11 | CODE | |
| LOW | mineru/backend/office/model_output_to_middle_json.py | 94 | CODE | |
| LOW | mineru/backend/office/model_output_to_middle_json.py | 126 | CODE | |
| LOW | mineru/backend/office/office_magic_model.py | 227 | CODE | |
| 137 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | update_version.py | 15 | except Exception as e: | CODE |
| MEDIUM | tests/clean_coverage.py | 16 | print(f"Error deleting file '{path}': {e}") | CODE |
| MEDIUM | tests/clean_coverage.py | 22 | print(f"Error deleting directory '{path}': {e}") | CODE |
| LOW | tests/unittest/test_e2e.py | 148 | except Exception as e: | CODE |
| MEDIUM | tests/unittest/test_e2e.py | 144 | def validate_html(html_content): | CODE |
| LOW⚡ | mineru/utils/pdfium_guard.py | 61 | except Exception as exc: | CODE |
| LOW | mineru/utils/pdfium_guard.py | 98 | except Exception: | CODE |
| LOW⚡ | mineru/utils/models_download_utils.py | 98 | except Exception as exc: | CODE |
| LOW⚡ | mineru/utils/models_download_utils.py | 121 | except Exception as exc: | CODE |
| LOW | mineru/utils/models_download_utils.py | 182 | except Exception as exc: | CODE |
| LOW | mineru/utils/models_download_utils.py | 202 | except Exception as exc: | CODE |
| LOW | mineru/utils/pdf_reader.py | 31 | except Exception as e: | CODE |
| LOW | mineru/utils/pdf_text_tool.py | 336 | except Exception: | CODE |
| LOW | mineru/utils/llm_aided.py | 212 | except Exception as e: | STRING |
| LOW⚡ | mineru/utils/config_reader.py | 118 | except Exception as e: | CODE |
| LOW⚡ | mineru/utils/config_reader.py | 122 | except Exception as e: | CODE |
| LOW⚡ | mineru/utils/config_reader.py | 126 | except Exception as e: | CODE |
| LOW⚡ | mineru/utils/config_reader.py | 130 | except Exception as e: | CODE |
| LOW⚡ | mineru/utils/config_reader.py | 134 | except Exception as e: | CODE |
| LOW | mineru/utils/guess_suffix_or_lang.py | 81 | except Exception: | CODE |
| LOW | mineru/utils/guess_suffix_or_lang.py | 199 | except Exception as e: | CODE |
| LOW | mineru/utils/span_pre_proc.py | 51 | except Exception as exc: | CODE |
| LOW⚡ | mineru/utils/pdf_image_tools.py | 241 | except Exception as exc: | CODE |
| LOW⚡ | mineru/utils/pdf_image_tools.py | 245 | except Exception as exc: | CODE |
| LOW⚡ | mineru/utils/pdf_image_tools.py | 407 | except Exception: | CODE |
| LOW⚡ | mineru/utils/pdf_image_tools.py | 415 | except Exception: | CODE |
| LOW | mineru/utils/pdf_image_tools.py | 97 | except Exception: | CODE |
| LOW | mineru/utils/pdf_image_tools.py | 338 | except Exception: | CODE |
| LOW | mineru/utils/pdf_image_tools.py | 386 | except Exception: | CODE |
| LOW | mineru/utils/pdf_image_tools.py | 395 | except Exception: | CODE |
| LOW | mineru/utils/pdf_classify.py | 249 | except Exception as e: | CODE |
| LOW | mineru/backend/pipeline/batch_analyze.py | 543 | except Exception as e: | CODE |
| LOW | mineru/backend/pipeline/batch_analyze.py | 555 | except Exception as e: | CODE |
| LOW | mineru/backend/pipeline/model_init.py | 353 | except Exception as e: | CODE |
| LOW | mineru/backend/pipeline/pipeline_analyze.py | 102 | except Exception: | CODE |
| LOW | mineru/backend/pipeline/pipeline_analyze.py | 193 | except Exception: | CODE |
| LOW | mineru/backend/pipeline/pipeline_analyze.py | 347 | except Exception as e: | CODE |
| LOW | mineru/backend/utils/office_chart.py | 78 | except Exception: | CODE |
| LOW | mineru/backend/utils/office_chart.py | 299 | except Exception: | CODE |
| LOW | mineru/backend/utils/ocr_det_utils.py | 16 | except Exception as e: | CODE |
| LOW | mineru/backend/utils/html_image_utils.py | 46 | except Exception as exc: | CODE |
| LOW | mineru/backend/utils/html_image_utils.py | 62 | except Exception: | CODE |
| LOW | mineru/backend/utils/html_image_utils.py | 87 | except Exception as exc: | CODE |
| LOW | mineru/backend/vlm/vlm_magic_model.py | 60 | except Exception as e: | CODE |
| LOW | mineru/backend/vlm/vlm_analyze.py | 320 | except Exception as exc: | CODE |
| LOW | mineru/backend/vlm/vlm_analyze.py | 419 | except Exception: | CODE |
| LOW | mineru/backend/vlm/utils.py | 108 | except Exception as e: | CODE |
| MEDIUM | mineru/backend/vlm/utils.py | 95 | def set_default_batch_size() -> int: | CODE |
| LOW⚡ | mineru/backend/hybrid/hybrid_analyze.py | 438 | except Exception as exc: | CODE |
| LOW | mineru/backend/hybrid/hybrid_analyze.py | 413 | except Exception as exc: | CODE |
| LOW | mineru/backend/hybrid/hybrid_analyze.py | 885 | except Exception: | CODE |
| LOW | mineru/backend/hybrid/hybrid_magic_model.py | 116 | except Exception as e: | CODE |
| MEDIUM | mineru/cli/client.py | 390 | def create_visualization_context() -> Optional[VisualizationContext]: | CODE |
| LOW | mineru/cli/client.py | 400 | except Exception as exc: | CODE |
| LOW | mineru/cli/client.py | 436 | except Exception as exc: | CODE |
| LOW | mineru/cli/client.py | 459 | except Exception as exc: | CODE |
| LOW | mineru/cli/client.py | 801 | except Exception as exc: | CODE |
| LOW | mineru/cli/client.py | 898 | except Exception as exc: | CODE |
| LOW | mineru/cli/models_download.py | 152 | except Exception as e: | STRING |
| LOW | mineru/cli/visualization.py | 52 | except Exception as exc: | CODE |
| 93 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/get_coverage.py | 6 | CODE | |
| LOW | mineru/utils/engine_utils.py | 2 | CODE | |
| LOW | mineru/utils/engine_utils.py | 41 | CODE | |
| LOW | mineru/utils/engine_utils.py | 50 | CODE | |
| LOW | mineru/utils/engine_utils.py | 63 | CODE | |
| LOW | mineru/utils/engine_utils.py | 54 | CODE | |
| LOW | mineru/utils/cli_parser.py | 4 | CODE | |
| LOW | mineru/utils/title_level_postprocess.py | 2 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 2 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 2 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 2 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 2 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 2 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 2 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 10 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 10 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 10 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 10 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 10 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 10 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 10 | CODE | |
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 10 | CODE | |
| LOW | mineru/backend/office/office_magic_model.py | 7 | CODE | |
| LOW | mineru/backend/hybrid/hybrid_analyze.py | 5 | CODE | |
| LOW | mineru/cli/vlm_server.py | 32 | CODE | |
| LOW | mineru/cli/vlm_server.py | 48 | CODE | |
| LOW | mineru/cli/vlm_server.py | 55 | CODE | |
| LOW | mineru/cli/vlm_server.py | 38 | CODE | |
| LOW | mineru/cli/client_side_output.py | 2 | CODE | |
| LOW | mineru/model/mfr/unimernet/unimernet_hf/__init__.py | 2 | CODE | |
| LOW | mineru/model/mfr/unimernet/unimernet_hf/__init__.py | 2 | CODE | |
| LOW | mineru/model/mfr/unimernet/unimernet_hf/__init__.py | 2 | CODE | |
| LOW | mineru/model/mfr/unimernet/unimernet_hf/__init__.py | 3 | CODE | |
| LOW | mineru/model/mfr/unimernet/unimernet_hf/__init__.py | 3 | CODE | |
| LOW | mineru/model/mfr/unimernet/unimernet_hf/__init__.py | 3 | CODE | |
| LOW | mineru/model/mfr/unimernet/unimernet_hf/__init__.py | 4 | CODE | |
| LOW | …model/mfr/unimernet/unimernet_hf/modeling_unimernet.py | 8 | CODE | |
| LOW | …el/mfr/unimernet/unimernet_hf/unimer_mbart/__init__.py | 2 | CODE | |
| LOW | …el/mfr/unimernet/unimernet_hf/unimer_mbart/__init__.py | 3 | CODE | |
| LOW | …el/mfr/unimernet/unimernet_hf/unimer_mbart/__init__.py | 3 | CODE | |
| LOW | …del/mfr/unimernet/unimernet_hf/unimer_swin/__init__.py | 2 | CODE | |
| LOW | …del/mfr/unimernet/unimernet_hf/unimer_swin/__init__.py | 3 | CODE | |
| LOW | …del/mfr/unimernet/unimernet_hf/unimer_swin/__init__.py | 4 | CODE | |
| LOW | mineru/model/mfr/pp_formulanet_plus_m/processors.py | 11 | CODE | |
| LOW | …neru/model/utils/pytorchocr/modeling/heads/__init__.py | 20 | CODE | |
| LOW | …neru/model/utils/pytorchocr/modeling/heads/__init__.py | 20 | CODE | |
| LOW | …neru/model/utils/pytorchocr/modeling/heads/__init__.py | 23 | CODE | |
| LOW | …neru/model/utils/pytorchocr/modeling/heads/__init__.py | 24 | CODE | |
| LOW | …neru/model/utils/pytorchocr/modeling/heads/__init__.py | 25 | CODE | |
| LOW | …neru/model/utils/pytorchocr/modeling/heads/__init__.py | 28 | CODE | |
| LOW | …/utils/pytorchocr/modeling/heads/rec_unimernet_head.py | 4 | CODE | |
| LOW | …/utils/pytorchocr/modeling/heads/rec_unimernet_head.py | 5 | CODE | |
| LOW | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 17 | CODE | |
| LOW | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 18 | CODE | |
| LOW | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 19 | CODE | |
| LOW | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 22 | CODE | |
| LOW | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 22 | CODE | |
| LOW | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 22 | CODE | |
| LOW | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 22 | CODE | |
| LOW | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 23 | CODE | |
| 56 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ernet/unimernet_hf/unimer_swin/modeling_unimer_swin.py | 0 | drop paths (stochastic depth) per sample (when applied in main path of residual blocks). | STRING |
| HIGH | …del/utils/pytorchocr/modeling/backbones/rec_svtrnet.py | 0 | drop paths (stochastic depth) per sample (when applied in main path of residual blocks). | STRING |
| HIGH | …/utils/pytorchocr/modeling/backbones/rec_donut_swin.py | 0 | drop paths (stochastic depth) per sample (when applied in main path of residual blocks). | STRING |
| HIGH | mineru/data/data_reader_writer/filebase.py | 0 | read at offset and limit. args: path (str): the path of file, if the path is relative path, it will be joined with paren | STRING |
| HIGH | mineru/data/io/s3.py | 0 | read at offset and limit. args: path (str): the path of file, if the path is relative path, it will be joined with paren | STRING |
| HIGH | mineru/data/io/base.py | 0 | read at offset and limit. args: path (str): the path of file, if the path is relative path, it will be joined with paren | STRING |
| HIGH | mineru/data/data_reader_writer/filebase.py | 0 | write file with data. args: path (str): the path of file, if the path is relative path, it will be joined with parent_di | STRING |
| HIGH | mineru/data/io/http.py | 0 | write file with data. args: path (str): the path of file, if the path is relative path, it will be joined with parent_di | STRING |
| HIGH | mineru/data/io/s3.py | 0 | write file with data. args: path (str): the path of file, if the path is relative path, it will be joined with parent_di | STRING |
| HIGH | mineru/data/io/base.py | 0 | write file with data. args: path (str): the path of file, if the path is relative path, it will be joined with parent_di | STRING |
| HIGH | mineru/data/data_reader_writer/base.py | 0 | read the file. args: path (str): file path to read returns: bytes: the content of the file | STRING |
| HIGH | mineru/data/io/http.py | 0 | read the file. args: path (str): file path to read returns: bytes: the content of the file | STRING |
| HIGH | mineru/data/io/s3.py | 0 | read the file. args: path (str): file path to read returns: bytes: the content of the file | STRING |
| HIGH | mineru/data/io/base.py | 0 | read the file. args: path (str): file path to read returns: bytes: the content of the file | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/demo.py | 95 | CODE | |
| LOW | mineru/backend/office/office_magic_model.py | 483 | CODE | |
| LOW | mineru/backend/office/office_magic_model.py | 589 | CODE | |
| LOW | mineru/backend/hybrid/hybrid_analyze.py | 889 | CODE | |
| LOW | mineru/backend/hybrid/hybrid_analyze.py | 1097 | CODE | |
| LOW | mineru/cli/api_request.py | 92 | CODE | |
| LOW | mineru/cli/gradio_app.py | 756 | CODE | |
| LOW | mineru/cli/gradio_app.py | 1006 | CODE | |
| LOW | mineru/cli/gradio_app.py | 1158 | CODE | |
| LOW | mineru/cli/gradio_app.py | 1787 | CODE | |
| LOW | mineru/cli/common.py | 668 | CODE | |
| LOW | mineru/cli/common.py | 760 | CODE | |
| LOW | mineru/model/layout/pp_doclayoutv2.py | 213 | CODE | |
| LOW | mineru/model/layout/pp_doclayoutv2.py | 814 | CODE | |
| LOW | …net/unimernet_hf/unimer_mbart/modeling_unimer_mbart.py | 785 | CODE | |
| LOW | …net/unimernet_hf/unimer_mbart/modeling_unimer_mbart.py | 1317 | CODE | |
| LOW | …net/unimernet_hf/unimer_mbart/modeling_unimer_mbart.py | 1620 | CODE | |
| LOW | …net/unimernet_hf/unimer_mbart/modeling_unimer_mbart.py | 1746 | CODE | |
| LOW | …net/unimernet_hf/unimer_mbart/modeling_unimer_mbart.py | 1905 | CODE | |
| LOW | …net/unimernet_hf/unimer_mbart/modeling_unimer_mbart.py | 2033 | CODE | |
| LOW | …net/unimernet_hf/unimer_mbart/modeling_unimer_mbart.py | 2178 | CODE | |
| LOW | …nimernet_hf/unimer_mbart/configuration_unimer_mbart.py | 106 | CODE | |
| LOW | …ernet/unimernet_hf/unimer_swin/modeling_unimer_swin.py | 398 | CODE | |
| LOW | …/unimernet_hf/unimer_swin/configuration_unimer_swin.py | 91 | CODE | |
| LOW | mineru/model/utils/tools/infer/pytorchocr_utility.py | 220 | CODE | |
| LOW | mineru/model/utils/pytorchocr/modeling/necks/rnn.py | 91 | CODE | |
| LOW | mineru/model/utils/pytorchocr/modeling/necks/rnn.py | 324 | CODE | |
| LOW | …u/model/utils/pytorchocr/modeling/heads/det_db_head.py | 162 | CODE | |
| LOW | …/utils/pytorchocr/modeling/heads/rec_unimernet_head.py | 1289 | CODE | |
| LOW | …/utils/pytorchocr/modeling/heads/rec_unimernet_head.py | 159 | CODE | |
| LOW | …/utils/pytorchocr/modeling/heads/rec_unimernet_head.py | 665 | CODE | |
| LOW | …/utils/pytorchocr/modeling/heads/rec_unimernet_head.py | 779 | CODE | |
| LOW | …/utils/pytorchocr/modeling/heads/rec_unimernet_head.py | 976 | CODE | |
| LOW | …/utils/pytorchocr/modeling/heads/rec_unimernet_head.py | 1414 | CODE | |
| LOW | …/utils/pytorchocr/modeling/heads/rec_unimernet_head.py | 1627 | CODE | |
| LOW | …/utils/pytorchocr/modeling/heads/rec_unimernet_head.py | 1935 | CODE | |
| LOW | …/utils/pytorchocr/modeling/heads/rec_unimernet_head.py | 2016 | CODE | |
| LOW | …/utils/pytorchocr/modeling/heads/rec_unimernet_head.py | 2327 | CODE | |
| LOW | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 406 | CODE | |
| LOW | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 638 | CODE | |
| LOW | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 714 | CODE | |
| LOW | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 918 | CODE | |
| LOW | …l/utils/pytorchocr/modeling/backbones/rec_pphgnetv2.py | 42 | CODE | |
| LOW | …l/utils/pytorchocr/modeling/backbones/rec_pphgnetv2.py | 1208 | CODE | |
| LOW | …del/utils/pytorchocr/modeling/backbones/rec_svtrnet.py | 21 | CODE | |
| LOW | …del/utils/pytorchocr/modeling/backbones/rec_svtrnet.py | 53 | CODE | |
| LOW | …del/utils/pytorchocr/modeling/backbones/rec_svtrnet.py | 131 | CODE | |
| LOW | …del/utils/pytorchocr/modeling/backbones/rec_svtrnet.py | 200 | CODE | |
| LOW | …del/utils/pytorchocr/modeling/backbones/rec_svtrnet.py | 405 | CODE | |
| LOW | …/utils/pytorchocr/modeling/backbones/rec_donut_swin.py | 437 | CODE | |
| LOW | …/utils/pytorchocr/modeling/backbones/rec_donut_swin.py | 21 | CODE | |
| LOW | …u/model/table/rec/slanet_plus/table_structure_utils.py | 178 | CODE | |
| LOW | …u/model/table/rec/slanet_plus/table_structure_utils.py | 215 | CODE | |
| LOW | …eru/model/table/rec/unet_table/table_structure_unet.py | 82 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/demo.py | 221 | # "vlm-engine" -> local VLM parsing | COMMENT |
| LOW | mineru/model/ocr/seal_det_warp.py | 1 | # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | mineru/model/ocr/seal_crop.py | 1 | # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | …net/unimernet_hf/unimer_mbart/modeling_unimer_mbart.py | 1 | # coding=utf-8 | COMMENT |
| LOW | …net/unimernet_hf/unimer_mbart/modeling_unimer_mbart.py | 421 | if self.is_decoder: | COMMENT |
| LOW | …nimernet_hf/unimer_mbart/configuration_unimer_mbart.py | 1 | # coding=utf-8 | COMMENT |
| LOW | …ernet/unimernet_hf/unimer_swin/modeling_unimer_swin.py | 1 | # coding=utf-8 | COMMENT |
| LOW | …/unimernet_hf/unimer_swin/configuration_unimer_swin.py | 1 | # coding=utf-8 | COMMENT |
| LOW | mineru/model/utils/tools/__init__.py | 1 | # Copyright (c) Opendatalab. All rights reserved. | COMMENT |
| LOW | …neru/model/utils/pytorchocr/modeling/necks/__init__.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | mineru/model/utils/pytorchocr/modeling/necks/rnn.py | 21 | # def forward(self, x): | COMMENT |
| LOW | …el/utils/pytorchocr/modeling/architectures/__init__.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | …neru/model/utils/pytorchocr/modeling/heads/__init__.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 1 | # Copyright (c) Opendatalab. All rights reserved. | COMMENT |
| LOW | …/model/utils/pytorchocr/modeling/backbones/__init__.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | …del/utils/pytorchocr/modeling/backbones/rec_lcnetv3.py | 1 | # Copyright (c) Opendatalab. All rights reserved. | COMMENT |
| LOW | …/model/utils/pytorchocr/postprocess/rec_postprocess.py | 1 | # Copyright (c) Opendatalab. All rights reserved. | COMMENT |
| LOW | mineru/model/utils/pytorchocr/data/imaug/__init__.py | 1 | # Copyright (c) Opendatalab. All rights reserved. | COMMENT |
| LOW | mineru/model/utils/pytorchocr/data/imaug/operators.py | 1 | """ | COMMENT |
| LOW | mineru/model/table/rec/slanet_plus/matcher.py | 1 | # Copyright (c) Opendatalab. All rights reserved. | COMMENT |
| LOW | mineru/model/table/rec/slanet_plus/table_structure.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | …u/model/table/rec/slanet_plus/table_structure_utils.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | mineru/model/table/rec/slanet_plus/matcher_utils.py | 1 | # Copyright (c) Opendatalab. All rights reserved. | COMMENT |
| LOW | mineru/model/table/rec/slanet_plus/matcher_utils.py | 121 | if not has_span_in_head: | COMMENT |
| LOW | .github/workflows/cla.yml | 41 | #custom-allsigned-prcomment: 'pull request comment when all contributors has signed, defaults to **CLA Assista | COMMENT |
| LOW | .github/workflows/cli.yml | 41 | # notify_to_feishu: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | mineru.template.json | 18 | "api_key": "your_api_key", | CODE |
| HIGH | docs/zh/usage/quick_usage.md | 138 | "api_key": "your_api_key", | CODE |
| HIGH | docs/zh/usage/quick_usage.md | 148 | "api_key": "your_api_key", | CODE |
| HIGH | docs/en/usage/quick_usage.md | 138 | "api_key": "your_api_key", | CODE |
| HIGH | docs/en/usage/quick_usage.md | 148 | "api_key": "your_api_key", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mineru/backend/office/office_middle_json_mkcontent.py | 21 | __all__ = [ | CODE |
| LOW | mineru/cli/client.py | 155 | def set_renderer(self, renderer: "LiveTaskStatusRenderer | None") -> None: | CODE |
| LOW⚡ | mineru/model/layout/pp_doclayoutv2.py | 1187 | def _set_box_label(box: Dict, label: str) -> None: | CODE |
| LOW⚡ | mineru/model/layout/pp_doclayoutv2.py | 1195 | def _set_formula_label(box: Dict, label: str) -> None: | CODE |
| LOW⚡ | mineru/model/layout/pp_doclayoutv2.py | 1201 | def _set_header_footer_label(box: Dict, label: str) -> None: | CODE |
| LOW⚡ | mineru/model/layout/pp_doclayoutv2.py | 1208 | def _set_footnote_label(box: Dict) -> None: | CODE |
| LOW | mineru/model/layout/pp_doclayoutv2.py | 1670 | __all__ = [ | CODE |
| LOW | mineru/model/mfr/unimernet/unimernet_hf/__init__.py | 6 | __all__ = [ | CODE |
| LOW | …el/mfr/unimernet/unimernet_hf/unimer_mbart/__init__.py | 5 | __all__ = [ | CODE |
| LOW | …del/mfr/unimernet/unimernet_hf/unimer_swin/__init__.py | 6 | __all__ = [ | CODE |
| LOW | …neru/model/utils/pytorchocr/modeling/necks/__init__.py | 15 | __all__ = ["build_neck"] | CODE |
| LOW | …el/utils/pytorchocr/modeling/architectures/__init__.py | 17 | __all__ = ["build_model"] | CODE |
| LOW | …neru/model/utils/pytorchocr/modeling/heads/__init__.py | 15 | __all__ = ["build_head"] | CODE |
| LOW | …/model/utils/pytorchocr/modeling/backbones/__init__.py | 15 | __all__ = ["build_backbone"] | CODE |
| LOW | mineru/model/utils/pytorchocr/postprocess/__init__.py | 10 | __all__ = ['build_post_process'] | CODE |
| LOW | mineru/data/data_reader_writer/__init__.py | 6 | __all__ = [ | CODE |
| LOW | mineru/data/io/__init__.py | 6 | __all__ = ['IOReader', 'IOWriter', 'HttpReader', 'HttpWriter', 'S3Reader', 'S3Writer'] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | mineru/utils/model_utils.py | 59 | # Create a white background array | COMMENT |
| MEDIUM | mineru/utils/model_utils.py | 69 | # Create a white background array | COMMENT |
| MEDIUM | mineru/utils/draw_bbox.py | 91 | rect = cal_canvas_rect(page, bbox) # Define the rectangle | CODE |
| MEDIUM | mineru/utils/draw_bbox.py | 110 | rect = cal_canvas_rect(page, bbox) # Define the rectangle | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ils/pytorchocr/modeling/heads/rec_ppformulanet_head.py | 971 | # 1. Check whether the user has defined `decoder_input_ids` manually. To facilitate in terms of input naming, | COMMENT |
| MEDIUM | …/model/utils/pytorchocr/postprocess/rec_postprocess.py | 112 | ): # grouping word with '-', such as 'state-of-the-art' | CODE |
| MEDIUM | mineru/model/docx/main.py | 19 | # provide a more robust command-line interface and resolve the demo | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/demo.py | 213 | # Set this to an existing MinerU FastAPI base URL, for example: | COMMENT |
| LOW | mineru/utils/model_utils.py | 95 | # Check if intersection is valid | COMMENT |
| LOW | mineru/utils/model_utils.py | 112 | # Check if overlap exceeds threshold | COMMENT |
| LOW | mineru/model/xlsx/xlsx_converter.py | 389 | # Check if file exists in zip | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | mineru/model/mfr/utils.py | 312 | r'\\(?:lefteqn|boldmath|ensuremath|centering|textsubscript|sides|textsl|textcent|emph|protect|null)') | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …l/utils/pytorchocr/modeling/backbones/rec_pphgnetv2.py | 546 | use 'handle_func' to modify the sub-layer(s) specified by 'layer_name_pattern'. Args: layer_name_pa | STRING |