Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts
This report presents the forensic synthetic code analysis of jupytext/jupytext, a Python project with 7,217 GitHub stars. SynthScan v2.0 examined 61,340 lines of code across 584 source files, recording 860 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 15.6 places this repository in the Moderate 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 860 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 | tests/conftest.py | 84 | def no_jupytext_version_number(): | CODE |
| LOW | tests/conftest.py | 469 | def pytest_collection_modifyitems(config, items): | CODE |
| LOW | tests/unit/test_labconfig.py | 26 | def sample_empty_viewer_config(): | CODE |
| LOW | tests/unit/test_labconfig.py | 41 | def test_set_unset_default_viewers(settings_file, sample_viewer_config, sample_empty_viewer_config): | CODE |
| LOW | tests/unit/test_stringparser.py | 46 | def test_long_string_with_four_quotes( | STRING |
| LOW | tests/unit/test_stringparser.py | 64 | def test_long_string_ends_with_four_quotes( | STRING |
| LOW | tests/unit/test_escape_magics.py | 49 | def test_force_noescape_with_gbl_esc_flag(line): | CODE |
| LOW | tests/unit/test_escape_magics.py | 54 | def test_force_escape_with_gbl_esc_flag(line): | CODE |
| LOW | tests/unit/test_escape_magics.py | 74 | def test_magics_commented_default(fmt, commented): | CODE |
| LOW | tests/unit/test_escape_magics.py | 91 | def test_magics_are_commented(fmt): | CODE |
| LOW | tests/unit/test_escape_magics.py | 116 | def test_magics_are_not_commented(fmt): | CODE |
| LOW | tests/unit/test_escape_magics.py | 138 | async def test_force_comment_using_contents_manager(tmpdir, cm): | CODE |
| LOW | tests/unit/test_escape_magics.py | 187 | def test_comment_bash_commands_in_python(magic_cmd): | CODE |
| LOW | tests/unit/test_escape_magics.py | 196 | def test_do_not_comment_python_cmds(not_magic_cmd): | CODE |
| LOW⚡ | tests/unit/test_escape_magics.py | 207 | def test_markdown_image_is_not_magic(): | CODE |
| LOW⚡ | tests/unit/test_escape_magics.py | 212 | def test_question_is_not_magic(): | CODE |
| LOW⚡ | tests/unit/test_escape_magics.py | 218 | def test_whitespace_line_is_not_magic_and_is_fast(): | CODE |
| LOW | tests/unit/test_escape_magics.py | 229 | def test_multiline_python_magic(no_jupytext_version_number): | CODE |
| LOW | tests/unit/test_cell_id.py | 4 | def test_cell_id_is_not_random(): | CODE |
| LOW | tests/unit/test_markdown_in_code_cells.py | 11 | def test_three_backticks_or_more(): | CODE |
| LOW | tests/unit/test_markdown_in_code_cells.py | 20 | def test_triple_backticks_in_code_cell( | CODE |
| LOW | tests/unit/test_markdown_in_code_cells.py | 57 | def test_triple_backticks_in_code_cell_myst( | STRING |
| LOW | tests/unit/test_markdown_in_code_cells.py | 87 | def test_alternate_tree_four_five_backticks( | STRING |
| LOW⚡ | tests/unit/test_formats.py | 26 | def test_guess_format_percent(percent_file): | CODE |
| LOW⚡ | tests/unit/test_formats.py | 31 | def test_guess_format_simple_percent( | CODE |
| LOW⚡ | tests/unit/test_formats.py | 39 | def test_guess_format_simple_percent_with_magic( | STRING |
| LOW⚡ | tests/unit/test_formats.py | 48 | def test_guess_format_simple_hydrogen_with_magic( | STRING |
| LOW | tests/unit/test_formats.py | 62 | def test_guess_format_hydrogen(): | STRING |
| LOW⚡ | tests/unit/test_formats.py | 117 | def test_get_format_implementation(): | CODE |
| LOW⚡ | tests/unit/test_formats.py | 124 | def test_script_with_magics_not_percent( | CODE |
| LOW⚡ | tests/unit/test_formats.py | 131 | def test_script_with_spyder_cell_is_percent( | CODE |
| LOW⚡ | tests/unit/test_formats.py | 138 | def test_script_with_percent_cell_and_magic_is_hydrogen( | CODE |
| LOW⚡ | tests/unit/test_formats.py | 146 | def test_script_with_percent_cell_and_kernelspec( | STRING |
| LOW | tests/unit/test_formats.py | 162 | def test_script_with_spyder_cell_with_name_is_percent( | STRING |
| LOW | tests/unit/test_formats.py | 169 | def test_read_format_from_metadata( | CODE |
| LOW | tests/unit/test_formats.py | 184 | def test_update_jupytext_formats_metadata(): | CODE |
| LOW | tests/unit/test_formats.py | 232 | def test_rearrange_jupytext_metadata(): | CODE |
| LOW | tests/unit/test_formats.py | 246 | def test_rearrange_jupytext_metadata_metadata_filter(): | CODE |
| LOW | tests/unit/test_formats.py | 267 | def test_rearrange_jupytext_metadata_add_dot_in_suffix(): | CODE |
| LOW | tests/unit/test_formats.py | 335 | def test_pandoc_format_is_preserved(): | STRING |
| LOW | tests/unit/test_formats.py | 357 | def test_write_raises_when_fmt_does_not_exists(tmpdir): | CODE |
| LOW | tests/unit/test_formats.py | 403 | async def test_configuration_examples_from_documentation(config_file, config_contents, python_notebook, tmp_path, cm): | CODE |
| LOW | tests/unit/test_pep8.py | 14 | def test_next_instruction_is_function_or_class(): | CODE |
| LOW | tests/unit/test_pep8.py | 28 | def test_cell_ends_with_function_or_class(): | STRING |
| LOW | tests/unit/test_pep8.py | 115 | def test_paragraph_is_fully_commented(lines): | STRING |
| LOW⚡ | tests/unit/test_paired_paths.py | 50 | def test_base_path_in_tree_from_root(): | CODE |
| LOW⚡ | tests/unit/test_paired_paths.py | 56 | def test_base_path_in_tree_from_non_root(): | CODE |
| LOW⚡ | tests/unit/test_paired_paths.py | 61 | def test_base_path_in_tree_from_non_root_no_subfolder(): | CODE |
| LOW⚡ | tests/unit/test_paired_paths.py | 69 | def test_full_path_in_tree_from_root(): | CODE |
| LOW⚡ | tests/unit/test_paired_paths.py | 75 | def test_full_path_in_tree_from_root_no_subfolder(): | CODE |
| LOW⚡ | tests/unit/test_paired_paths.py | 81 | def test_full_path_in_tree_from_non_root(): | CODE |
| LOW⚡ | tests/unit/test_paired_paths.py | 86 | def test_paired_paths_windows(): | CODE |
| LOW⚡ | tests/unit/test_paired_paths.py | 94 | def test_paired_paths_windows_no_subfolder(): | CODE |
| LOW⚡ | tests/unit/test_paired_paths.py | 102 | def test_paired_paths_windows_relative(): | CODE |
| LOW | tests/unit/test_paired_paths.py | 128 | def test_path_in_tree_limited_to_config_dir(tmpdir): | CODE |
| LOW | tests/unit/test_paired_paths.py | 264 | def test_paired_path_with_prefix( | CODE |
| LOW | tests/unit/test_paired_paths.py | 339 | def test_paired_paths_and_adjusted_fmt(path, input_fmt, adjusted_fmt): | CODE |
| LOW | tests/unit/test_header.py | 20 | def test_header_to_metadata_and_cell_blank_line(): | CODE |
| LOW | tests/unit/test_header.py | 42 | def test_header_to_metadata_and_cell_no_blank_line(): | CODE |
| LOW | tests/unit/test_header.py | 63 | def test_header_to_metadata_and_cell_metadata(): | CODE |
| 473 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .pre-commit-config.yaml | 1 | # Install the pre-commit hooks below with | COMMENT |
| LOW | pyproject.toml | 141 | [tool.hatch.build.hooks.jupyter-builder] | COMMENT |
| LOW | demo/World population.pct.py | 1 | # --- | COMMENT |
| LOW | demo/World population.pct.py | 21 | # | COMMENT |
| LOW | demo/World population.spx.py | 1 | # --- | COMMENT |
| LOW | demo/World population.lgt.py | 1 | # --- | COMMENT |
| LOW | demo/vscode/notebook.py | 1 | # --- | COMMENT |
| LOW | tests/unit/test_formats.py | 281 | } | COMMENT |
| LOW | …pynb_to_script_vscode_folding_markers/plotly_graphs.py | 1 | # --- | COMMENT |
| LOW | …scode_folding_markers/Notebook with many hash signs.py | 1 | # --- | COMMENT |
| LOW | …scode_folding_markers/Notebook with many hash signs.py | 21 | ################################################################## | COMMENT |
| LOW | …vscode_folding_markers/jupyter_with_raw_cell_on_top.py | 1 | # --- | COMMENT |
| LOW | …ing_markers/raw_cell_with_complex_yaml_like_content.py | 1 | # --- | COMMENT |
| LOW | …code_folding_markers/notebook_with_complex_metadata.py | 1 | # --- | COMMENT |
| LOW | …ript_vscode_folding_markers/text_outputs_and_images.py | 1 | # --- | COMMENT |
| LOW | …ipt_vscode_folding_markers/Line_breaks_in_LateX_305.py | 1 | # --- | COMMENT |
| LOW | …cript_vscode_folding_markers/nteract_with_parameter.py | 1 | # --- | COMMENT |
| LOW | …lding_markers/Notebook with metadata and long cells.py | 1 | # --- | COMMENT |
| LOW | …lding_markers/Notebook with metadata and long cells.py | 21 | # ```python | COMMENT |
| LOW | …lding_markers/Notebook with metadata and long cells.py | 41 | COMMENT | |
| LOW | …folding_markers/raw_cell_with_non_dict_yaml_content.py | 1 | # --- | COMMENT |
| LOW | …script_vscode_folding_markers/Notebook_with_R_magic.py | 1 | # --- | COMMENT |
| LOW | …script_vscode_folding_markers/Notebook_with_R_magic.py | 21 | # region language="R" | COMMENT |
| LOW | …ript_vscode_folding_markers/sample_rise_notebook_66.py | 1 | # --- | COMMENT |
| LOW | …/ipynb_to_script_vscode_folding_markers/frozen_cell.py | 1 | # --- | COMMENT |
| LOW | …scode_folding_markers/jupyter_with_raw_cell_in_body.py | 1 | # --- | COMMENT |
| LOW | …_folding_markers/Notebook with html and latex cells.py | 1 | # --- | COMMENT |
| LOW | …_folding_markers/Notebook with html and latex cells.py | 21 | # region language="R" | COMMENT |
| LOW | …arkers/Notebook with function and cell metadata 164.py | 1 | # --- | COMMENT |
| LOW | …lding_markers/convert_to_py_then_test_with_update83.py | 1 | # --- | COMMENT |
| LOW | …ing_markers/jupyter_with_raw_cell_with_invalid_yaml.py | 1 | # --- | COMMENT |
| LOW | …ipynb_to_script_vscode_folding_markers/cat_variable.py | 1 | # --- | COMMENT |
| LOW | …ipt_vscode_folding_markers/The flavors of raw cells.py | 1 | # --- | COMMENT |
| LOW | …ipt_vscode_folding_markers/The flavors of raw cells.py | 21 | # endregion | COMMENT |
| LOW | …code_folding_markers/Notebook_with_more_R_magic_111.py | 1 | # --- | COMMENT |
| LOW | …code_folding_markers/Notebook_with_more_R_magic_111.py | 21 | } | COMMENT |
| LOW | …pt_vscode_folding_markers/jupyterlab-slideshow_1441.py | 1 | # --- | COMMENT |
| LOW | …puts/ipynb_to_script_vscode_folding_markers/jupyter.py | 1 | # --- | COMMENT |
| LOW | …ta/notebooks/outputs/ipynb_to_percent/plotly_graphs.py | 1 | # --- | COMMENT |
| LOW | …tebooks/outputs/ipynb_to_percent/evcxr_jupyter_tour.rs | 1 | // --- | COMMENT |
| LOW | …tebooks/outputs/ipynb_to_percent/evcxr_jupyter_tour.rs | 161 | // ## Seeing what variables have been defined | COMMENT |
| LOW | …puts/ipynb_to_percent/Notebook with many hash signs.py | 1 | # --- | COMMENT |
| LOW | …puts/ipynb_to_percent/Notebook with many hash signs.py | 21 | # A comment | COMMENT |
| LOW | …tputs/ipynb_to_percent/jupyter_with_raw_cell_on_top.py | 1 | # --- | COMMENT |
| LOW | …_to_percent/raw_cell_with_complex_yaml_like_content.py | 1 | # --- | COMMENT |
| LOW | …uts/ipynb_to_percent/notebook_with_complex_metadata.py | 1 | # --- | COMMENT |
| LOW | …ks/outputs/ipynb_to_percent/text_outputs_and_images.py | 1 | # --- | COMMENT |
| LOW | …s/outputs/ipynb_to_percent/Line_breaks_in_LateX_305.py | 1 | # --- | COMMENT |
| LOW | …oks/outputs/ipynb_to_percent/nteract_with_parameter.py | 1 | # --- | COMMENT |
| LOW | …s/ipynb_to_percent/R notebook with invalid cell keys.R | 1 | # --- | COMMENT |
| LOW | …nb_to_percent/Notebook with metadata and long cells.py | 1 | # --- | COMMENT |
| LOW | …nb_to_percent/Notebook with metadata and long cells.py | 21 | # | COMMENT |
| LOW | …nb_to_percent/Notebook with metadata and long cells.py | 41 | COMMENT | |
| LOW | …ebooks/outputs/ipynb_to_percent/xcpp_by_quantstack.cpp | 1 | // --- | COMMENT |
| LOW | …ebooks/outputs/ipynb_to_percent/xcpp_by_quantstack.cpp | 21 | // border: 1px solid grey; | COMMENT |
| LOW | …ebooks/outputs/ipynb_to_percent/xcpp_by_quantstack.cpp | 201 | // ... and also lambda, universal references, `decltype`, etc ... | COMMENT |
| LOW | …ebooks/outputs/ipynb_to_percent/xcpp_by_quantstack.cpp | 361 | // | COMMENT |
| LOW | …pynb_to_percent/raw_cell_with_non_dict_yaml_content.py | 1 | # --- | COMMENT |
| LOW | …books/outputs/ipynb_to_percent/sample_bash_notebook.sh | 1 | # --- | COMMENT |
| LOW | …ynb_to_percent/R notebook with invalid cell keys.low.r | 1 | # --- | COMMENT |
| 145 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ipt_vscode_folding_markers/Line_breaks_in_LateX_305.py | 0 | this cell uses the triple quote cell markers introduced at https://github.com/mwouts/jupytext/issues/305 $$ \begin{align | STRING |
| HIGH | …s/outputs/ipynb_to_percent/Line_breaks_in_LateX_305.py | 0 | this cell uses the triple quote cell markers introduced at https://github.com/mwouts/jupytext/issues/305 $$ \begin{align | STRING |
| HIGH | …ks/outputs/ipynb_to_script/Line_breaks_in_LateX_305.py | 0 | this cell uses the triple quote cell markers introduced at https://github.com/mwouts/jupytext/issues/305 $$ \begin{align | STRING |
| HIGH | …/outputs/ipynb_to_hydrogen/Line_breaks_in_LateX_305.py | 0 | this cell uses the triple quote cell markers introduced at https://github.com/mwouts/jupytext/issues/305 $$ \begin{align | STRING |
| HIGH | …ks/outputs/ipynb_to_marimo/Line_breaks_in_LateX_305.py | 0 | this cell uses the triple quote cell markers introduced at https://github.com/mwouts/jupytext/issues/305 $$ \begin{align | STRING |
| HIGH | …ks/outputs/ipynb_to_sphinx/Line_breaks_in_LateX_305.py | 0 | this cell uses the triple quote cell markers introduced at https://github.com/mwouts/jupytext/issues/305 $$ \begin{align | STRING |
| HIGH | …script_vim_folding_markers/Line_breaks_in_LateX_305.py | 0 | this cell uses the triple quote cell markers introduced at https://github.com/mwouts/jupytext/issues/305 $$ \begin{align | STRING |
| HIGH | …lding_markers/Notebook with metadata and long cells.py | 0 | this is a code cell with metadata `{"tags":["parameters"], ".class":null}` | STRING |
| HIGH | …nb_to_percent/Notebook with metadata and long cells.py | 0 | this is a code cell with metadata `{"tags":["parameters"], ".class":null}` | STRING |
| HIGH | …s/ipynb_to_md/Notebook with metadata and long cells.md | 0 | this is a code cell with metadata `{"tags":["parameters"], ".class":null}` | STRING |
| HIGH | …ynb_to_script/Notebook with metadata and long cells.py | 0 | this is a code cell with metadata `{"tags":["parameters"], ".class":null}` | STRING |
| HIGH | …b_to_hydrogen/Notebook with metadata and long cells.py | 0 | this is a code cell with metadata `{"tags":["parameters"], ".class":null}` | STRING |
| HIGH | …ipynb_to_myst/Notebook with metadata and long cells.md | 0 | this is a code cell with metadata `{"tags":["parameters"], ".class":null}` | STRING |
| HIGH | …lding_markers/Notebook with metadata and long cells.py | 0 | this is a code cell with metadata `{"tags":["parameters"], ".class":null}` | STRING |
| HIGH | …pynb_to_script_vscode_folding_markers/jupyter_again.py | 0 | title: "quick test" output: ioslides_presentation: widescreen: true smaller: true editor_options: chunk_output_type cons | STRING |
| HIGH | …ta/notebooks/outputs/ipynb_to_percent/jupyter_again.py | 0 | title: "quick test" output: ioslides_presentation: widescreen: true smaller: true editor_options: chunk_output_type cons | STRING |
| HIGH | …ata/notebooks/outputs/ipynb_to_pandoc/jupyter_again.md | 0 | title: "quick test" output: ioslides_presentation: widescreen: true smaller: true editor_options: chunk_output_type cons | STRING |
| HIGH | …ts/data/notebooks/outputs/ipynb_to_md/jupyter_again.md | 0 | title: "quick test" output: ioslides_presentation: widescreen: true smaller: true editor_options: chunk_output_type cons | STRING |
| HIGH | …ata/notebooks/outputs/ipynb_to_script/jupyter_again.py | 0 | title: "quick test" output: ioslides_presentation: widescreen: true smaller: true editor_options: chunk_output_type cons | STRING |
| HIGH | …a/notebooks/outputs/ipynb_to_hydrogen/jupyter_again.py | 0 | title: "quick test" output: ioslides_presentation: widescreen: true smaller: true editor_options: chunk_output_type cons | STRING |
| HIGH | …/data/notebooks/outputs/ipynb_to_myst/jupyter_again.md | 0 | title: "quick test" output: ioslides_presentation: widescreen: true smaller: true editor_options: chunk_output_type cons | STRING |
| HIGH | …ata/notebooks/outputs/ipynb_to_sphinx/jupyter_again.py | 0 | title: "quick test" output: ioslides_presentation: widescreen: true smaller: true editor_options: chunk_output_type cons | STRING |
| HIGH | …s/ipynb_to_script_vim_folding_markers/jupyter_again.py | 0 | title: "quick test" output: ioslides_presentation: widescreen: true smaller: true editor_options: chunk_output_type cons | STRING |
| HIGH | tests/functional/simple_notebooks/test_ipynb_to_rmd.py | 0 | test that writing the notebook with r, and read again, is the same as removing outputs | STRING |
| HIGH | tests/functional/simple_notebooks/test_ipynb_to_py.py | 0 | test that writing the notebook with r, and read again, is the same as removing outputs | STRING |
| HIGH | tests/functional/simple_notebooks/test_ipynb_to_R.py | 0 | test that writing the notebook with r, and read again, is the same as removing outputs | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/external/pre_commit/test_pre_commit_mode.py | 127 | assert "git reset test.py && git checkout -- test.py" in out.err | STRING |
| HIGH⚡ | tests/external/pre_commit/test_pre_commit_mode.py | 128 | assert "git reset test.ipynb && git checkout -- test.ipynb" in out.err | STRING |
| HIGH | …lding_markers/Notebook with metadata and long cells.py | 49 | """This is a code cell with metadata `{"tags":["parameters"], ".class":null}`""" | STRING |
| HIGH | …nb_to_percent/Notebook with metadata and long cells.py | 49 | """This is a code cell with metadata `{"tags":["parameters"], ".class":null}`""" | STRING |
| HIGH | …ynb_to_script/Notebook with metadata and long cells.py | 46 | """This is a code cell with metadata `{"tags":["parameters"], ".class":null}`""" | STRING |
| HIGH | …b_to_hydrogen/Notebook with metadata and long cells.py | 49 | """This is a code cell with metadata `{"tags":["parameters"], ".class":null}`""" | STRING |
| HIGH | …lding_markers/Notebook with metadata and long cells.py | 49 | """This is a code cell with metadata `{"tags":["parameters"], ".class":null}`""" | STRING |
| HIGH⚡ | …sts/functional/simple_notebooks/test_read_simple_go.py | 140 | // !*rm -f go.work && go work init && go work use . ${HOME}/Projects/gopjrt | COMMENT |
| HIGH⚡ | …sts/functional/simple_notebooks/test_read_simple_go.py | 150 | == """!*rm -f go.work && go work init && go work use . ${HOME}/Projects/gopjrt | STRING |
| HIGH | tests/functional/cli/test_cli.py | 779 | jupytext([tmp_ipynb, "--update-metadata", '{"jupytext":{"main_language":null}}']) | CODE |
| HIGH | tests/functional/cli/test_cli.py | 401 | jupytext(["--to", "py", tmp_ipynb, "--update-metadata", '{"jupytext":{"formats":null}}']) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 415 | CODE | |
| LOW | tests/external/docs/test_using_cli.py | 17 | CODE | |
| LOW | tests/functional/config/test_config.py | 103 | CODE | |
| LOW | src/jupytext/sync_contentsmanager.py | 56 | CODE | |
| LOW | src/jupytext/sync_contentsmanager.py | 703 | CODE | |
| LOW | src/jupytext/config.py | 379 | CODE | |
| LOW | src/jupytext/combine.py | 119 | CODE | |
| LOW | src/jupytext/cell_metadata.py | 81 | CODE | |
| LOW | src/jupytext/cell_metadata.py | 126 | CODE | |
| LOW | src/jupytext/cell_metadata.py | 192 | CODE | |
| LOW | src/jupytext/cell_metadata.py | 466 | CODE | |
| LOW | src/jupytext/cell_metadata.py | 166 | CODE | |
| LOW | src/jupytext/header.py | 59 | CODE | |
| LOW | src/jupytext/header.py | 105 | CODE | |
| LOW | src/jupytext/header.py | 148 | CODE | |
| LOW | src/jupytext/header.py | 169 | CODE | |
| LOW | src/jupytext/header.py | 310 | CODE | |
| LOW | src/jupytext/cell_reader.py | 197 | CODE | |
| LOW | src/jupytext/cell_reader.py | 270 | CODE | |
| LOW | src/jupytext/cell_reader.py | 375 | CODE | |
| LOW | src/jupytext/cell_reader.py | 499 | CODE | |
| LOW | src/jupytext/cell_reader.py | 540 | CODE | |
| LOW | src/jupytext/cell_reader.py | 613 | CODE | |
| LOW | src/jupytext/cell_reader.py | 688 | CODE | |
| LOW | src/jupytext/cell_reader.py | 863 | CODE | |
| LOW | src/jupytext/paired_paths.py | 86 | CODE | |
| LOW | src/jupytext/quarto.py | 76 | CODE | |
| LOW | src/jupytext/metadata_filter.py | 84 | CODE | |
| LOW | src/jupytext/cli.py | 344 | CODE | |
| LOW | src/jupytext/cli.py | 513 | CODE | |
| LOW | src/jupytext/cli.py | 1198 | CODE | |
| LOW | src/jupytext/cli.py | 814 | CODE | |
| LOW | src/jupytext/formats.py | 749 | CODE | |
| LOW | src/jupytext/myst.py | 70 | CODE | |
| LOW | src/jupytext/myst.py | 196 | CODE | |
| LOW | src/jupytext/myst.py | 244 | CODE | |
| LOW | src/jupytext/myst.py | 353 | CODE | |
| LOW | src/jupytext/languages.py | 155 | CODE | |
| LOW | src/jupytext/languages.py | 194 | CODE | |
| LOW | src/jupytext/compare.py | 175 | CODE | |
| LOW | src/jupytext/async_contentsmanager.py | 50 | CODE | |
| LOW | src/jupytext/async_contentsmanager.py | 632 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …s/integration/contents_manager/test_contentsmanager.py | 1993 | # Create a simple Python file without jupytext metadata | STRING |
| MEDIUM | tests/external/pre_commit/test_pre_commit_scripts.py | 74 | # Create a notebook that is not paired | COMMENT |
| MEDIUM | …functional/simple_notebooks/test_read_simple_python.py | 153 | # This file is non-pep8 as the function below has | COMMENT |
| MEDIUM | tests/functional/others/test_remove_encoding.py | 10 | # Create a contents manager | COMMENT |
| MEDIUM | tests/functional/cli/test_cli.py | 1465 | # Create a simple Python file without jupytext metadata | COMMENT |
| MEDIUM | src/jupytext/cli.py | 868 | # Create a temporary file in the same directory as path. Later on we will move | COMMENT |
| MEDIUM⚡ | src/jupytext/compare.py | 341 | """This function is used in the tests""" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | website/src/content/docs/reference/faq.md | 78 | ## I have modified a text file, but git reports no diff for the paired `.ipynb` file | COMMENT |
| HIGH | tests/data/notebooks/inputs/sphinx/plot_notebook.py | 52 | # In this example the next block of code produces some plotable data. Code is | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | jupyterlab/jupyterlab_jupytext/__init__.py | 62 | except Exception: | CODE |
| LOW | src/jupytext/sync_contentsmanager.py | 197 | except Exception as e: | CODE |
| LOW | src/jupytext/sync_contentsmanager.py | 265 | except Exception as err: | CODE |
| LOW | src/jupytext/sync_contentsmanager.py | 454 | except Exception as err: | CODE |
| LOW | src/jupytext/sync_contentsmanager.py | 551 | except Exception: | CODE |
| LOW | src/jupytext/sync_contentsmanager.py | 569 | except Exception as err: | CODE |
| LOW | src/jupytext/cli.py | 504 | except Exception as err: | CODE |
| LOW | src/jupytext/myst.py | 236 | except Exception as err: | CODE |
| LOW | src/jupytext/async_contentsmanager.py | 173 | except Exception as e: | CODE |
| LOW | src/jupytext/async_contentsmanager.py | 235 | except Exception as err: | CODE |
| LOW | src/jupytext/async_contentsmanager.py | 400 | except Exception as err: | CODE |
| LOW | src/jupytext/async_contentsmanager.py | 488 | except Exception: | CODE |
| LOW | src/jupytext/async_contentsmanager.py | 504 | except Exception as err: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/jupytext/sync_contentsmanager.py | 754 | CODE | |
| LOW | src/jupytext/__init__.py | 3 | CODE | |
| LOW | src/jupytext/__init__.py | 3 | CODE | |
| LOW | src/jupytext/__init__.py | 3 | CODE | |
| LOW | src/jupytext/__init__.py | 4 | CODE | |
| LOW | src/jupytext/__init__.py | 4 | CODE | |
| LOW | src/jupytext/__init__.py | 4 | CODE | |
| LOW | src/jupytext/__init__.py | 4 | CODE | |
| LOW | src/jupytext/__init__.py | 6 | CODE | |
| LOW | src/jupytext/async_contentsmanager.py | 675 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …l/simple_external_notebooks/test_read_simple_pandoc.py | 13 | markdown="""# Lorem ipsum | CODE |
| LOW⚡ | …l/simple_external_notebooks/test_read_simple_pandoc.py | 15 | **Lorem ipsum** dolor sit amet, consectetur adipiscing elit. Nunc luctus | CODE |
| LOW⚡ | …l/simple_external_notebooks/test_read_simple_pandoc.py | 15 | **Lorem ipsum** dolor sit amet, consectetur adipiscing elit. Nunc luctus | CODE |
| LOW | …l/simple_external_notebooks/test_read_simple_pandoc.py | 38 | **Lorem ipsum** dolor sit amet, consectetur adipiscing elit. Nunc luctus | CODE |
| LOW | …l/simple_external_notebooks/test_read_simple_pandoc.py | 38 | **Lorem ipsum** dolor sit amet, consectetur adipiscing elit. Nunc luctus | CODE |
| LOW | …nctional/simple_notebooks/test_read_simple_markdown.py | 860 | "author": "John Doe", | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/vscode/notebook.py | 23 | # 💡 Tip: don't forget to hit "Save" before | COMMENT |
| LOW | demo/vscode/notebook.py | 23 | # 💡 Tip: don't forget to hit "Save" before | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/jupytext/config.py | 242 | # Check if one of the paired format matches the current path | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/jupytext/__init__.py | 28 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/jupytext/compare.py | 175 | CODE |