AI Slop Code RIsk Monitor

vega/altair

Declarative visualization library for Python

14.4 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for vega/altair, a Python project with 10,494 GitHub stars. SynthScan examined 72,748 lines of code across 463 source files, recording 798 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 14.4 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

14.4
Adjusted Signal
14.4
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
10.5K
Stars
Python
Language
72.7K
Lines of Code
463
Files
798
Pattern Hits
2026-10-12
Scan Date
0.09
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 24.8/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 369 finding(s).

Hallucinated Dependency & Supply Chain Risk 21.9/100 · LOW

Are imports declared and package/API names verified? 326 finding(s).

Agent Over-Engineering Ratio 29.9/100 · MEDIUM

Are wrappers, guards, and repeated structures necessary? 365 finding(s).

PR Review Velocity Impact 54.9/100 · HIGH

Which changes need focused human review? 798 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 41MEDIUM 78LOW 679

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 798 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Unused Imports303 hits · 256 pts
SeverityFileLineSnippetContext
LOWtools/generate_schema_wrapper.py3CODE
LOWtools/codemod.py2CODE
LOWtools/docs_cli.py1CODE
LOWtools/sync_website.py1CODE
LOWtools/__init__.py1CODE
LOWtools/__init__.py1CODE
LOWtools/__init__.py1CODE
LOWtools/__init__.py1CODE
LOWtools/__init__.py1CODE
LOWtools/__init__.py1CODE
LOWtools/__init__.py1CODE
LOWtools/markup.py3CODE
LOWtools/generate_api_docs.py3CODE
LOWtools/fs.py3CODE
LOWtools/versioning.py23CODE
LOWtools/vega_expr.py8CODE
LOWtools/download_docs_artifact.py1CODE
LOWtools/datasets/datapackage.py8CODE
LOWtools/datasets/models.py3CODE
LOWtools/datasets/__init__.py16CODE
LOWtools/datasets/npm.py1CODE
LOWtools/schemapi/schemapi.py1CODE
LOWtools/schemapi/schemapi.py33CODE
LOWtools/schemapi/__init__.py3CODE
LOWtools/schemapi/__init__.py3CODE
LOWtools/schemapi/__init__.py4CODE
LOWtools/schemapi/__init__.py4CODE
LOWtools/schemapi/__init__.py4CODE
LOWtools/schemapi/__init__.py4CODE
LOWtools/schemapi/__init__.py10CODE
LOWtools/schemapi/__init__.py10CODE
LOWtools/schemapi/__init__.py11CODE
LOWtools/schemapi/__init__.py11CODE
LOWtools/schemapi/__init__.py12CODE
LOWtools/schemapi/utils.py3CODE
LOWtools/schemapi/codegen.py3CODE
LOWsphinxext/schematable.py1CODE
LOWsphinxext/utils.py1CODE
LOWsphinxext/altairgallery.py1CODE
LOWsphinxext/code_ref.py3CODE
LOWtests/test_datasets.py1CODE
LOWtests/test_magics.py1CODE
LOWtests/test_jupyter_chart.py12CODE
LOWtests/test_jupyter_chart.py29CODE
LOWtests/__init__.py1CODE
LOWtests/__init__.py15CODE
LOWtests/test_sphinxext_utils.py1CODE
LOWtests/altair_theme_test.py2CODE
LOWtests/test_examples.py20CODE
LOWtests/test_datasets_generation.py1CODE
LOWtests/expr/test_expr.py1CODE
LOWtests/utils/test_mimebundle.py1CODE
LOWtests/utils/test_core.py1CODE
LOWtests/utils/test_schemapi.py2CODE
LOWtests/utils/test_data.py1CODE
LOWtests/vegalite/v6/test_geo_interface.py1CODE
LOWtests/vegalite/v6/test_theme.py1CODE
LOWtests/vegalite/v6/test_theme.py20CODE
LOWtests/vegalite/v6/test_api.py3CODE
LOWtests/vegalite/v6/schema/test_channels.py1CODE
243 more matches not shown…
Hyper-Verbose Identifiers247 hits · 234 pts
SeverityFileLineSnippetContext
LOWtools/generate_schema_wrapper.py607def load_schema_with_shorthand_properties(fp: Path, /) -> dict[str, Any]:STRING
LOWtools/generate_schema_wrapper.py667def get_field_datum_value_defs(STRING
LOWtools/generate_schema_wrapper.py718def generate_vegalite_schema_wrapper(fp: Path, /) -> ModuleDef[str]:STRING
LOWtools/generate_schema_wrapper.py825def generate_vegalite_channel_wrappers(fp: Path, /) -> ModuleDef[list[str]]:STRING
LOWtools/generate_schema_wrapper.py924def generate_vegalite_mark_mixin(fp: Path, /, markdefs: dict[str, str]) -> str:STRING
LOWtools/generate_schema_wrapper.py1035def generate_config_typed_dicts(fp: Path, /) -> Iterator[str]:STRING
LOWtools/generate_schema_wrapper.py1079def find_theme_config_targets(info: SchemaInfo, depth: int = 0, /) -> set[SchemaInfo]:STRING
LOWtools/generate_schema_wrapper.py1091def generate_vegalite_config_mixin(fp: Path, /) -> str:STRING
LOWtools/generate_schema_wrapper.py1301def generate_encoding_artifacts(STRING
LOWtools/vega_expr.py747 def is_overloaded_string_array(self) -> bool:STRING
LOWtools/download_docs_artifact.py45def latest_docbuild_run_id_for_pr(pr_number: int) -> str:CODE
LOW⚡tools/schemapi/schemapi.py192def _get_json_schema_draft_url(schema: dict[str, Any]) -> str:CODE
LOW⚡tools/schemapi/schemapi.py196def _prepare_references_in_schema(schema: dict[str, Any]) -> dict[str, Any]:CODE
LOWtools/schemapi/schemapi.py231def _get_referencing_registry(CODE
LOWtools/schemapi/schemapi.py243def _group_errors_by_json_path(CODE
LOWtools/schemapi/schemapi.py260def _get_leaves_of_error_tree(CODE
LOWtools/schemapi/schemapi.py281def _subset_to_most_specific_json_paths(CODE
LOWtools/schemapi/schemapi.py301def _contained_at_start_of_one_of_other_values(x: str, values: Sequence[str]) -> bool:CODE
LOWtools/schemapi/schemapi.py350def _group_errors_by_validator(errors: ValidationErrorList) -> GroupedValidationErrors:CODE
LOWtools/schemapi/schemapi.py389def _deduplicate_additional_properties_errors(CODE
LOWtools/schemapi/schemapi.py605 def indent_second_line_onwards(message: str, indent: int = 4) -> str:CODE
LOWtools/schemapi/schemapi.py629 def _get_message_for_errors_group(CODE
LOWtools/schemapi/schemapi.py645 def _get_additional_properties_error_message(CODE
LOWtools/schemapi/schemapi.py666 def _get_altair_class_for_error(CODE
LOWtools/schemapi/schemapi.py766 def _get_default_error_message(CODE
LOWtools/schemapi/schemapi.py1347def _replace_parsed_shorthand(CODE
LOWsphinxext/altairgallery.py471def _heuristic_links_for_example(CODE
LOWsphinxext/altairgallery.py503def _parse_example_from_target(target: str, /) -> str | None:CODE
LOWsphinxext/altairgallery.py510def _collect_gallery_backrefs(app: Sphinx, doctree: nodes.document) -> None:CODE
LOWsphinxext/altairgallery.py618def _add_gallery_backrefs_section(CODE
LOWtests/test_vega_expr.py4def test_split_signature_tokens_handles_embedded_open_bracket() -> None:CODE
LOW⚡tests/test_datasets.py128def is_geopandas_backed_pandas(loader: Loader[Any, Any], /) -> bool:CODE
LOW⚡tests/test_datasets.py619def test_no_remote_connection(monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None:CODE
LOWtests/test_datasets.py332def test_reader_missing_dependencies() -> None:CODE
LOWtests/test_datasets.py357def test_reader_missing_implementation() -> None:CODE
LOWtests/test_datasets.py441def test_reader_cache_exhaustive(CODE
LOWtests/test_datasets.py498def test_reader_cache_disable(monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None:CODE
LOWtests/test_datasets.py670def test_polars_date_read_json_roundtrip(CODE
LOWtests/test_datasets.py783 def test_nonexistent_dataset_attribute(self):CODE
LOWtests/test_transformed_data.py84def test_primitive_chart_examples(filename, rows, cols, to_reconstruct):CODE
LOWtests/test_transformed_data.py142def test_compound_chart_examples(filename, all_rows, all_cols, to_reconstruct):CODE
LOWtests/test_transformed_data.py169def test_transformed_data_exclude(to_reconstruct):CODE
LOW⚡tests/test_magics.py58def test_vegalite_magic_data_included(ipshell, vl_spec) -> None:CODE
LOW⚡tests/test_magics.py65def test_vegalite_magic_json_flag(ipshell, vl_spec) -> None:CODE
LOW⚡tests/test_magics.py72def test_vegalite_magic_pandas_data(ipshell, vl_spec) -> None:CODE
LOWtests/test_jupyter_chart.py51def test_jupyter_chart_without_anywidget() -> None:CODE
LOWtests/test_jupyter_chart.py61def test_chart_with_no_interactivity(transformer):CODE
LOWtests/test_jupyter_chart.py87def test_interval_selection_example(transformer):CODE
LOWtests/test_jupyter_chart.py155def test_index_selection_example(transformer):CODE
LOWtests/test_toplevel.py5def test_completeness_of__all__():CODE
LOWtests/test_sphinxext_utils.py11def test_get_docstring_and_rest(tmp_path: Path) -> None:CODE
LOW⚡tests/test_examples.py37def test_render_examples_to_chart(source: Any, filename: str) -> None:CODE
LOW⚡tests/test_examples.py54def test_from_and_to_json_roundtrip(source: Any, filename: str) -> None:CODE
LOWtests/test_examples.py85def test_render_examples_to_png(source: Any, filename: str) -> None:CODE
LOWtests/test_datasets_generation.py22def test_datapackage_resource_paths(CODE
LOWtests/examples_methods_syntax/deviation_ellipses.py53def grouped_confidence_regions(df, col_x, col_y, col_group):CODE
LOWtests/examples_methods_syntax/__init__.py9def iter_examples_methods_syntax():CODE
LOWtests/expr/test_expr.py128def test_expr_consts_immutable(constname: str):CODE
LOW⚡tests/expr/test_expr.py180def test_expression_function_expr():CODE
LOW⚡tests/expr/test_expr.py187def test_expression_function_string():CODE
187 more matches not shown…
Decorative Section Separators45 hits · 142 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/test_datasets.py135# =============================================================================COMMENT
MEDIUM⚡tests/test_datasets.py137# =============================================================================COMMENT
MEDIUM⚡tests/test_datasets.py610# =============================================================================COMMENT
MEDIUM⚡tests/test_datasets.py612# =============================================================================COMMENT
MEDIUMtests/test_datasets.py36# =============================================================================COMMENT
MEDIUMtests/test_datasets.py38# =============================================================================COMMENT
MEDIUMtests/test_datasets.py95# =============================================================================COMMENT
MEDIUMtests/test_datasets.py97# =============================================================================COMMENT
MEDIUMtests/test_datasets.py246# =============================================================================COMMENT
MEDIUMtests/test_datasets.py248# =============================================================================COMMENT
MEDIUMtests/test_datasets.py291# =============================================================================COMMENT
MEDIUMtests/test_datasets.py293# =============================================================================COMMENT
MEDIUMtests/test_datasets.py384# =============================================================================COMMENT
MEDIUMtests/test_datasets.py386# =============================================================================COMMENT
MEDIUMtests/test_datasets.py523# =============================================================================COMMENT
MEDIUMtests/test_datasets.py525# =============================================================================COMMENT
MEDIUMtests/test_datasets.py580# =============================================================================COMMENT
MEDIUMtests/test_datasets.py582# =============================================================================COMMENT
MEDIUMtests/test_datasets.py654# =============================================================================COMMENT
MEDIUMtests/test_datasets.py656# =============================================================================COMMENT
MEDIUMtests/test_datasets.py739# =============================================================================COMMENT
MEDIUMtests/test_datasets.py741# =============================================================================COMMENT
MEDIUMaltair/utils/compiler.py6# ==============================================================================COMMENT
MEDIUMaltair/utils/compiler.py8# ==============================================================================COMMENT
MEDIUMaltair/utils/display.py18# ==============================================================================COMMENT
MEDIUMaltair/utils/display.py20# ==============================================================================COMMENT
MEDIUMaltair/utils/display.py119# ==============================================================================COMMENT
MEDIUMaltair/utils/display.py121# ==============================================================================COMMENT
MEDIUMaltair/utils/data.py76# ==============================================================================COMMENT
MEDIUMaltair/utils/data.py86# ==============================================================================COMMENT
MEDIUMaltair/utils/data.py106# ==============================================================================COMMENT
MEDIUMaltair/utils/data.py347# ==============================================================================COMMENT
MEDIUMaltair/utils/data.py349# ==============================================================================COMMENT
MEDIUMaltair/vegalite/v6/display.py26# ==============================================================================COMMENT
MEDIUMaltair/vegalite/v6/display.py28# ==============================================================================COMMENT
MEDIUM⚡altair/vegalite/v6/api.py361# ------------------------------------------------------------------------COMMENT
MEDIUM⚡altair/vegalite/v6/api.py365# ------------------------------------------------------------------------COMMENT
MEDIUM⚡altair/vegalite/v6/api.py372# -------------------------------------------------------------------------COMMENT
MEDIUMaltair/vegalite/v6/api.py213# ------------------------------------------------------------------------COMMENT
MEDIUMaltair/vegalite/v6/api.py309# ------------------------------------------------------------------------COMMENT
MEDIUMaltair/vegalite/v6/api.py578# -------------------------------------------------------------------------COMMENT
MEDIUMaltair/vegalite/v6/api.py1397# ------------------------------------------------------------------------COMMENT
MEDIUMaltair/vegalite/v6/api.py2010# --------------------------------------------------------------------COMMENT
MEDIUMaltair/vegalite/v6/data.py15# ==============================================================================COMMENT
MEDIUMaltair/vegalite/v6/data.py17# ==============================================================================COMMENT
Cross-Language Confusion23 hits · 104 pts
SeverityFileLineSnippetContext
HIGHtools/schemapi/schemapi.py171 # (Gradient|string|null)>' would be a valid $ref in a Vega-Lite schema butCOMMENT
HIGHtests/examples_methods_syntax/wheat_wages.py18 offset="((!datum.commonwealth && datum.index % 2) ? -1: 1) * 2 + 95",CODE
HIGHtests/examples_methods_syntax/wheat_wages.py19 off2="((!datum.commonwealth && datum.index % 2) ? -1: 1) + 95",CODE
HIGHtests/expr/test_expr.py137 assert repr(datum.xxx == None) == "(datum.xxx === null)" # noqa: E711CODE
HIGHtests/utils/test_utils.py87 assert df.equals(df2)CODE
HIGHtests/utils/test_data.py118 assert output.equals(data)CODE
HIGHtests/utils/test_data.py163 assert output.equals(data)CODE
HIGH…s_arguments_syntax/interactive_reorder_stacked_bars.py23 site_order=f"if({selection.name}.site && indexof({selection.name}.site, datum.site) !== -1, 0, 1)"CODE
HIGHtests/examples_arguments_syntax/wheat_wages.py18 offset="((!datum.commonwealth && datum.index % 2) ? -1: 1) * 2 + 95",CODE
HIGHtests/examples_arguments_syntax/wheat_wages.py19 off2="((!datum.commonwealth && datum.index % 2) ? -1: 1) + 95",CODE
HIGHaltair/expr/__init__.py2028 If there is no container element, returns ``[undefined, undefined]``.STRING
HIGHaltair/expr/__init__.py2044 """Returns the current window size (``[window.innerWidth, window.innerHeight]``) or ``[undefined, undefined]`` iSTRING
HIGHaltair/expr/funcs.py157 "containerSize": r"Returns the current CSS box size (`[el.clientWidth, el.clientHeight]`) of the parent DOM element CODE
HIGHaltair/expr/funcs.py159 "windowSize": r"Returns the current window size (`[window.innerWidth, window.innerHeight]`) or `[undefined, undefineCODE
HIGHaltair/utils/schemapi.py173 # (Gradient|string|null)>' would be a valid $ref in a Vega-Lite schema butCOMMENT
HIGHaltair/utils/html.py286 if (rows && rows.length && looksLikeFips(rows, 'id')) {STRING
HIGHaltair/utils/core.py457 # Also convert NaN/inf values to null, as they are not JSON serializableCOMMENT
HIGHaltair/utils/_dfi_types.py79 - Data types not included: complex, Arrow-style null, binary, decimal,STRING
HIGH⚡altair/vegalite/v6/api.py3724 following the current data object. The default value is ``[null, 0]``, indicatingSTRING
HIGH⚡altair/vegalite/v6/api.py3727 and five objects following the current object. Finally, ``[null, null]`` indicatesSTRING
HIGH⚡altair/vegalite/v6/api.py3733 **Default value:** : ``[null, 0]`` (includes the current object and all precedingSTRING
HIGHaltair/vegalite/v6/api.py3012 **Default value:** : ``[null, null]`` indicating that the window includes allSTRING
HIGHaltair/vegalite/v6/schema/_config.py1705 Sets the minimum slider increment. If undefined, the step size will be automaticallySTRING
Self-Referential Comments30 hits · 94 pts
SeverityFileLineSnippetContext
MEDIUM⚡tools/schemapi/schemapi.py197 # Create a copy so that $ref is not modified in the original schema in caseCOMMENT
MEDIUMtools/schemapi/schemapi.py1413 # Create a mapping of a schema hash to a list of matching classesCOMMENT
MEDIUM…/examples_methods_syntax/multiline_tooltip_standard.py21# Create a selection that chooses the nearest point & selects based on x-valueCOMMENT
MEDIUMtests/examples_methods_syntax/select_detail.py30# Create a 50-element time-series for each objectCOMMENT
MEDIUMtests/examples_methods_syntax/poly_fit_regression.py19# Define the degree of the polynomial fitsCOMMENT
MEDIUMtests/examples_methods_syntax/multiline_tooltip.py25# Create a selection that chooses the nearest point & selects based on x-valueCOMMENT
MEDIUM…xamples_methods_syntax/line_with_last_value_labeled.py13# Create a common chart objectCOMMENT
MEDIUM…xamples_methods_syntax/line_with_last_value_labeled.py33# Create a text labelCOMMENT
MEDIUM…xamples_methods_syntax/line_with_last_value_labeled.py36# Create a circle annotationCOMMENT
MEDIUMtests/examples_methods_syntax/polar_bar_chart.py26# Create the circular axis lines for the number of observationsCOMMENT
MEDIUMtests/examples_methods_syntax/polar_bar_chart.py36# Create the straight axis lines for the time of the dayCOMMENT
MEDIUM…ples_methods_syntax/interactive_layered_crossfilter.py19# Define the base chart, with the common parts of theCOMMENT
MEDIUMtests/vegalite/v6/test_params.py213 # Define the base chart, with the common parts of theCOMMENT
MEDIUM⚡tests/vegalite/v6/test_params.py265 # Create a chart and add both parameters - should raise an errorCOMMENT
MEDIUM…xamples_arguments_syntax/multiline_tooltip_standard.py21# Create a selection that chooses the nearest point & selects based on x-valueCOMMENT
MEDIUMtests/examples_arguments_syntax/select_detail.py30# Create a 50-element time-series for each objectCOMMENT
MEDIUMtests/examples_arguments_syntax/poly_fit_regression.py19# Define the degree of the polynomial fitsCOMMENT
MEDIUMtests/examples_arguments_syntax/multiline_tooltip.py25# Create a selection that chooses the nearest point & selects based on x-valueCOMMENT
MEDIUM…mples_arguments_syntax/line_with_last_value_labeled.py13# Create a common chart objectCOMMENT
MEDIUM…mples_arguments_syntax/line_with_last_value_labeled.py31# Create a text labelCOMMENT
MEDIUM…mples_arguments_syntax/line_with_last_value_labeled.py34# Create a circle annotationCOMMENT
MEDIUMtests/examples_arguments_syntax/polar_bar_chart.py27# Create the circular axis lines for the number of observationsCOMMENT
MEDIUMtests/examples_arguments_syntax/polar_bar_chart.py37# Create the straight axis lines for the time of the dayCOMMENT
MEDIUM…es_arguments_syntax/interactive_layered_crossfilter.py19# Define the base chart, with the common parts of theCOMMENT
MEDIUM⚡altair/utils/schemapi.py199 # Create a copy so that $ref is not modified in the original schema in caseCOMMENT
MEDIUMaltair/utils/schemapi.py1415 # Create a mapping of a schema hash to a list of matching classesCOMMENT
MEDIUMaltair/utils/_transformed_data.py160# This function is only used internally and so we accept this inconsistency for now.COMMENT
MEDIUMaltair/vegalite/v6/api.py390 # Create a hash data structure with parameter informationCOMMENT
MEDIUMaltair/vegalite/v6/api.py399 # Create a copy of param_dict without the name field for hash computationCOMMENT
MEDIUMdoc/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
Cross-File Repetition11 hits · 55 pts
SeverityFileLineSnippetContext
HIGHtools/schemapi/schemapi.py0construct a ``chart`` from a dictionary representation. parameters ---------- dct : dictionary the dict from which to coSTRING
HIGHaltair/utils/schemapi.py0construct a ``chart`` from a dictionary representation. parameters ---------- dct : dictionary the dict from which to coSTRING
HIGHaltair/vegalite/v6/api.py0construct a ``chart`` from a dictionary representation. parameters ---------- dct : dictionary the dict from which to coSTRING
HIGH…xamples_methods_syntax/beckers_barley_wrapped_facet.py0becker's barley faceted plot ---------------------------- the example demonstrates the faceted charts created by richardSTRING
HIGHtests/examples_methods_syntax/beckers_barley_facet.py0becker's barley faceted plot ---------------------------- the example demonstrates the faceted charts created by richardSTRING
HIGH…mples_arguments_syntax/beckers_barley_wrapped_facet.py0becker's barley faceted plot ---------------------------- the example demonstrates the faceted charts created by richardSTRING
HIGHtests/examples_arguments_syntax/beckers_barley_facet.py0becker's barley faceted plot ---------------------------- the example demonstrates the faceted charts created by richardSTRING
HIGH…xamples_methods_syntax/normalized_stacked_bar_chart.py0stacked bar chart ----------------- this is an example of a stacked bar chart using data which contains crop yields overSTRING
HIGH…mples_arguments_syntax/normalized_stacked_bar_chart.py0stacked bar chart ----------------- this is an example of a stacked bar chart using data which contains crop yields overSTRING
HIGH…mples_arguments_syntax/horizontal_stacked_bar_chart.py0stacked bar chart ----------------- this is an example of a stacked bar chart using data which contains crop yields overSTRING
HIGHtests/examples_arguments_syntax/stacked_bar_chart.py0stacked bar chart ----------------- this is an example of a stacked bar chart using data which contains crop yields overSTRING
Deep Nesting58 hits · 49 pts
SeverityFileLineSnippetContext
LOWtools/generate_schema_wrapper.py607CODE
LOWtools/generate_schema_wrapper.py651CODE
LOWtools/generate_schema_wrapper.py825CODE
LOWtools/vega_expr.py572CODE
LOWtools/vega_expr.py608CODE
LOWtools/vega_expr.py850CODE
LOWtools/update_init_file.py185CODE
LOWtools/update_init_file.py209CODE
LOWtools/schemapi/schemapi.py196CODE
LOWtools/schemapi/schemapi.py424CODE
LOWtools/schemapi/schemapi.py474CODE
LOWtools/schemapi/schemapi.py202CODE
LOWtools/schemapi/schemapi.py1421CODE
LOWtools/schemapi/utils.py1305CODE
LOWtools/schemapi/utils.py441CODE
LOWtools/schemapi/utils.py578CODE
LOWtools/schemapi/codegen.py95CODE
LOWtools/schemapi/codegen.py381CODE
LOWsphinxext/schematable.py20CODE
LOWsphinxext/altairgallery.py207CODE
LOWtests/__init__.py216CODE
LOWtests/vegalite/v6/test_api.py60CODE
LOWtests/vegalite/v6/test_api.py836CODE
LOWaltair/datasets/_cache.py266CODE
LOWaltair/datasets/_reader.py462CODE
LOWaltair/datasets/_exceptions.py30CODE
LOWaltair/expr/core.py37CODE
LOWaltair/utils/save.py78CODE
LOWaltair/utils/schemapi.py198CODE
LOWaltair/utils/schemapi.py426CODE
LOWaltair/utils/schemapi.py476CODE
LOWaltair/utils/schemapi.py204CODE
LOWaltair/utils/schemapi.py1423CODE
LOWaltair/utils/core.py228CODE
LOWaltair/utils/core.py337CODE
LOWaltair/utils/core.py469CODE
LOWaltair/utils/core.py898CODE
LOWaltair/utils/_transformed_data.py182CODE
LOWaltair/utils/_transformed_data.py247CODE
LOWaltair/utils/_transformed_data.py429CODE
LOWaltair/utils/_transformed_data.py527CODE
LOWaltair/utils/mimebundle.py65CODE
LOWaltair/utils/mimebundle.py171CODE
LOWaltair/utils/data.py180CODE
LOWaltair/utils/data.py317CODE
LOWaltair/utils/data.py366CODE
LOWaltair/utils/data.py388CODE
LOWaltair/utils/_show.py11CODE
LOWaltair/vegalite/v6/api.py637CODE
LOWaltair/vegalite/v6/api.py4306CODE
LOWaltair/vegalite/v6/api.py5257CODE
LOWaltair/vegalite/v6/api.py5398CODE
LOWaltair/vegalite/v6/api.py5434CODE
LOWaltair/vegalite/v6/api.py1051CODE
LOWaltair/jupyter/jupyter_chart.py24CODE
LOWaltair/jupyter/jupyter_chart.py52CODE
LOWaltair/jupyter/jupyter_chart.py221CODE
LOWaltair/jupyter/jupyter_chart.py353CODE
Empty Error Handlers7 hits · 35 pts
SeverityFileLineSnippetContext
HIGHtests/utils/test_plugin_registry.py118except ValueError:CODE
HIGHaltair/utils/server.py130except NameError:CODE
HIGHaltair/utils/_show.py50except webbrowser.Error:CODE
HIGHaltair/vegalite/v6/api.py572except (AttributeError, TypeError):CODE
HIGHaltair/vegalite/v6/api.py5443except KeyError:CODE
HIGHaltair/vegalite/v6/api.py4142except jsonschema.ValidationError:CODE
HIGHaltair/vegalite/v6/api.py5464except KeyError:CODE
Modern Structural Boilerplate34 hits · 33 pts
SeverityFileLineSnippetContext
LOWtools/generate_schema_wrapper.py589def update_vega_themes(fp: Path, /, indent: str | int | None = 2) -> None:STRING
LOWtools/codemod.py26__all__ = ["extract_func_def", "extract_func_def_embed", "ruff", "ruff_inline_docs"]CODE
LOWtools/__init__.py11__all__ = [CODE
LOWtools/fs.py15__all__ = [CODE
LOWtools/versioning.py48__all__ = ["VERSIONS"]CODE
LOWtools/versioning.py195 def update_all(self) -> None:CODE
LOWtools/versioning.py200 def update_vega_embed(self) -> None:CODE
LOWtools/vega_expr.py37__all__ = ["parse_expressions", "write_expr_module"]CODE
LOWtools/update_init_file.py49def update__all__variable() -> None:CODE
LOWtools/update_init_file.py230def update_dynamic__all__(source: str | Path, /) -> None:CODE
LOWtools/datasets/datapackage.py28__all__ = ["DataPackage"]CODE
LOWtools/datasets/__init__.py41__all__ = ["app"]CODE
LOWtools/datasets/npm.py22__all__ = ["Npm"]CODE
LOWtools/schemapi/__init__.py14__all__ = [CODE
LOWtools/schemapi/utils.py130 def _update_literals(self, name: str, tp: str, /) -> None:CODE
LOWtools/schemapi/utils.py179 def update_aliases(self, *name_statement: tuple[str, str]) -> None:CODE
LOWaltair/theme.py89__all__ = [CODE
LOWaltair/_magics.py15__all__ = ["vegalite"]CODE
LOWaltair/__init__.py8__all__ = [CODE
LOWaltair/datasets/_cache.py51__all__ = ["CsvCache", "DatasetCache", "SchemaCache", "csv_cache"]CODE
LOWaltair/datasets/_data.py291 def set_default_engine(self, engine: _Backend) -> None:CODE
LOWaltair/datasets/_typing.py15__all__ = ["Dataset", "Extension", "Metadata"]CODE
LOWaltair/datasets/_loader.py21__all__ = ["Loader", "load"]CODE
LOWaltair/datasets/__init__.py89__all__ = ["Loader", "data", "load", "url"]CODE
LOWaltair/datasets/_readimpl.py51__all__ = ["is_available", "pa_any", "pd_only", "pd_pyarrow", "pl_only", "read", "scan"]CODE
LOWaltair/datasets/_constraints.py23__all__ = [CODE
LOWaltair/utils/plugin_registry.py193 def _set_state(self, state: dict[str, Any]) -> None:CODE
LOWaltair/utils/deprecation.py17__all__ = [CODE
LOWaltair/vegalite/v6/__init__.py28__all__ = [CODE
LOWaltair/vegalite/v6/api.py158__all__ = [CODE
LOWaltair/vegalite/v6/schema/_typing.py37__all__ = [CODE
LOWaltair/vegalite/v6/schema/__init__.py13__all__ = [CODE
LOWaltair/vegalite/v6/schema/_config.py24__all__ = [CODE
LOWaltair/typing/__init__.py5__all__ = [CODE
Over-Commented Block13 hits · 12 pts
SeverityFileLineSnippetContext
LOWaltair/utils/_transformed_data.py141 # Return DataFrame (or None if it was excluded) if input was a simple ChartCOMMENT
LOWaltair/vegalite/v6/api.py2081 NotesCOMMENT
LOWdoc/conf.py1# !/usr/bin/env python3COMMENT
LOWdoc/conf.py81COMMENT
LOWdoc/conf.py121COMMENT
LOWdoc/conf.py241COMMENT
LOWdoc/conf.py261}COMMENT
LOWdoc/conf.py281COMMENT
LOWdoc/conf.py301# 'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja'COMMENT
LOWdoc/conf.py321 # The paper size ('letterpaper' or 'a4paper').COMMENT
LOWdoc/conf.py341 ),COMMENT
LOWdoc/conf.py361# If false, no module index is generated.COMMENT
LOWdoc/conf.py401# If true, do not generate a @detailmenu in the "Top" node's menu.COMMENT
AI Structural Patterns15 hits · 12 pts
SeverityFileLineSnippetContext
LOWtests/utils/test_data.py38CODE
LOWtests/utils/test_data.py43CODE
LOWaltair/utils/save.py171CODE
LOWaltair/utils/html.py330CODE
LOWaltair/utils/display.py49CODE
LOWaltair/vegalite/v6/api.py1628CODE
LOWaltair/vegalite/v6/api.py1741CODE
LOWaltair/vegalite/v6/api.py2333CODE
LOWaltair/vegalite/v6/api.py2538CODE
LOWaltair/vegalite/v6/api.py2906CODE
LOWaltair/vegalite/v6/api.py4342CODE
LOWaltair/vegalite/v6/schema/mixins.py490CODE
LOWaltair/vegalite/v6/schema/mixins.py780CODE
LOWaltair/vegalite/v6/schema/mixins.py860CODE
LOWaltair/vegalite/v6/schema/mixins.py954CODE
AI Slop Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMtools/schemapi/schemapi.py726 # Transpose the param name columns into rows to facilitate loopingCOMMENT
MEDIUMaltair/utils/schemapi.py728 # Transpose the param name columns into rows to facilitate loopingCOMMENT
MEDIUMaltair/vegalite/v6/api.py4966 # Use to_dict() for robust equality comparison of SchemaBase objects.COMMENT
Excessive Try-Catch Wrapping6 hits · 6 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_examples.py44 except Exception as err:CODE
LOWtests/test_examples.py73 except Exception as err:CODE
LOWaltair/datasets/_data.py268 except Exception:CODE
LOWaltair/datasets/_reader.py214 except Exception as e:CODE
LOWaltair/datasets/_reader.py221 except Exception as e:CODE
LOWaltair/vegalite/v6/api.py3813 except Exception:CODE
Redundant / Tautological Comments3 hits · 4 pts
SeverityFileLineSnippetContext
LOWtools/schemapi/schemapi.py680 # Check if str as e.g. first item can be a 0COMMENT
LOWaltair/utils/schemapi.py682 # Check if str as e.g. first item can be a 0COMMENT
LOWaltair/vegalite/v6/api.py4093 # Check if we have a cached hash from before data was hoistedCOMMENT