Repository Analysis

ManimCommunity/manim

A community-maintained Python framework for creating mathematical animations.

17.0 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of ManimCommunity/manim, a Python project with 40,499 GitHub stars. SynthScan v2.0 examined 101,051 lines of code across 410 source files, recording 1609 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 17.0 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).

17.0
Adjusted Score
17.0
Raw Score
100%
Time Factor
2026-08-26
Last Push
40.5K
Stars
Python
Language
101.1K
Lines of Code
410
Files
1.6K
Pattern Hits
2026-08-29
Scan Date
0.02
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

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.

Severity Breakdown

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.

CRITICAL 1HIGH 8MEDIUM 60LOW 1540

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 1609 distinct pattern matches across 18 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.

Hyper-Verbose Identifiers722 hits · 699 pts
SeverityFileLineSnippetContext
LOWtests/test_linear_transformation_scene.py6def test_ghost_vectors_len_and_types():CODE
LOWtests/test_camera.py6def test_movingcamera_auto_zoom():CODE
LOWtests/conftest.py57def pytest_collection_modifyitems(config, items):CODE
LOWtests/test_release_script.py9def test_merge_changelog_preserves_edits_but_uses_generated_categories():CODE
LOWtests/test_release_script.py45def test_merge_changelog_keeps_release_and_contributor_entries_separate():STRING
LOWtests/test_release_script.py78def test_include_extra_pull_requests_adds_other_changes_category(monkeypatch):STRING
LOWtests/test_release_script.py103def test_include_extra_pull_requests_skips_existing_pr(monkeypatch):STRING
LOWtests/test_release_script.py117def test_merge_changelog_without_matching_entries_is_unchanged():STRING
LOWtests/test_release_script.py126def test_format_github_release_notes_removes_docs_metadata_and_converts_roles():STRING
LOWtests/assert_utils.py109def assert_shallow_dict_compare(a: dict, b: dict, message_start: str) -> None:CODE
LOWtests/test_config.py40def test_tempconfig_restores_renderer_class_bases(config):CODE
LOWtests/test_config.py60def test_resolve_file_extensions(config, format, expected_file_extension):CODE
LOWtests/test_config.py91def test_transparent_by_background_opacity(config, dry_run):CODE
LOWtests/test_config.py227def test_dry_run_with_png_format(config, dry_run):CODE
LOWtests/test_config.py236def test_dry_run_with_png_format_skipped_animations(config, dry_run):CODE
LOWtests/test_config.py263def test_from_to_animations_only_first_animation(config):STRING
LOWtests/interface/test_commands.py28def test_manim_cfg_subcommand():CODE
LOWtests/interface/test_commands.py52def test_manim_plugins_subcommand():STRING
LOWtests/interface/test_commands.py72def test_manim_checkhealth_subcommand():STRING
LOWtests/interface/test_commands.py84def test_manim_checkhealth_failing_subcommand():STRING
LOWtests/interface/test_commands.py103def test_manim_init_subcommand():STRING
LOWtests/test_scene_rendering/simple_scenes.py75 def increment_mobject_update_count(mob, dt):CODE
LOWtests/test_scene_rendering/simple_scenes.py78 def increment_scene_update_count(dt):CODE
LOWtests/test_scene_rendering/conftest.py46def force_window_config_write_to_movie(config):CODE
LOWtests/test_scene_rendering/test_file_writer.py151def test_scene_with_non_raw_or_wav_audio(config, manim_caplog):CODE
LOWtests/test_scene_rendering/test_file_writer.py163def test_unicode_partial_movie(config, tmpdir, simple_scenes_path):CODE
LOWtests/test_scene_rendering/test_file_writer.py197def test_clean_cache_ignores_hidden_files(config, tmp_path):CODE
LOWtests/test_scene_rendering/test_file_writer.py225def test_flush_cache_directory_ignores_hidden_files(config, tmp_path):CODE
LOWtests/test_scene_rendering/test_file_writer.py243def test_clean_cache_tolerates_vanishing_files(config, tmp_path, monkeypatch):CODE
LOWtests/test_scene_rendering/test_file_writer.py264def test_clean_cache_does_not_evict_for_vanished_file(config, tmp_path, monkeypatch):CODE
LOWtests/test_scene_rendering/test_play_logic.py45def test_t_values_with_skip_animations(using_temp_config, disabling_caching):CODE
LOWtests/test_scene_rendering/test_play_logic.py58def test_static_wait_detection(using_temp_config, disabling_caching):CODE
LOWtests/test_scene_rendering/test_play_logic.py67def test_non_static_wait_detection(using_temp_config, disabling_caching):CODE
LOWtests/test_scene_rendering/test_play_logic.py78def test_wait_with_stop_condition(using_temp_config, disabling_caching):CODE
LOWtests/test_scene_rendering/test_play_logic.py101def test_t_values_with_cached_data(using_temp_config):CODE
LOWtests/test_scene_rendering/test_play_logic.py115def test_t_values_save_last_frame(config, using_temp_config):CODE
LOWtests/test_scene_rendering/test_play_logic.py124def test_animate_with_changed_custom_attribute(using_temp_config):CODE
LOWtests/test_scene_rendering/test_cli_flags.py23def test_basic_scene_with_default_values(tmp_path, manim_cfg_file, simple_scenes_path):CODE
LOWtests/test_scene_rendering/test_cli_flags.py119def test_s_flag_no_animations(tmp_path, manim_cfg_file, simple_scenes_path):CODE
LOWtests/test_scene_rendering/test_cli_flags.py167def test_s_flag_opengl_renderer(tmp_path, manim_cfg_file, simple_scenes_path):CODE
LOWtests/test_scene_rendering/test_cli_flags.py281def test_custom_output_name_gif(tmp_path, simple_scenes_path):CODE
LOWtests/test_scene_rendering/test_cli_flags.py455def test_videos_not_created_when_png_format_set(CODE
LOWtests/test_scene_rendering/test_cli_flags.py493def test_images_are_created_when_png_format_set(CODE
LOWtests/test_scene_rendering/test_cli_flags.py520def test_images_are_created_when_png_format_set_for_opengl(CODE
LOWtests/test_scene_rendering/test_cli_flags.py549def test_images_are_zero_padded_when_zero_pad_set(CODE
LOWtests/test_scene_rendering/test_cli_flags.py583def test_images_are_zero_padded_when_zero_pad_set_for_opengl(CODE
LOWtests/test_scene_rendering/test_cli_flags.py653def test_default_format_output_for_transparent_flag(CODE
LOWtests/test_scene_rendering/test_cli_flags.py690def test_mov_can_be_set_as_output_format(tmp_path, manim_cfg_file, simple_scenes_path):CODE
LOWtests/test_scene_rendering/test_cli_flags.py724def test_reproducible_animation(tmp_path: Path, manim_cfg_file, simple_scenes_path):CODE
LOWtests/test_scene_rendering/test_cli_flags.py795def test_dry_run_via_config_file_no_output(tmp_path, simple_scenes_path):STRING
LOWtests/test_scene_rendering/test_cairo_renderer.py24def test_skipping_status_with_from_to_and_up_to(using_temp_config, disabling_caching):CODE
LOWtests/test_scene_rendering/test_cairo_renderer.py42def test_when_animation_is_cached(using_temp_config):CODE
LOWtests/test_scene_rendering/test_cairo_renderer.py66def test_hash_logic_is_not_called_when_caching_is_disabled(CODE
LOWtests/test_scene_rendering/test_cairo_renderer.py77def test_hash_logic_is_called_when_caching_is_enabled(using_temp_config):CODE
LOWtests/test_scene_rendering/test_parallel_encoding.py73def test_parallel_encoding_cache_behavior(tmp_path):STRING
LOWtests/test_scene_rendering/test_parallel_encoding.py104def test_no_encoder_threads_survive_render(config, tmp_path):STRING
LOWtests/test_scene_rendering/test_parallel_encoding.py163def test_encode_failure_propagates_and_drains_bounded_queue(STRING
LOWtests/test_scene_rendering/test_parallel_encoding.py199def test_flush_failure_propagates_and_closes_container(STRING
LOWtests/test_scene_rendering/test_parallel_encoding.py223def test_close_failure_propagates_after_close_attempt(STRING
LOWtests/test_scene_rendering/test_parallel_encoding.py242def test_encode_failure_precedes_close_failure_and_removes_partial(STRING
662 more matches not shown…
Unused Imports477 hits · 440 pts
SeverityFileLineSnippetContext
LOWtests/test_ipython_magic.py1CODE
LOWtests/test_camera.py1CODE
LOWtests/conftest.py1CODE
LOWtests/assert_utils.py1CODE
LOWtests/test_config.py1CODE
LOWtests/template_generate_graphical_units_data.py1CODE
LOWtests/template_generate_graphical_units_data.py3CODE
LOWtests/interface/test_commands.py1CODE
LOWtests/test_scene_rendering/infallible_scenes.py1CODE
LOWtests/test_scene_rendering/simple_scenes.py1CODE
LOWtests/test_scene_rendering/simple_scenes.py5CODE
LOWtests/test_scene_rendering/conftest.py1CODE
LOWtests/test_scene_rendering/test_play_logic.py1CODE
LOWtests/test_scene_rendering/test_caching_related.py1CODE
LOWtests/test_scene_rendering/test_caching_related.py9CODE
LOWtests/test_scene_rendering/test_sections.py1CODE
LOWtests/test_scene_rendering/test_cli_flags.py1CODE
LOWtests/test_scene_rendering/test_cairo_renderer.py1CODE
LOWtests/test_scene_rendering/test_cairo_renderer.py7CODE
LOWtests/test_scene_rendering/test_cairo_renderer.py10CODE
LOWtests/test_scene_rendering/test_parallel_encoding.py1CODE
LOW…s/test_scene_rendering/opengl/test_cli_flags_opengl.py1CODE
LOW…/test_scene_rendering/opengl/test_play_logic_opengl.py1CODE
LOW…ts/test_scene_rendering/opengl/test_opengl_renderer.py1CODE
LOW…ts/test_scene_rendering/opengl/test_opengl_renderer.py11CODE
LOW…_scene_rendering/opengl/test_caching_related_opengl.py1CODE
LOWtests/module/test_manager.py1CODE
LOWtests/module/animation/test_transform.py1CODE
LOWtests/module/animation/test_animate.py1CODE
LOWtests/module/animation/test_animation.py1CODE
LOWtests/module/animation/test_creation.py1CODE
LOWtests/module/animation/test_composition.py1CODE
LOWtests/module/animation/test_updaters.py1CODE
LOWtests/module/animation/test_override_animation.py1CODE
LOWtests/module/utils/test_deprecation.py1CODE
LOWtests/module/utils/test_manim_color.py1CODE
LOWtests/module/utils/test_file_ops.py1CODE
LOWtests/module/utils/test_file_ops.py5CODE
LOWtests/module/utils/test_file_ops.py7CODE
LOWtests/module/utils/test_qhull.py1CODE
LOWtests/module/utils/test_color_helpers.py1CODE
LOWtests/module/utils/test_units.py1CODE
LOWtests/module/utils/test_color.py1CODE
LOWtests/module/utils/test_hashing.py1CODE
LOWtests/module/utils/test_space_ops.py1CODE
LOWtests/module/utils/test_space_ops.py6CODE
LOWtests/module/utils/test_bezier.py1CODE
LOWtests/module/scene/test_auto_zoom.py1CODE
LOWtests/module/scene/test_auto_zoom.py3CODE
LOWtests/module/scene/test_sound.py1CODE
LOWtests/module/scene/test_scene.py1CODE
LOWtests/module/mobject/test_boolean_ops.py1CODE
LOWtests/module/mobject/test_table.py3CODE
LOWtests/module/mobject/test_matrix.py1CODE
LOWtests/module/mobject/test_value_tracker.py1CODE
LOWtests/module/mobject/test_graph.py1CODE
LOWtests/module/mobject/svg/test_svg_mobject.py1CODE
LOWtests/module/mobject/svg/test_svg_mobject.py5CODE
LOW…module/mobject/types/vectorized_mobject/test_stroke.py1CODE
LOWtests/module/mobject/graphing/test_coordinate_system.py1CODE
417 more matches not shown…
Modern Structural Boilerplate193 hits · 193 pts
SeverityFileLineSnippetContext
LOWtests/test_scene_rendering/simple_scenes.py7__all__ = [CODE
LOWtests/module/mobject/geometry/test_unit_geometry.py28logger = logging.getLogger(__name__)CODE
LOWmanim/constants.py14__all__ = [CODE
LOWmanim/typing.py35__all__ = [CODE
LOWmanim/manager.py24__all__ = ["Manager"]CODE
LOWmanim/renderer/cairo_renderer.py21__all__ = ["CairoRenderer"]CODE
LOWmanim/renderer/cairo_renderer.py245 def update_skipping_status(self) -> None:CODE
LOWmanim/renderer/shader.py31__all__ = [CODE
LOWmanim/renderer/shader.py327 def set_uniforms(self, renderer: OpenGLRenderer) -> None:CODE
LOWmanim/renderer/shader.py421 def set_uniform(self, name: str, value: Any) -> None:CODE
LOWmanim/renderer/opengl_renderer_window.py15__all__ = ["Window"]CODE
LOWmanim/renderer/vectorized_mobject_rendering.py20__all__ = [CODE
LOWmanim/renderer/shader_wrapper.py23__all__ = ["ShaderWrapper"]CODE
LOWmanim/renderer/opengl_renderer.py65__all__ = ["OpenGLCamera", "OpenGLRenderer"]CODE
LOWmanim/renderer/opengl_renderer.py788 def update_skipping_status(self) -> None:CODE
LOWmanim/renderer/opengl_renderer.py919 def update_frame(self, scene: Scene) -> None:CODE
LOWmanim/plugins/__init__.py6__all__ = [CODE
LOWmanim/plugins/plugins_flags.py10__all__ = ["list_plugins"]CODE
LOWmanim/camera/moving_camera.py10__all__ = ["MovingCamera"]CODE
LOWmanim/camera/three_d_camera.py5__all__ = ["ThreeDCamera"]CODE
LOWmanim/camera/three_d_camera.py218 def set_phi(self, value: float) -> None:CODE
LOWmanim/camera/three_d_camera.py228 def set_theta(self, value: float) -> None:CODE
LOWmanim/camera/three_d_camera.py238 def set_focal_distance(self, value: float) -> None:CODE
LOWmanim/camera/three_d_camera.py248 def set_gamma(self, value: float) -> None:CODE
LOWmanim/camera/three_d_camera.py258 def set_zoom(self, value: float) -> None:CODE
LOWmanim/camera/multi_camera.py5__all__ = ["MultiCamera"]CODE
LOWmanim/camera/multi_camera.py62 def update_sub_cameras(self) -> None:CODE
LOWmanim/camera/camera.py5__all__ = ["Camera", "BackgroundColoredVMobjectDisplayer"]CODE
LOWmanim/camera/camera.py443 def set_frame_to_background(self, background: PixelArray) -> None:CODE
LOWmanim/camera/mapping_camera.py5__all__ = ["MappingCamera", "OldMultiCamera", "SplitScreenCamera"]CODE
LOWmanim/animation/speedmodifier.py20__all__ = ["ChangeSpeed"]CODE
LOWmanim/animation/speedmodifier.py282 def update_mobjects(self, dt: float) -> None:CODE
LOWmanim/animation/speedmodifier.py295 def _setup_scene(self, scene) -> None:CODE
LOWmanim/animation/creation.py60__all__ = [STRING
LOWmanim/animation/creation.py537 def update_submobject_list(self, index: int) -> None:STRING
LOWmanim/animation/creation.py645 def update_submobject_list(self, index: int) -> None:CODE
LOWmanim/animation/creation.py767 def update_submobject_list(self, index: int) -> None:CODE
LOWmanim/animation/transform_matching_parts.py5__all__ = ["TransformMatchingShapes", "TransformMatchingTex"]CODE
LOWmanim/animation/numbers.py5__all__ = ["ChangingDecimal", "ChangeDecimalToValue"]CODE
LOWmanim/animation/movement.py5__all__ = [CODE
LOWmanim/animation/animation.py14__all__ = ["Animation", "Wait", "Add", "override_animation"]CODE
LOWmanim/animation/animation.py244 def _setup_scene(self, scene: Scene) -> None:CODE
LOWmanim/animation/animation.py289 def update_mobjects(self, dt: float) -> None:CODE
LOWmanim/animation/animation.py503 def set_default(cls, **kwargs) -> None:CODE
LOWmanim/animation/animation.py634 def update_mobjects(self, dt: float) -> None:STRING
LOWmanim/animation/animation.py718 def update_mobjects(self, dt: float) -> None:STRING
LOWmanim/animation/specialized.py3__all__ = ["Broadcast"]CODE
LOWmanim/animation/transform.py5__all__ = [CODE
LOWmanim/animation/indication.py30__all__ = [CODE
LOWmanim/animation/composition.py24__all__ = ["AnimationGroup", "Succession", "LaggedStart", "LaggedStartMap"]CODE
LOWmanim/animation/composition.py98 def _setup_scene(self, scene: Scene) -> None:CODE
LOWmanim/animation/composition.py117 def update_mobjects(self, dt: float) -> None:CODE
LOWmanim/animation/composition.py250 def update_mobjects(self, dt: float) -> None:CODE
LOWmanim/animation/composition.py254 def _setup_scene(self, scene: Scene | None) -> None:CODE
LOWmanim/animation/composition.py264 def update_active_animation(self, index: int) -> None:CODE
LOWmanim/animation/changing.py5__all__ = ["AnimatedBoundary", "TracedPath"]CODE
LOWmanim/animation/changing.py67 def update_boundary_copies(self, dt: float) -> None:CODE
LOWmanim/animation/changing.py161 def update_path(self, mob: Mobject, dt: float) -> None:CODE
LOWmanim/animation/rotation.py5__all__ = ["Rotating", "Rotate"]CODE
LOWmanim/animation/growing.py26__all__ = [CODE
133 more matches not shown…
Decorative Section Separators39 hits · 144 pts
SeverityFileLineSnippetContext
MEDIUMtests/module/utils/test_color_helpers.py76# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py78# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py108# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py111# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py122# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py124# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py144# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py146# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py165# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py167# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py183# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py185# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py200# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py202# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py239# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py241# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py34# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/utils/test_color_helpers.py36# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/mobject/text/test_texmobject.py37# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/module/mobject/text/test_texmobject.py39# ---------------------------------------------------------------------------COMMENT
MEDIUMmanim/utils/tex_templates.py153# -----------------------------------------------------------------------------------------COMMENT
MEDIUMbenchmarks/bench_lissajous.py26# ─── Helper functions (from functions.py) ─────────────────────────────────────COMMENT
MEDIUMbenchmarks/bench_lissajous.py63# ─── Custom mobjects (from mobjects.py) ───────────────────────────────────────COMMENT
MEDIUMbenchmarks/bench_lissajous.py124# ─── Scene (from scenes.py) ──────────────────────────────────────────────────COMMENT
MEDIUMbenchmarks/bench_lissajous.py395# ─── Benchmark runner ─────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/release.py50# =============================================================================COMMENT
MEDIUMscripts/release.py52# =============================================================================COMMENT
MEDIUMscripts/release.py66# =============================================================================COMMENT
MEDIUMscripts/release.py68# =============================================================================COMMENT
MEDIUMscripts/release.py206# =============================================================================COMMENT
MEDIUMscripts/release.py208# =============================================================================COMMENT
MEDIUMscripts/release.py242# =============================================================================COMMENT
MEDIUMscripts/release.py244# =============================================================================COMMENT
MEDIUMscripts/release.py500# =============================================================================COMMENT
MEDIUMscripts/release.py502# =============================================================================COMMENT
MEDIUMscripts/release.py537# =============================================================================COMMENT
MEDIUMscripts/release.py539# =============================================================================COMMENT
MEDIUMscripts/release.py779# =============================================================================COMMENT
MEDIUMscripts/release.py781# =============================================================================COMMENT
Deep Nesting49 hits · 46 pts
SeverityFileLineSnippetContext
LOWmanim/renderer/shader.py380CODE
LOWmanim/renderer/opengl_renderer_window.py115CODE
LOWmanim/utils/deprecation.py264CODE
LOWmanim/utils/deprecation.py483CODE
LOWmanim/utils/bezier.py716CODE
LOWmanim/utils/bezier.py1967CODE
LOWmanim/utils/file_ops.py195CODE
LOWmanim/utils/qhull.py188CODE
LOWmanim/utils/hashing.py243CODE
LOWmanim/utils/tex_file_writing.py118CODE
LOWmanim/utils/color/core.py163CODE
LOWmanim/utils/docbuild/autoaliasattr_directive.py100CODE
LOWmanim/utils/docbuild/module_parsing.py62CODE
LOWmanim/cli/init/commands.py100CODE
LOWmanim/cli/render/commands.py72CODE
LOWmanim/cli/cfg/group.py167CODE
LOWmanim/scene/three_d_scene.py211CODE
LOWmanim/scene/scene_file_writer.py826CODE
LOWmanim/scene/scene_file_writer.py932CODE
LOWmanim/scene/scene.py1363CODE
LOWmanim/scene/scene.py1473CODE
LOWmanim/scene/scene.py1597CODE
LOWmanim/mobject/vector_field.py727CODE
LOWmanim/mobject/graph.py319CODE
LOWmanim/mobject/svg/svg_mobject.py266CODE
LOWmanim/mobject/svg/svg_mobject.py324CODE
LOWmanim/mobject/svg/svg_mobject.py575CODE
LOWmanim/mobject/types/vectorized_mobject.py2255CODE
LOWmanim/mobject/types/vectorized_mobject.py2931CODE
LOWmanim/mobject/three_d/three_dimensions.py234CODE
LOWmanim/mobject/three_d/polyhedra.py430CODE
LOWmanim/mobject/graphing/number_line.py569CODE
LOWmanim/mobject/graphing/coordinate_systems.py640CODE
LOWmanim/mobject/graphing/coordinate_systems.py1189CODE
LOWmanim/mobject/graphing/coordinate_systems.py3214CODE
LOWmanim/mobject/graphing/coordinate_systems.py3334CODE
LOWmanim/mobject/geometry/boolean_ops.py63CODE
LOWmanim/mobject/geometry/boolean_ops.py112CODE
LOWmanim/mobject/text/text_mobject.py179CODE
LOWmanim/mobject/text/text_mobject.py448CODE
LOWmanim/mobject/text/text_mobject.py767CODE
LOWmanim/mobject/text/text_mobject.py1180CODE
LOWmanim/mobject/text/typst_mobject.py688CODE
LOWmanim/mobject/text/tex_mobject.py351CODE
LOWmanim/mobject/text/tex_mobject.py465CODE
LOWmanim/mobject/opengl/opengl_surface.py300CODE
LOWmanim/mobject/opengl/opengl_mobject.py2590CODE
LOWmanim/mobject/opengl/opengl_vectorized_mobject.py634CODE
LOW.github/scripts/ci_build_cairo.py112CODE
AI Structural Patterns45 hits · 42 pts
SeverityFileLineSnippetContext
LOWmanim/renderer/opengl_renderer.py95CODE
LOWmanim/camera/three_d_camera.py40CODE
LOWmanim/camera/camera.py83CODE
LOWmanim/animation/creation.py606CODE
LOWmanim/animation/animation.py128CODE
LOWmanim/animation/specialized.py52CODE
LOWmanim/animation/indication.py613CODE
LOWmanim/utils/bezier.py2050CODE
LOWmanim/utils/config_ops.py72CODE
LOWmanim/scene/zoomed_scene.py76CODE
LOWmanim/scene/vector_space_scene.py642CODE
LOWmanim/mobject/matrix.py165CODE
LOWmanim/mobject/vector_field.py553CODE
LOWmanim/mobject/vector_field.py727CODE
LOWmanim/mobject/graph.py567CODE
LOWmanim/mobject/table.py192CODE
LOWmanim/mobject/mobject.py2638CODE
LOWmanim/mobject/svg/svg_mobject.py97CODE
LOWmanim/mobject/types/vectorized_mobject.py109CODE
LOWmanim/mobject/types/vectorized_mobject.py396CODE
LOWmanim/mobject/three_d/three_dimensions.py113CODE
LOWmanim/mobject/graphing/number_line.py141CODE
LOWmanim/mobject/graphing/probability.py274CODE
LOWmanim/mobject/graphing/coordinate_systems.py1189CODE
LOWmanim/mobject/graphing/coordinate_systems.py1612CODE
LOWmanim/mobject/graphing/coordinate_systems.py1931CODE
LOWmanim/mobject/graphing/coordinate_systems.py2446CODE
LOWmanim/mobject/graphing/coordinate_systems.py2761CODE
LOWmanim/mobject/graphing/coordinate_systems.py3032CODE
LOWmanim/mobject/graphing/scale.py173CODE
LOWmanim/mobject/geometry/line.py981CODE
LOWmanim/mobject/text/text_mobject.py448CODE
LOWmanim/mobject/text/text_mobject.py1180CODE
LOWmanim/mobject/text/typst_mobject.py218CODE
LOWmanim/mobject/text/numbers.py83CODE
LOWmanim/mobject/text/tex_mobject.py57CODE
LOWmanim/mobject/text/tex_mobject.py133CODE
LOWmanim/mobject/text/code_mobject.py172CODE
LOWmanim/mobject/opengl/opengl_geometry.py670CODE
LOWmanim/mobject/opengl/opengl_surface.py68CODE
LOWmanim/mobject/opengl/opengl_mobject.py152CODE
LOWmanim/mobject/opengl/opengl_mobject.py1067CODE
LOWmanim/mobject/opengl/opengl_vectorized_mobject.py95CODE
LOWmanim/mobject/opengl/opengl_vectorized_mobject.py296CODE
LOWbenchmarks/bench_lissajous.py136CODE
Self-Referential Comments19 hits · 40 pts
SeverityFileLineSnippetContext
MEDIUMtests/module/animation/test_updaters.py9 # Create a simple mobject and animationCOMMENT
MEDIUMtests/module/mobject/mobject/test_mobject.py254 # Define a rotation matrix (90 degrees rotation around z-axis)COMMENT
MEDIUMtests/test_logging/basic_scenes_write_stuff.py5# This module is used in the CLI tests in tests_CLi.py.COMMENT
MEDIUMtests/test_logging/basic_scenes_square_to_circle.py5# This module is used in the CLI tests in tests_CLi.py.COMMENT
MEDIUMtests/test_logging/basic_scenes_error.py5# This module is intended to raise an error.COMMENT
MEDIUMmanim/renderer/cairo_renderer.py246 """This method is used internally to check if the currentSTRING
MEDIUMmanim/utils/hashing.py244 """This method is used to serialize objects to JSON format.STRING
MEDIUMmanim/utils/color/core.py273 """This function is used as a proxy for constructing a color with an internalSTRING
MEDIUMmanim/utils/color/core.py785 """This method is intended to be overwritten by custom color space classesSTRING
MEDIUMmanim/utils/color/core.py961 """This method is currently not implemented. Refer to :func:`color_gradient` forSTRING
MEDIUMmanim/utils/testing/frames_comparison.py252 # Create the directory if not existing.COMMENT
MEDIUMmanim/scene/zoomed_scene.py111 """This method is used internally by Manim toSTRING
MEDIUMmanim/scene/zoomed_scene.py140 """This method is used to activate the zooming for the zoomed_camera.STRING
MEDIUMmanim/scene/scene_file_writer.py839 fp.write("# This file is used internally by FFMPEG.\n")CODE
MEDIUMmanim/mobject/graph.py332 # The following code is SageMath's tree layout implementation, taken fromCOMMENT
MEDIUMmanim/mobject/svg/svg_mobject.py202 # Create a temporary svg file to dump modified svg to be parsedCOMMENT
MEDIUMmanim/mobject/types/vectorized_mobject.py1868 # Create a null path at the very endSTRING
MEDIUMmanim/mobject/opengl/opengl_vectorized_mobject.py1242 # Create a null path at the very endCOMMENT
MEDIUMexample_scenes/customtex.py25 # Create a new templateCOMMENT
Excessive Try-Catch Wrapping23 hits · 22 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py19 except Exception as e:CODE
MEDIUMtests/conftest.py14def pytest_report_header(config):CODE
LOWmanim/renderer/opengl_renderer.py553 except Exception:CODE
LOWmanim/utils/rate_functions.py37 except Exception: # because functions `not_quite_there`, `function squish_rate_func` are not worSTRING
LOWmanim/utils/module_ops.py43 except Exception as e:CODE
LOWmanim/utils/testing/frames_comparison.py123 except Exception:CODE
LOWmanim/utils/docbuild/manim_directive.py310 except Exception as e:STRING
LOWmanim/cli/render/render_options.py54 except Exception:CODE
LOWmanim/cli/render/render_options.py59 except Exception:CODE
LOWmanim/cli/render/render_options.py98 except Exception:CODE
LOWmanim/cli/render/global_options.py49 except Exception:CODE
LOWmanim/cli/render/commands.py120 except Exception:CODE
LOWmanim/cli/render/commands.py131 except Exception:CODE
LOWmanim/cli/render/commands.py154 except Exception:CODE
LOWmanim/scene/three_d_scene.py137 except Exception as e:CODE
LOWmanim/scene/three_d_scene.py155 except Exception as e:CODE
LOWmanim/mobject/svg/svg_mobject.py289 except Exception:CODE
LOWmanim/mobject/svg/svg_mobject.py319 except Exception as e:CODE
LOWmanim/mobject/geometry/arc.py427 except Exception:STRING
LOWmanim/_config/utils.py821 except Exception:CODE
LOWbenchmarks/bench_lissajous.py437 except Exception as e:CODE
LOW.github/scripts/ci_build_cairo.py160 except Exception:CODE
LOWexample_scenes/advanced_tex_fonts.py130 except Exception:STRING
Cross-File Repetition4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHtests/module/mobject/text/test_numbers.py0test that scale produces the same results as .scale()STRING
HIGHtests/module/mobject/text/test_texmobject.py0test that scale produces the same results as .scale()STRING
HIGHtests/opengl/test_texmobject_opengl.py0test that scale produces the same results as .scale()STRING
HIGHtests/opengl/test_numbers_opengl.py0test that scale produces the same results as .scale()STRING
Over-Commented Block15 hits · 15 pts
SeverityFileLineSnippetContext
LOWmypy.ini21#COMMENT
LOWmypy.ini41# allow_redefinition = FalseCOMMENT
LOWmanim/animation/indication.py421 # their amplitudes in opposing directions (first ripple from 0 to 1 to 0,COMMENT
LOWmanim/utils/bezier.py361COMMENT
LOWmanim/utils/bezier.py981 current_number_of_curves, nppc, dim = bezier_tuples.shapeCOMMENT
LOWmanim/utils/tex_templates.py81 """An instance of a simple TeX template with only basic AMS packages loaded"""COMMENT
LOWmanim/utils/tex_templates.py101# american_typewriter : "American Typewriter"COMMENT
LOWmanim/utils/tex_templates.py121# ecf_webster : "ECF Webster (with TX fonts)"COMMENT
LOWmanim/utils/tex_templates.py141# palatino : "Palatino (Symbol Greek)"COMMENT
LOWmanim/mobject/graphing/coordinate_systems.py2161 # If there's a single coord (coords = [[x y z]]), extract it so thatCOMMENT
LOWmanim/mobject/geometry/polygram.py381 density: int = 2,COMMENT
LOWmanim/_config/default.cfg1# manim.cfgCOMMENT
LOWexample_scenes/opengl.py421 self.play(circle.animate.shift(2 * RIGHT).scale(0.25))COMMENT
LOWexample_scenes/opengl.py441COMMENT
LOWexample_scenes/basic.py1#!/usr/bin/env pythonCOMMENT
Cross-Language Confusion4 hits · 15 pts
SeverityFileLineSnippetContext
HIGHmanim/scene/scene_file_writer.py892 graph.push(frame)CODE
HIGHmanim/scene/scene_file_writer.py894 graph.push(None) # EOF: https://github.com/PyAV-Org/PyAV/issues/886.CODE
HIGHmanim/mobject/vector_field.py883 If undefined, it will be selected so that the total animation length is 1.5 times the run time of each streaSTRING
HIGHmanim/mobject/vector_field.py886 If undefined, the virtual time of the stream lines is used as run time.STRING
AI Slop Vocabulary7 hits · 11 pts
SeverityFileLineSnippetContext
LOWmanim/utils/space_ops.py432 # If it's also too aligned to the Z axis, just return DOWNCOMMENT
MEDIUMmanim/utils/space_ops.py763 # Closest point of the detached rings to the aforementionedCOMMENT
LOWmanim/utils/hashing.py183 # types. Hence, we simply return the object.COMMENT
LOWmanim/mobject/mobject.py3095 # If empty, simply add n point mobjectsCOMMENT
LOWmanim/mobject/mobject.py3501 # just return a function that will add the updaterCOMMENT
LOWmanim/mobject/types/vectorized_mobject.py1028 # TODO remove the value error and just add two parameters with one optionalSTRING
LOWmanim/mobject/opengl/opengl_mobject.py2640 # If empty, simply add n point mobjectsCOMMENT
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALdocs/source/_static/manim-binder.min.js2(()=>{var __webpack_modules__={5067:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActivityMoCODE
Redundant / Tautological Comments4 hits · 6 pts
SeverityFileLineSnippetContext
LOWmanim/renderer/shader_wrapper.py33 # Check if what was passed in is already a valid path to a fileCOMMENT
LOWmanim/utils/deprecation.py431 # Check if decorator is used without parenthesisCOMMENT
LOWmanim/utils/docbuild/module_parsing.py162 # Check if this node is a TypeAlias (type <name> = <value>)COMMENT
LOWmanim/utils/docbuild/module_parsing.py203 # Check if it is a typing.TypeVar (<target> = TypeVar(...)).COMMENT
Fake / Example Data3 hits · 3 pts
SeverityFileLineSnippetContext
LOWmanim/mobject/text/text_mobject.py1145 "Lorem ipsum dolor sit amet, consectetur adipiscing elit."CODE
LOWmanim/mobject/text/text_mobject.py1145 "Lorem ipsum dolor sit amet, consectetur adipiscing elit."CODE
LOWdocs/source/_static/manim-binder.min.js2(()=>{var __webpack_modules__={5067:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActivityMoCODE
Structural Annotation Overuse2 hits · 3 pts
SeverityFileLineSnippetContext
LOWdocs/source/installation/uv.md57### Step 1: Installing PythonCOMMENT
LOWdocs/source/installation/uv.md138### Step 3: Installing ManimCOMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWmanim/utils/tex_templates.py87# Usage:COMMENT
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWmanim/utils/color/core.py964 # TODO: implement proper gradient, research good implementation for this or look at 3b1b implementationCOMMENT