A light-weight, flexible, and expressive statistical data testing library
This report summarizes scanner evidence for unionai-oss/pandera, a Python project with 4,478 GitHub stars. SynthScan examined 146,036 lines of code across 566 source files, recording 3602 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 36.4 (High pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 2221 finding(s).
Are imports declared and package/API names verified? 806 finding(s).
Are wrappers, guards, and repeated structures necessary? 2604 finding(s).
Which changes need focused human review? 3602 finding(s).
Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 3602 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | noxfile.py | 91 | def _generate_pip_deps_from_conda( | CODE |
| LOW | specs/pluggable-data-synthesis.md | 319 | def register_synthesis_backend(name: str, backend: SynthesisBackend) -> None: | CODE |
| LOW | specs/pluggable-data-synthesis.md | 370 | def _load_entry_point_backends() -> None: # registry.py (internal) | CODE |
| LOW | specs/pluggable-data-synthesis.md | 742 | def compile_constraints_to_sampler( | CODE |
| LOW | specs/optimized-strategies.md | 393 | def str_startswith_constraint(*, string) -> FieldConstraints: | CODE |
| LOW | specs/optimized-strategies.md | 582 | def register_check_constraint(constraint_fn): | CODE |
| LOW | specs/optimized-strategies.md | 877 | def _percentile_clipped_constraint(*, ref_low, ref_high) -> FieldConstraints: | CODE |
| LOW | specs/optimized-strategies.md | 1460 | def _strategy_supports_base_mode(fn) -> bool: | CODE |
| LOW | specs/optimized-strategies.md | 1654 | def track_regex_filter_node_count(self): | CODE |
| LOW | specs/derived-columns-and-system-one.md | 545 | def routing_distribution_is_stable(cls, df): | CODE |
| LOW | specs/pytorch-tensordict.md | 306 | def load_and_validate_dataset(path: str) -> TensorDict: | CODE |
| LOW | specs/pytorch-tensordict.md | 430 | def validate_dataset_directory(data_dir: Path) -> list[str]: | CODE |
| LOW | specs/pytorch-tensordict.md | 1161 | def test_tensorclass_generation(tc): | CODE |
| LOW | specs/generic-dataframe.md | 184 | def register_default_backends(check_obj_cls: type) -> None: | CODE |
| LOW | specs/generic-dataframe.md | 233 | def register_narwhals_native_backends(check_obj_cls: type) -> None: | CODE |
| LOW | tests/test_inspection_utils.py | 54 | def test_is_decorated_classmethod() -> None: | CODE |
| LOW | tests/hypotheses/test_hypotheses.py | 30 | def test_dataframe_hypothesis_checks(): | CODE |
| LOW | tests/hypotheses/test_hypotheses.py | 248 | def test_two_sample_ttest_hypothesis_relationships(): | CODE |
| LOW | tests/hypotheses/test_hypotheses.py | 291 | def test_one_sample_hypothesis(): | CODE |
| LOW | tests/core/test_register_checks.py | 27 | def test_loader_returns_callable_when_pandas_importable(): | CODE |
| LOW | tests/core/test_register_checks.py | 34 | def test_loader_returns_none_on_import_error(monkeypatch): | CODE |
| LOW | tests/core/test_register_checks.py | 52 | def test_pyspark_pandas_does_not_route_to_pyspark_sql(monkeypatch): | CODE |
| LOW⚡ | tests/core/test_checks.py | 18 | def test_native_explicit_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 23 | def test_native_explicit_true(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 28 | def test_element_wise_and_native_coexist(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 34 | def test_element_wise_false_native_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 44 | def test_equal_to_native_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 48 | def test_greater_than_native_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 56 | def test_not_equal_to_native_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 60 | def test_greater_than_or_equal_to_native_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 64 | def test_less_than_native_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 68 | def test_less_than_or_equal_to_native_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 72 | def test_in_range_native_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 80 | def test_str_matches_native_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 84 | def test_str_contains_native_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 88 | def test_str_startswith_native_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 92 | def test_str_endswith_native_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 96 | def test_str_length_native_false(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 116 | def test_not_equal_to_signature(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 123 | def test_greater_than_signature(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 130 | def test_greater_than_or_equal_to_signature(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 176 | def test_str_matches_signature(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 183 | def test_str_contains_signature(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 190 | def test_str_startswith_signature(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 197 | def test_str_endswith_signature(self): | CODE |
| LOW⚡ | tests/core/test_checks.py | 204 | def test_str_length_signature(self): | CODE |
| LOW | tests/core/test_checks.py | 146 | def test_less_than_or_equal_to_signature(self): | CODE |
| LOW | tests/core/test_checks.py | 215 | def test_builtin_check_with_custom_name_validates(self): | CODE |
| LOW | tests/core/test_checks.py | 232 | def test_builtin_check_with_custom_name_still_detects_failures(self): | CODE |
| LOW | tests/dask/test_dask_accessor.py | 30 | def test_dataframe_series_add_schema( | CODE |
| LOW | tests/geopandas/test_engine.py | 15 | def test_engine_geometry_simple(): | CODE |
| LOW | tests/geopandas/test_engine.py | 25 | def test_engine_geometry_equality(): | CODE |
| LOW | tests/geopandas/test_engine.py | 109 | def test_engine_geometry_check(pandera_dtype, data_container, invalid): | CODE |
| LOW | tests/geopandas/test_engine.py | 152 | def test_engine_geometry_coerce_crs(data_container): | CODE |
| LOW | tests/geopandas/test_engine.py | 243 | def test_engine_geometry_coerce_data(data, dims: int, invalid: bool): | CODE |
| LOW | tests/geopandas/test_geopandas.py | 99 | def test_schema_dtype_crs_without_coerce(gdf_args, invalid: bool): | CODE |
| LOW | tests/geopandas/test_geopandas.py | 145 | def test_schema_dtype_crs_with_coerce(gdf_args, invalid: bool): | CODE |
| LOW | tests/geopandas/test_geopandas.py | 167 | def test_schema_parametrized_crs(): | CODE |
| LOW | tests/geopandas/test_geopandas.py | 185 | def test_schema_multiple_geometry_same_crs(): | CODE |
| LOW | tests/geopandas/test_geopandas.py | 208 | def test_schema_multiple_geometry_different_crs(): | CODE |
| 1937 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/narwhals/test_pandas_e2e.py | 70 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_pandas_e2e.py | 72 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_pandas_e2e.py | 119 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_pandas_e2e.py | 121 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_pandas_e2e.py | 234 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_pandas_e2e.py | 236 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_pandas_e2e.py | 288 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_pandas_e2e.py | 290 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_pandas_e2e.py | 345 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_pandas_e2e.py | 347 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_components.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_components.py | 40 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_components.py | 268 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_components.py | 270 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_components.py | 15 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_components.py | 17 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_components.py | 83 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_components.py | 85 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_components.py | 115 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_components.py | 117 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_components.py | 162 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_components.py | 164 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_components.py | 195 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_components.py | 197 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/conftest.py | 24 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/conftest.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/conftest.py | 103 | # =========================================================================== | COMMENT |
| MEDIUM | tests/narwhals/conftest.py | 105 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 24 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 48 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 50 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 79 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 81 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 99 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 101 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 123 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 125 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 141 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 143 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 154 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 156 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 175 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 177 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 198 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_container.py | 200 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_narwhals_dtypes.py | 13 | # ── INFRA-02: NarwhalsData named tuple ─────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_narwhals_dtypes.py | 42 | # ── INFRA-03: _to_native helper ─────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_parity.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_parity.py | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_parity.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_parity.py | 40 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_parity.py | 57 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/narwhals/test_parity.py | 59 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_parity.py | 82 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_parity.py | 84 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_parity.py | 116 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_parity.py | 118 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_parity.py | 155 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/narwhals/test_parity.py | 157 | # --------------------------------------------------------------------------- | COMMENT |
| 182 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/pyspark/test_pyspark_model.py | 0 | test the ``fieldtype`` presence and nullability contract. | STRING |
| HIGH | tests/ibis/test_ibis_model.py | 0 | test the ``fieldtype`` presence and nullability contract. | STRING |
| HIGH | tests/polars/test_polars_model.py | 0 | test the ``fieldtype`` presence and nullability contract. | STRING |
| HIGH | tests/pandas/test_model.py | 0 | test the ``fieldtype`` presence and nullability contract. | STRING |
| HIGH | tests/pyarrow/test_pyarrow_model.py | 0 | test the ``fieldtype`` presence and nullability contract. | STRING |
| HIGH | tests/pyspark/test_pyspark_model.py | 0 | the typing-only field marker composes with runtime field metadata. | STRING |
| HIGH | tests/ibis/test_ibis_model.py | 0 | the typing-only field marker composes with runtime field metadata. | STRING |
| HIGH | tests/polars/test_polars_model.py | 0 | the typing-only field marker composes with runtime field metadata. | STRING |
| HIGH | tests/pandas/test_model.py | 0 | the typing-only field marker composes with runtime field metadata. | STRING |
| HIGH | tests/pyarrow/test_pyarrow_model.py | 0 | the typing-only field marker composes with runtime field metadata. | STRING |
| HIGH | tests/pyspark/test_pyspark_model.py | 0 | independent ``fieldtype`` metadata objects must remain distinct. | STRING |
| HIGH | tests/ibis/test_ibis_model.py | 0 | independent ``fieldtype`` metadata objects must remain distinct. | STRING |
| HIGH | tests/polars/test_polars_model.py | 0 | independent ``fieldtype`` metadata objects must remain distinct. | STRING |
| HIGH | tests/pandas/test_model.py | 0 | independent ``fieldtype`` metadata objects must remain distinct. | STRING |
| HIGH | tests/pyspark/test_pyspark_sql_io.py | 0 | ``minimal=false`` retains package version in the payload. | STRING |
| HIGH | tests/io/test_polars_io.py | 0 | ``minimal=false`` retains package version in the payload. | STRING |
| HIGH | tests/ibis/test_ibis_io.py | 0 | ``minimal=false`` retains package version in the payload. | STRING |
| HIGH | tests/pyspark/test_pyspark_decorators.py | 0 | this module is to test the behaviour change based on defined config in pandera | STRING |
| HIGH | tests/pyspark/test_pyspark_config.py | 0 | this module is to test the behaviour change based on defined config in pandera | STRING |
| HIGH | tests/pandas/test_pandas_config.py | 0 | this module is to test the behaviour change based on defined config in pandera | STRING |
| HIGH | tests/pyspark/test_schemas_on_pyspark_pandas.py | 0 | test errors from initializing a pandas.typing.dataframe with schema. | STRING |
| HIGH | tests/modin/test_schemas_on_modin.py | 0 | test errors from initializing a pandas.typing.dataframe with schema. | STRING |
| HIGH | tests/pandas/test_typing.py | 0 | test errors from initializing a pandas.typing.dataframe with schema. | STRING |
| HIGH | tests/ibis/test_ibis_model.py | 0 | ``fieldtype[t, pa.field(...)]`` should propagate field metadata (description, title, unique, checks, etc.) to the result | STRING |
| HIGH | tests/polars/test_polars_model.py | 0 | ``fieldtype[t, pa.field(...)]`` should propagate field metadata (description, title, unique, checks, etc.) to the result | STRING |
| HIGH | tests/pandas/test_model.py | 0 | ``fieldtype[t, pa.field(...)]`` should propagate field metadata (description, title, unique, checks, etc.) to the result | STRING |
| HIGH | pandera/import_utils.py | 0 | decorator to generate input error if dependency is missing. | STRING |
| HIGH | pandera/strategies/base_strategies.py | 0 | decorator to generate input error if dependency is missing. | STRING |
| HIGH | pandera/strategies/pandas_strategies.py | 0 | decorator to generate input error if dependency is missing. | STRING |
| HIGH | pandera/backends/pyspark/checks.py | 0 | implements querying behavior to produce subset of check object. | STRING |
| HIGH | pandera/backends/narwhals/checks.py | 0 | implements querying behavior to produce subset of check object. | STRING |
| HIGH | pandera/backends/ibis/checks.py | 0 | implements querying behavior to produce subset of check object. | STRING |
| HIGH | pandera/backends/polars/checks.py | 0 | implements querying behavior to produce subset of check object. | STRING |
| HIGH | pandera/backends/base/__init__.py | 0 | implements querying behavior to produce subset of check object. | STRING |
| HIGH | pandera/backends/pandas/checks.py | 0 | implements querying behavior to produce subset of check object. | STRING |
| HIGH | pandera/backends/pyspark/checks.py | 0 | postprocesses the result of applying the check function. | STRING |
| HIGH | pandera/backends/narwhals/checks.py | 0 | postprocesses the result of applying the check function. | STRING |
| HIGH | pandera/backends/ibis/checks.py | 0 | postprocesses the result of applying the check function. | STRING |
| HIGH | pandera/backends/tensordict/checks.py | 0 | postprocesses the result of applying the check function. | STRING |
| HIGH | pandera/backends/polars/checks.py | 0 | postprocesses the result of applying the check function. | STRING |
| HIGH | pandera/backends/base/__init__.py | 0 | postprocesses the result of applying the check function. | STRING |
| HIGH | pandera/backends/pandas/checks.py | 0 | postprocesses the result of applying the check function. | STRING |
| HIGH | pandera/backends/pyspark/container.py | 0 | preprocesses a check object before applying check functions. | STRING |
| HIGH | pandera/backends/tensordict/base.py | 0 | preprocesses a check object before applying check functions. | STRING |
| HIGH | pandera/backends/base/__init__.py | 0 | preprocesses a check object before applying check functions. | STRING |
| HIGH | pandera/backends/pandas/container.py | 0 | preprocesses a check object before applying check functions. | STRING |
| HIGH | pandera/backends/pyspark/container.py | 0 | parse and validate a check object, returning type-coerced and validated object. | STRING |
| HIGH | pandera/backends/ibis/container.py | 0 | parse and validate a check object, returning type-coerced and validated object. | STRING |
| HIGH | pandera/backends/base/__init__.py | 0 | parse and validate a check object, returning type-coerced and validated object. | STRING |
| HIGH | pandera/backends/pandas/container.py | 0 | parse and validate a check object, returning type-coerced and validated object. | STRING |
| HIGH | pandera/backends/pyspark/container.py | 0 | collects all schema components to use for validation. | STRING |
| HIGH | pandera/backends/narwhals/container.py | 0 | collects all schema components to use for validation. | STRING |
| HIGH | pandera/backends/ibis/container.py | 0 | collects all schema components to use for validation. | STRING |
| HIGH | pandera/backends/polars/container.py | 0 | collects all schema components to use for validation. | STRING |
| HIGH | pandera/backends/pandas/container.py | 0 | collects all schema components to use for validation. | STRING |
| HIGH | pandera/backends/pyspark/container.py | 0 | check that all columns in the schema are present in the dataframe. | STRING |
| HIGH | pandera/backends/narwhals/container.py | 0 | check that all columns in the schema are present in the dataframe. | STRING |
| HIGH | pandera/backends/polars/container.py | 0 | check that all columns in the schema are present in the dataframe. | STRING |
| HIGH | pandera/backends/pandas/container.py | 0 | check that all columns in the schema are present in the dataframe. | STRING |
| HIGH | pandera/backends/pyspark/builtin_checks.py | 0 | ensure all values of a series are within an interval. both endpoints must be a type comparable to the dtype of the :clas | STRING |
| 70 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | asv_bench/benchmarks/dataframe_schema.py | 4 | CODE | |
| LOW | asv_bench/benchmarks/series_schema.py | 4 | CODE | |
| LOW | asv_bench/benchmarks/series_schema.py | 4 | CODE | |
| LOW | asv_bench/benchmarks/series_schema.py | 4 | CODE | |
| LOW | asv_bench/benchmarks/series_schema.py | 4 | CODE | |
| LOW | asv_bench/benchmarks/series_schema.py | 4 | CODE | |
| LOW | asv_bench/benchmarks/series_schema.py | 4 | CODE | |
| LOW | asv_bench/benchmarks/series_schema.py | 4 | CODE | |
| LOW | asv_bench/benchmarks/series_schema.py | 4 | CODE | |
| LOW | asv_bench/benchmarks/series_schema.py | 4 | CODE | |
| LOW | tests/core/test_checks.py | 4 | CODE | |
| LOW | tests/dask/test_dask_not_installed.py | 18 | CODE | |
| LOW | tests/geopandas/test_geopandas_io.py | 4 | CODE | |
| LOW | tests/geopandas/test_geopandas_io.py | 5 | CODE | |
| LOW | tests/geopandas/test_geopandas_io.py | 10 | CODE | |
| LOW | tests/geopandas/test_geopandas_io.py | 12 | CODE | |
| LOW | tests/geopandas/test_geopandas_io.py | 18 | CODE | |
| LOW | tests/strategies/test_no_filter_chain.py | 19 | CODE | |
| LOW | tests/strategies/test_xarray_checks.py | 16 | CODE | |
| LOW | tests/strategies/test_constraints.py | 3 | CODE | |
| LOW | tests/strategies/test_legacy_strategy_warning.py | 26 | CODE | |
| LOW | tests/strategies/test_constraint_registration.py | 13 | CODE | |
| LOW | tests/strategies/test_strategies.py | 8 | CODE | |
| LOW | tests/strategies/test_compile_field_strategy.py | 3 | CODE | |
| LOW | tests/strategies/test_compile_field_strategy.py | 8 | CODE | |
| LOW | tests/strategies/test_compile_field_strategy.py | 9 | CODE | |
| LOW | tests/strategies/test_compile_field_strategy.py | 12 | CODE | |
| LOW | tests/pyspark/test_pyspark_container.py | 627 | CODE | |
| LOW | tests/pyspark/test_pyspark_model.py | 5 | CODE | |
| LOW | tests/pyspark/test_pyspark_model.py | 17 | CODE | |
| LOW | tests/pyspark/conftest.py | 13 | CODE | |
| LOW | tests/pyspark/test_pyspark_coerce_warning.py | 8 | CODE | |
| LOW | tests/io/test_serdes_minimal.py | 3 | CODE | |
| LOW | tests/cli/conftest.py | 3 | CODE | |
| LOW | tests/cli/test_cli_combos.py | 14 | CODE | |
| LOW | tests/cli/test_cli_narwhals.py | 3 | CODE | |
| LOW | tests/cli/test_cli.py | 3 | CODE | |
| LOW | tests/common/conftest.py | 12 | CODE | |
| LOW | tests/narwhals/test_components.py | 70 | CODE | |
| LOW | tests/narwhals/test_components.py | 171 | CODE | |
| LOW | tests/narwhals/test_container.py | 14 | CODE | |
| LOW | tests/narwhals/test_schema_driven_dtype_dispatch.py | 10 | CODE | |
| LOW | tests/narwhals/test_e2e.py | 30 | CODE | |
| LOW | tests/narwhals/test_e2e.py | 47 | CODE | |
| LOW | tests/narwhals/test_e2e.py | 62 | CODE | |
| LOW | tests/narwhals/test_e2e.py | 85 | CODE | |
| LOW | tests/narwhals/test_e2e.py | 86 | CODE | |
| LOW | tests/narwhals/test_check_signature_compat.py | 15 | CODE | |
| LOW | tests/narwhals/test_check_signature_compat.py | 32 | CODE | |
| LOW | tests/narwhals/test_error_handler.py | 4 | CODE | |
| LOW | tests/narwhals/test_concat_failure_cases.py | 13 | CODE | |
| LOW | tests/ibis/test_ibis_container.py | 4 | CODE | |
| LOW | tests/ibis/test_ibis_model.py | 3 | CODE | |
| LOW | tests/ibis/test_ibis_components.py | 5 | CODE | |
| LOW | tests/mypy/pandas_modules/pandas_dataframe.py | 8 | CODE | |
| LOW | tests/fastapi/models.py | 2 | CODE | |
| LOW | tests/tensordict/test_tensordict_io.py | 3 | CODE | |
| LOW | tests/tensordict/test_tensordict_io.py | 5 | CODE | |
| LOW | tests/tensordict/test_tensordict_io.py | 6 | CODE | |
| LOW | tests/tensordict/test_tensordict_io.py | 7 | CODE | |
| 691 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/dask/test_dask_not_installed.py | 23 | except KeyError: | CODE |
| HIGH | tests/dask/test_dask_not_installed.py | 41 | except KeyError: | CODE |
| HIGH | tests/strategies/test_constraint_registration.py | 133 | except AttributeError: | CODE |
| HIGH | tests/strategies/test_constraint_registration.py | 169 | except AttributeError: | CODE |
| HIGH | tests/pyspark/test_pyspark_coerce_warning.py | 70 | except Exception: | CODE |
| HIGH | tests/narwhals/conftest.py | 66 | except ImportError: | CODE |
| HIGH | tests/narwhals/test_container.py | 75 | except SchemaError: | CODE |
| HIGH | tests/polars/test_polars_coerce_warning.py | 47 | except Exception: | CODE |
| HIGH | tests/polars/test_polars_coerce_warning.py | 66 | except Exception: | CODE |
| HIGH | tests/pandas/test_schema_components.py | 1302 | except (errors.SchemaError, errors.SchemaErrors): | CODE |
| HIGH | tests/pandas/test_schema_components.py | 1336 | except (errors.SchemaError, errors.SchemaErrors): | CODE |
| HIGH | tests/pandas/test_schemas.py | 3338 | except errors.SchemaError: | CODE |
| HIGH | pandera/external_config.py | 22 | except (ImportError, ModuleNotFoundError): | CODE |
| HIGH | pandera/tensordict.py | 69 | except ImportError: | CODE |
| HIGH | pandera/schema_statistics/xarray.py | 254 | except (TypeError, ValueError): | CODE |
| HIGH | pandera/schema_statistics/xarray.py | 259 | except (TypeError, ValueError): | CODE |
| HIGH | pandera/schema_statistics/xarray.py | 316 | except (TypeError, ValueError): | CODE |
| HIGH | pandera/accessors/pyspark_sql_accessor.py | 161 | except ImportError: | CODE |
| HIGH | pandera/backends/register_checks.py | 63 | except ImportError: | CODE |
| HIGH | pandera/backends/register_checks.py | 71 | except ImportError: | CODE |
| HIGH | pandera/backends/register_checks.py | 77 | except ImportError: | CODE |
| HIGH | pandera/backends/register_checks.py | 85 | except ImportError: | CODE |
| HIGH | pandera/backends/pyspark/container.py | 282 | except SchemaError: | CODE |
| HIGH | pandera/backends/pyspark/container.py | 362 | except StopIteration: | CODE |
| HIGH | pandera/backends/narwhals/register.py | 55 | except ImportError: | CODE |
| HIGH | pandera/backends/narwhals/register.py | 81 | except ImportError: | CODE |
| HIGH | pandera/backends/narwhals/register.py | 117 | except ImportError: # pragma: no cover — pandas is co-installed | CODE |
| HIGH | pandera/backends/narwhals/register.py | 162 | except ImportError: | CODE |
| HIGH | pandera/backends/narwhals/register.py | 178 | except ImportError: # pragma: no cover — pandas is co-installed | CODE |
| HIGH | pandera/backends/narwhals/register.py | 185 | except ImportError: | CODE |
| HIGH | pandera/backends/narwhals/register.py | 192 | except ImportError: | CODE |
| HIGH | pandera/backends/narwhals/register.py | 199 | except ImportError: | CODE |
| HIGH | pandera/backends/narwhals/register.py | 212 | except ImportError: | CODE |
| HIGH | pandera/backends/narwhals/register.py | 219 | except ImportError: | CODE |
| HIGH | pandera/backends/narwhals/register.py | 226 | except ImportError: | CODE |
| HIGH | pandera/backends/narwhals/register.py | 233 | except ImportError: # pragma: no cover — pandas is co-installed | CODE |
| HIGH | pandera/backends/narwhals/register.py | 50 | except ImportError: | CODE |
| HIGH | pandera/backends/narwhals/register.py | 76 | except ImportError: | CODE |
| HIGH | pandera/backends/narwhals/register.py | 112 | except ImportError: # pragma: no cover — narwhals is co-installed | CODE |
| HIGH | pandera/backends/narwhals/register.py | 140 | except ImportError: | CODE |
| HIGH | pandera/backends/narwhals/register.py | 157 | except ImportError: | CODE |
| HIGH | pandera/backends/narwhals/container.py | 605 | except SchemaError: | CODE |
| HIGH | pandera/backends/narwhals/container.py | 1116 | except Exception: | CODE |
| HIGH | pandera/backends/narwhals/base.py | 494 | except TypeError: | CODE |
| HIGH | pandera/backends/ibis/container.py | 232 | except SchemaError: | CODE |
| HIGH | pandera/backends/ibis/container.py | 382 | except IbisError: | CODE |
| HIGH | pandera/backends/tensordict/register.py | 42 | except ImportError: | CODE |
| HIGH | pandera/backends/tensordict/checks.py | 79 | except ImportError: | CODE |
| HIGH | pandera/backends/tensordict/checks.py | 87 | except ImportError: | CODE |
| HIGH | pandera/backends/tensordict/checks.py | 103 | except ImportError: | CODE |
| HIGH | pandera/backends/tensordict/base.py | 36 | except (KeyError, TypeError, ValueError): | CODE |
| HIGH | pandera/backends/tensordict/base.py | 110 | except (KeyError, TypeError): | CODE |
| HIGH | pandera/backends/tensordict/base.py | 228 | except ImportError: | CODE |
| HIGH | pandera/backends/polars/container.py | 307 | except SchemaError: | CODE |
| HIGH | pandera/backends/polars/container.py | 479 | except StopIteration: | CODE |
| HIGH | pandera/backends/xarray/register.py | 58 | except ImportError: | CODE |
| HIGH | pandera/backends/xarray/checks.py | 57 | except TypeError: | CODE |
| HIGH | pandera/backends/xarray/error_formatters.py | 37 | except (TypeError, ValueError): | CODE |
| HIGH | pandera/backends/xarray/builtin_checks.py | 90 | except TypeError: | CODE |
| HIGH | pandera/backends/pandas/container.py | 430 | except SchemaError: | CODE |
| 37 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/geopandas/test_from_to_format_conversions.py | 236 | assert gdf.equals(out) | CODE |
| HIGH | tests/io/test_pandas_io.py | 2067 | assert validation_df.equals(expected) | CODE |
| HIGH | tests/io/test_pandas_io.py | 1269 | assert test_df.equals(validation) | STRING |
| HIGH⚡ | tests/ibis/test_ibis_check.py | 188 | assert failure_cases.equals(expected_failure_cases) | CODE |
| HIGH | tests/ibis/test_ibis_check.py | 210 | assert failure_cases.equals(expected_failure_cases) | CODE |
| HIGH | tests/ibis/test_ibis_check.py | 282 | assert failure_cases.equals(expected_failure_cases) | CODE |
| HIGH⚡ | tests/ibis/test_ibis_container.py | 121 | assert validated_df.equals(t_basic.execute()) | CODE |
| HIGH | tests/ibis/test_ibis_container.py | 133 | assert coerced_df.equals(t_basic.execute()) | CODE |
| HIGH | tests/ibis/test_ibis_container.py | 449 | assert got.equals(expected) | CODE |
| HIGH | tests/ibis/test_ibis_container.py | 505 | assert result.equals(t_for_regex_match.execute()) | CODE |
| HIGH | tests/ibis/test_ibis_typing.py | 112 | assert result.equals(t) | CODE |
| HIGH⚡ | tests/ibis/test_ibis_components.py | 44 | assert validated_data.equals(data.execute()) | CODE |
| HIGH | tests/ibis/test_ibis_components.py | 83 | assert validated_data.equals(data.execute()) | CODE |
| HIGH | tests/polars/test_polars_check.py | 209 | exc.failure_cases.equals(pl.DataFrame({"col": [-1, -2]})) | CODE |
| HIGH | tests/polars/test_polars_check.py | 228 | exc.failure_cases.equals(pl.DataFrame({col: [-1, -4]})) | CODE |
| HIGH⚡ | tests/polars/test_polars_container.py | 135 | assert validated_df.equals(ldf_basic.collect()) | CODE |
| HIGH | tests/polars/test_polars_container.py | 181 | assert coerced_df.equals(ldf_basic.collect()) | CODE |
| HIGH | tests/polars/test_polars_container.py | 207 | assert coerced_df.equals(ldf_basic.cast(pl.Utf8).collect()) | CODE |
| HIGH | tests/polars/test_polars_container.py | 554 | assert validated_data.equals(expected_data.collect()) | CODE |
| HIGH | tests/polars/test_polars_container.py | 608 | assert result.equals(ldf_for_regex_match.collect()) | CODE |
| HIGH | tests/polars/test_polars_container.py | 768 | assert validated_data.equals(df_basic) | CODE |
| HIGH⚡ | tests/polars/test_polars_components.py | 60 | assert validated_data.equals(lazyframe.collect()) | CODE |
| HIGH | tests/polars/test_polars_components.py | 100 | assert validated_data.equals(data.collect()) | CODE |
| HIGH | tests/polars/test_polars_typing.py | 116 | assert result.equals(df) | CODE |
| HIGH | tests/pandas/test_model.py | 2035 | assert pandera_validated_df.equals(Schema.validate(pandas_df)) | CODE |
| HIGH | tests/pandas/test_model.py | 2120 | assert pandera_validated_df.equals(Schema.validate(pandas_df)) | CODE |
| HIGH | tests/pandas/test_model.py | 2147 | assert pandera_validated_df.equals(Schema.validate(pandas_df)) | CODE |
| HIGH | tests/pandas/test_pandas_engine.py | 746 | (pd.Series([None, pd.NA, np.nan]), pyarrow.null), | CODE |
| HIGH | tests/pandas/test_pandas_engine.py | 790 | (pd.Series(["a", "1"]), pyarrow.null), | CODE |
| HIGH | tests/pandas/test_from_to_format_conversions.py | 250 | assert df.equals(out) | CODE |
| HIGH | tests/pandas/test_model_from_records_dicts.py | 29 | assert pandera_validated_df.equals(Schema.validate(pandas_df)) | CODE |
| HIGH | tests/pandas/test_schemas.py | 547 | assert validated_frame_trailing.columns.equals( | CODE |
| HIGH | tests/pandas/test_schemas.py | 1632 | assert err.data.equals(dataframe) # type: ignore | CODE |
| HIGH | tests/pandas/test_schemas.py | 2082 | assert err.data.equals(expectation["data"]) | CODE |
| HIGH | tests/pandas/test_dtypes.py | 372 | assert series.equals(coerced_series) | CODE |
| HIGH | tests/pandas/test_dtypes.py | 392 | assert df.equals(coerced_df) | CODE |
| HIGH⚡ | tests/pyarrow/test_pyarrow_typing.py | 41 | assert result.equals(TABLE) | CODE |
| HIGH⚡ | tests/pyarrow/test_pyarrow_typing.py | 57 | assert result.equals(TABLE) | CODE |
| HIGH⚡ | tests/pyarrow/test_pyarrow_typing.py | 68 | assert result.equals(TABLE) | CODE |
| HIGH⚡ | tests/pyarrow/test_pyarrow_typing.py | 75 | assert result.equals(TABLE) | CODE |
| HIGH⚡ | tests/pyarrow/test_pyarrow_typing.py | 82 | assert result.equals(TABLE) | CODE |
| HIGH⚡ | tests/pyarrow/test_pyarrow_typing.py | 89 | assert result.equals(TABLE) | CODE |
| HIGH⚡ | tests/pyarrow/test_pyarrow_container.py | 37 | assert validated.equals(table) | CODE |
| HIGH | pandera/backends/narwhals/checks.py | 26 | inputs produce ``False`` comparison outputs (never null), so the input | STRING |
| HIGH | pandera/backends/narwhals/container.py | 891 | """True if the column schema declares a (non-null) default value.""" | STRING |
| HIGH⚡ | pandera/backends/ibis/builtin_checks.py | 348 | func = _.length() == exact_value | CODE |
| HIGH⚡ | pandera/backends/ibis/builtin_checks.py | 356 | func = _.length() <= max_value | CODE |
| HIGH⚡ | pandera/backends/ibis/builtin_checks.py | 358 | func = _.length() >= min_value | CODE |
| HIGH⚡ | pandera/backends/ibis/builtin_checks.py | 360 | func = _.length().between(min_value, max_value) | CODE |
| HIGH | pandera/backends/pandas/checks.py | 214 | if not check_obj.index.equals(check_output.index): | CODE |
| HIGH | pandera/backends/pandas/checks.py | 268 | if check_obj.index.equals(check_output.index) and self.check.ignore_na: | CODE |
| HIGH | pandera/backends/pandas/checks.py | 289 | if check_obj.index.equals(check_output.index) and self.check.ignore_na: | CODE |
| HIGH | pandera/engines/pandas_engine.py | 2139 | pyarrow.null, | CODE |
| HIGH | pandera/engines/pyarrow_engine.py | 365 | pyarrow.null, | CODE |
| HIGH | pandera/_cli/generate.py | 177 | if not cleaned.equals(df[col]): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/pyspark/test_pyspark_model.py | 631 | # Define a fixture for the Schema | COMMENT |
| MEDIUM | tests/pyspark/test_pyspark_decorators.py | 1 | """This module is to test the behaviour change based on defined config in pandera""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_check.py | 64 | """This class is used to test the decorator to check datatype mismatches and unacceptable datatype""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_check.py | 310 | """This class is used to test the equal to check""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_check.py | 447 | """This class is used to test the not equal to check""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_check.py | 584 | """This class is used to test the greater than check""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_check.py | 715 | """This class is used to test the greater than equal to check""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_check.py | 850 | """This class is used to test the less than check""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_check.py | 1018 | """This class is used to test the less than equal to check""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_check.py | 1192 | """This class is used to test the isin check""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_check.py | 1335 | """This class is used to test the notin check""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_check.py | 1470 | """This class is used to test the string types checks""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_check.py | 1692 | """This class is used to test the value in range check""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_check.py | 1977 | """This class is used to test the unique_values_eq check""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_dtypes.py | 87 | """This class is to test all the numeric types""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_dtypes.py | 272 | """This class is to test all the datetime types""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_dtypes.py | 379 | """This class is to test all the complex types""" | STRING |
| MEDIUM | tests/pyspark/test_pyspark_config.py | 1 | """This module is to test the behaviour change based on defined config in pandera""" | STRING |
| MEDIUM | tests/io/test_pandas_io.py | 2569 | # Create a schema using the StrEnum in isin parameter | COMMENT |
| MEDIUM | tests/ibis/test_ibis_typing.py | 421 | # Define a test function that simulates the same logic | COMMENT |
| MEDIUM | tests/ibis/test_ibis_typing.py | 449 | # Define a test function that simulates the relevant logic | COMMENT |
| MEDIUM | tests/ibis/test_ibis_typing.py | 475 | # Create a mock field | COMMENT |
| MEDIUM | tests/mypy/pandas_modules/pandas_dataframe.py | 46 | # Define a few dataframe objects | COMMENT |
| MEDIUM⚡ | tests/polars/test_polars_pydantic.py | 139 | # Create a custom pydantic model that uses our schema with optional column | COMMENT |
| MEDIUM⚡ | tests/polars/test_polars_typing.py | 744 | # Create a real io.StringIO buffer for testing | COMMENT |
| MEDIUM⚡ | tests/polars/test_polars_typing.py | 749 | # Create a test function that simulates the core logic we want to test | COMMENT |
| MEDIUM | tests/polars/test_polars_typing.py | 439 | # Create a class to mock the specific format logic | COMMENT |
| MEDIUM | tests/polars/test_polars_typing.py | 611 | # Define a test function that simulates the same logic | COMMENT |
| MEDIUM | tests/polars/test_polars_typing.py | 639 | # Define a test function that simulates the relevant logic | COMMENT |
| MEDIUM | tests/polars/test_polars_typing.py | 671 | # Create a simulated write function for StringIO | COMMENT |
| MEDIUM | tests/polars/test_polars_typing.py | 687 | # Create a simulated write function for BytesIO | COMMENT |
| MEDIUM | tests/polars/test_polars_typing.py | 781 | # Create a mock field | COMMENT |
| MEDIUM | tests/polars/test_polars_typing.py | 881 | # Create a class that mimics the DataFrame class but with the v1 validators | COMMENT |
| MEDIUM | tests/polars/test_polars_typing.py | 904 | # Create a simple generator function like __get_validators__ | COMMENT |
| MEDIUM | tests/polars/test_polars_typing.py | 947 | # Create a mockable __orig_class__ attribute | COMMENT |
| MEDIUM | tests/pandas/test_schema_components.py | 208 | # Create a MultiIndex where 'c' appears at positions 2 and 4 | COMMENT |
| MEDIUM | tests/pandas/test_schema_components.py | 252 | # Create a MultiIndex with null values | COMMENT |
| MEDIUM | tests/pandas/test_pandas_config.py | 1 | """This module is to test the behaviour change based on defined config in pandera""" | STRING |
| MEDIUM | pandera/backends/pandas/components.py | 653 | # Create a Series with unique values as data, similar to full materialization. | COMMENT |
| MEDIUM | pandera/backends/pandas/components.py | 661 | # Create a Column schema from the Index schema, similar to full materialization | COMMENT |
| MEDIUM | pandera/backends/pandas/components.py | 824 | # Create a Series with level values as data, indexed by the full MultiIndex | COMMENT |
| MEDIUM | pandera/backends/pandas/components.py | 925 | # Create a DataFrame with duplicate index values | COMMENT |
| MEDIUM | pandera/typing/ibis.py | 78 | # Define a helper function to handle format-specific reading with error handling | COMMENT |
| MEDIUM | pandera/typing/polars.py | 87 | # Define a helper function to handle format-specific reading with error handling | COMMENT |
| MEDIUM | pandera/api/pyspark/container.py | 187 | # Create a base dataframe from where we access underlying Java classes | COMMENT |
| MEDIUM | pandera/api/polars/model.py | 214 | # Define a mapping from Polars data types to JSON schema types | COMMENT |
| MEDIUM | scripts/generate_pip_deps_from_conda.py | 107 | f"# This file is auto-generated from {fname}, do not modify.\n" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | noxfile.py | 292 | CODE | |
| LOW | tests/geopandas/test_from_to_format_conversions.py | 200 | CODE | |
| LOW | tests/pyspark/test_pyspark_check.py | 189 | CODE | |
| LOW | tests/pyspark/test_pyspark_check.py | 231 | CODE | |
| LOW | tests/cli/conftest.py | 53 | CODE | |
| LOW | tests/cli/test_cli_combos.py | 81 | CODE | |
| LOW | tests/common/test_builtin_checks.py | 23 | CODE | |
| LOW | tests/mypy/test_pandas_static_type_checking.py | 208 | CODE | |
| LOW | tests/modin/test_schemas_on_modin.py | 242 | CODE | |
| LOW | tests/pandas/test_pandas_engine.py | 263 | CODE | |
| LOW | tests/pandas/test_from_to_format_conversions.py | 214 | CODE | |
| LOW | tests/pandas/test_schemas.py | 1648 | CODE | |
| LOW | tests/pandas/test_schemas.py | 2075 | CODE | |
| LOW | tests/pandas/test_dtypes.py | 235 | CODE | |
| LOW | docs/source/conf.py | 310 | CODE | |
| LOW | pandera/decorators.py | 158 | CODE | |
| LOW | pandera/decorators.py | 462 | CODE | |
| LOW | pandera/decorators.py | 583 | CODE | |
| LOW | pandera/decorators.py | 226 | CODE | |
| LOW | pandera/decorators.py | 508 | CODE | |
| LOW | pandera/decorators.py | 837 | CODE | |
| LOW | pandera/decorators.py | 228 | CODE | |
| LOW | pandera/decorators.py | 510 | CODE | |
| LOW | pandera/schema_statistics/pandas.py | 201 | CODE | |
| LOW | pandera/schema_statistics/polars.py | 154 | CODE | |
| LOW | pandera/schema_statistics/common.py | 100 | CODE | |
| LOW | pandera/schema_statistics/xarray.py | 113 | CODE | |
| LOW | pandera/schema_statistics/xarray.py | 199 | CODE | |
| LOW | pandera/schema_statistics/xarray.py | 303 | CODE | |
| LOW | pandera/schema_statistics/pyspark.py | 15 | CODE | |
| LOW | pandera/strategies/xarray_strategies.py | 418 | CODE | |
| LOW | pandera/strategies/xarray_strategies.py | 514 | CODE | |
| LOW | pandera/strategies/xarray_strategies.py | 555 | CODE | |
| LOW | pandera/strategies/tensordict_strategies.py | 58 | CODE | |
| LOW | pandera/backends/pyspark/container.py | 419 | CODE | |
| LOW | pandera/backends/narwhals/checks.py | 297 | CODE | |
| LOW | pandera/backends/narwhals/checks.py | 371 | CODE | |
| LOW | pandera/backends/narwhals/container.py | 124 | CODE | |
| LOW | pandera/backends/narwhals/container.py | 985 | CODE | |
| LOW | pandera/backends/narwhals/container.py | 1033 | CODE | |
| LOW | pandera/backends/narwhals/container.py | 1096 | CODE | |
| LOW | pandera/backends/narwhals/base.py | 89 | CODE | |
| LOW | pandera/backends/narwhals/base.py | 343 | CODE | |
| LOW | pandera/backends/narwhals/base.py | 441 | CODE | |
| LOW | pandera/backends/ibis/checks.py | 59 | CODE | |
| LOW | pandera/backends/ibis/checks.py | 182 | CODE | |
| LOW | pandera/backends/ibis/container.py | 293 | CODE | |
| LOW | pandera/backends/ibis/container.py | 366 | CODE | |
| LOW | pandera/backends/ibis/components.py | 35 | CODE | |
| LOW | pandera/backends/ibis/components.py | 58 | CODE | |
| LOW | pandera/backends/ibis/base.py | 31 | CODE | |
| LOW | pandera/backends/tensordict/base.py | 211 | CODE | |
| LOW | pandera/backends/tensordict/base.py | 245 | CODE | |
| LOW | pandera/backends/polars/container.py | 543 | CODE | |
| LOW | pandera/backends/xarray/data_tree.py | 113 | CODE | |
| LOW | pandera/backends/xarray/register.py | 24 | CODE | |
| LOW | pandera/backends/xarray/container.py | 187 | CODE | |
| LOW | pandera/backends/xarray/container.py | 503 | CODE | |
| LOW | pandera/backends/xarray/container.py | 1009 | CODE | |
| LOW | pandera/backends/xarray/container.py | 1303 | CODE | |
| 52 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | specs/pluggable-data-synthesis.md | 378 | except Exception: # broken third-party backend | CODE |
| LOW | specs/pluggable-data-synthesis.md | 534 | except Exception: | CODE |
| LOW | tests/pyspark/test_pyspark_container.py | 622 | except Exception as e: | CODE |
| LOW | tests/pyspark/test_pyspark_container.py | 646 | except Exception as e: | CODE |
| LOW | tests/pyspark/test_pyspark_container.py | 672 | except Exception as e: | CODE |
| LOW | tests/pyspark/test_pyspark_container.py | 694 | except Exception as e: | CODE |
| LOW | tests/pyspark/test_pyspark_narwhals_register.py | 127 | except Exception: | CODE |
| LOW | tests/pyspark/test_pyspark_coerce_warning.py | 70 | except Exception: | CODE |
| LOW | tests/fastapi/test_app.py | 47 | except Exception: # pylint: disable=broad-except | CODE |
| LOW⚡ | tests/polars/test_polars_coerce_warning.py | 47 | except Exception: | CODE |
| LOW⚡ | tests/polars/test_polars_coerce_warning.py | 66 | except Exception: | CODE |
| LOW | tests/polars/test_polars_typing.py | 361 | except Exception as exc: | CODE |
| LOW | tests/polars/test_polars_typing.py | 422 | except Exception as exc: | CODE |
| LOW | tests/polars/test_polars_typing.py | 501 | except Exception as exc: | CODE |
| LOW | tests/polars/test_polars_typing.py | 528 | except Exception as exc: | CODE |
| LOW | tests/polars/test_polars_typing.py | 556 | except Exception as exc: | CODE |
| LOW | docs/source/data_synthesis_strategies.md | 188 | except Exception as e: | CODE |
| LOW | docs/source/conf.py | 137 | except Exception: | CODE |
| MEDIUM | docs/source/pytorch_guide/error_reporting.md | 31 | print(f"Error: {exc}") | CODE |
| LOW | pandera/backends/pyspark/container.py | 230 | except Exception as err: | CODE |
| LOW | pandera/backends/pyspark/column.py | 239 | except Exception as err: | CODE |
| LOW | pandera/backends/narwhals/container.py | 366 | except Exception as err: | CODE |
| LOW | pandera/backends/narwhals/container.py | 705 | except Exception: # noqa: BLE001 — narwhals raises ValueError | CODE |
| LOW | pandera/backends/narwhals/container.py | 1116 | except Exception: | CODE |
| LOW | pandera/backends/narwhals/components.py | 471 | except Exception as err: | CODE |
| LOW | pandera/backends/ibis/container.py | 151 | except Exception as err: | CODE |
| LOW | pandera/backends/ibis/components.py | 214 | except Exception as err: | CODE |
| LOW | pandera/backends/tensordict/checks.py | 49 | except Exception as exc: | CODE |
| LOW | pandera/backends/tensordict/base.py | 132 | except Exception as exc: | CODE |
| LOW | pandera/backends/tensordict/base.py | 363 | except Exception as exc: | CODE |
| LOW | pandera/backends/polars/container.py | 197 | except Exception as err: | CODE |
| LOW | pandera/backends/polars/components.py | 409 | except Exception as err: | CODE |
| LOW | pandera/backends/xarray/base.py | 159 | except Exception as err: | CODE |
| LOW | pandera/backends/pandas/container.py | 345 | except Exception as err: | CODE |
| MEDIUM | pandera/backends/pandas/components.py | 76 | def validate_column(check_obj, column_name, return_check_obj=False): | CODE |
| LOW | pandera/backends/pandas/components.py | 274 | except Exception as err: | CODE |
| LOW | pandera/backends/pandas/components.py | 1062 | except Exception: | CODE |
| LOW | pandera/backends/pandas/array.py | 252 | except Exception as exc: | CODE |
| LOW | pandera/backends/pandas/array.py | 261 | except Exception: | CODE |
| LOW | pandera/backends/pandas/array.py | 426 | except Exception: | CODE |
| LOW | pandera/backends/pandas/array.py | 451 | except Exception: | CODE |
| LOW | pandera/backends/pandas/array.py | 507 | except Exception as err: | CODE |
| LOW | pandera/backends/pandas/base.py | 236 | except Exception: | CODE |
| LOW | pandera/io/common_io.py | 126 | except Exception as e: | CODE |
| LOW | pandera/io/tensordict_io.py | 294 | except Exception: | CODE |
| LOW | pandera/typing/pyarrow.py | 50 | except Exception as exc: | CODE |
| LOW | pandera/typing/pyarrow.py | 94 | except Exception as exc: | CODE |
| LOW | pandera/typing/ibis.py | 55 | except Exception as exc: | CODE |
| LOW | pandera/typing/ibis.py | 94 | except Exception as exc: | CODE |
| LOW | pandera/typing/pandas.py | 221 | except Exception as exc: | CODE |
| LOW | pandera/typing/polars.py | 64 | except Exception as exc: | CODE |
| LOW | pandera/typing/polars.py | 103 | except Exception as exc: | CODE |
| LOW | pandera/typing/polars.py | 229 | except Exception as exc: # pragma: no cover | CODE |
| LOW | pandera/typing/common.py | 116 | except Exception: | CODE |
| LOW | pandera/typing/geopandas.py | 145 | except Exception as exc: | CODE |
| LOW | pandera/engines/pandas_engine.py | 180 | except Exception as exc: | CODE |
| LOW | pandera/engines/tensordict_engine.py | 60 | except Exception as exc: | CODE |
| LOW | pandera/engines/numpy_engine.py | 107 | except Exception as exc: | CODE |
| LOW | pandera/engines/utils.py | 34 | except Exception: | CODE |
| MEDIUM | pandera/engines/utils.py | 30 | def _coercible(x): | CODE |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pandera/errors.py | 94 | CODE | |
| LOW | pandera/decorators.py | 570 | CODE | |
| LOW | pandera/decorators.py | 583 | CODE | |
| LOW | pandera/strategies/xarray_strategies.py | 349 | CODE | |
| LOW | pandera/strategies/pandas_strategies.py | 1550 | CODE | |
| LOW | pandera/io/tensordict_io.py | 70 | CODE | |
| LOW | pandera/api/checks.py | 21 | CODE | |
| LOW | pandera/api/hypotheses.py | 20 | CODE | |
| LOW | pandera/api/dataframe/container.py | 46 | CODE | |
| LOW | pandera/api/dataframe/model_components.py | 128 | CODE | |
| LOW | pandera/api/dataframe/components.py | 26 | CODE | |
| LOW | pandera/api/pyspark/model_components.py | 18 | CODE | |
| LOW | pandera/api/pyspark/column_schema.py | 22 | CODE | |
| LOW | pandera/api/pyspark/components.py | 23 | CODE | |
| LOW | pandera/api/ibis/components.py | 21 | CODE | |
| LOW | pandera/api/tensordict/container.py | 23 | CODE | |
| LOW | pandera/api/tensordict/model_components.py | 75 | CODE | |
| LOW | pandera/api/tensordict/model_components.py | 18 | CODE | |
| LOW | pandera/api/polars/components.py | 24 | CODE | |
| LOW | pandera/api/xarray/container.py | 49 | CODE | |
| LOW | pandera/api/xarray/container.py | 283 | CODE | |
| LOW | pandera/api/xarray/container.py | 399 | CODE | |
| LOW | pandera/api/xarray/model_components.py | 95 | CODE | |
| LOW | pandera/api/xarray/model_components.py | 19 | CODE | |
| LOW | pandera/api/xarray/components.py | 50 | CODE | |
| LOW | pandera/api/xarray/components.py | 153 | CODE | |
| LOW | pandera/api/base/model_components.py | 57 | CODE | |
| LOW | pandera/api/base/schema.py | 27 | CODE | |
| LOW | pandera/api/pandas/container.py | 27 | CODE | |
| LOW | pandera/api/pandas/components.py | 23 | CODE | |
| LOW | pandera/api/pandas/array.py | 113 | CODE | |
| LOW | pandera/api/pyarrow/components.py | 24 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pandera/pyarrow.py | 19 | __all__ = [ | CODE |
| LOW | pandera/ibis.py | 19 | __all__ = [ | CODE |
| LOW | pandera/pandas.py | 95 | __all__ = [ | CODE |
| LOW | pandera/mypy.py | 203 | def set_field_type_to_str(self) -> None: | CODE |
| LOW | pandera/polars.py | 21 | __all__ = [ | CODE |
| LOW | pandera/geopandas.py | 79 | __all__ = [ | CODE |
| LOW | pandera/validation_depth.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | pandera/_pandas_deprecated.py | 162 | __all__ = [ | CODE |
| LOW | pandera/tensordict.py | 22 | __all__ = [ | CODE |
| LOW | pandera/xarray.py | 35 | __all__ = [ | CODE |
| LOW | pandera/pyspark.py | 59 | __all__ = [ | CODE |
| LOW | pandera/strategies/pandas_constraints.py | 114 | __all__ = [ | CODE |
| LOW | pandera/strategies/constraints.py | 361 | __all__ = [ | CODE |
| LOW | pandera/accessors/pyspark_sql_accessor.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | pandera/backends/pyspark/decorators.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | pandera/typing/__init__.py | 122 | __all__ = [ | CODE |
| LOW | pandera/typing/xarray.py | 50 | __all__ = [ | CODE |
| LOW | pandera/engines/pandas_engine.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | pandera/engines/polars_engine.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | pandera/_cli/generate.py | 15 | __all__ = ["GenerateDataFormat", "generate"] | CODE |
| LOW | pandera/_cli/__init__.py | 11 | __all__ = ["app", "run"] | CODE |
| LOW | pandera/_cli/validate.py | 22 | __all__ = ["validate"] | CODE |
| LOW | pandera/_cli/infer.py | 14 | __all__ = ["InferFormat", "ScriptType", "infer"] | CODE |
| LOW | pandera/api/geopandas/__init__.py | 6 | __all__ = ["GeoDataFrameModel", "GeoDataFrameSchema"] | CODE |
| LOW | pandera/api/ibis/components.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | pandera/api/tensordict/__init__.py | 12 | __all__ = [ | CODE |
| LOW | pandera/api/polars/components.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | pandera/api/xarray/__init__.py | 27 | __all__ = [ | CODE |
| LOW | pandera/api/xarray/model.py | 733 | __all__ = [ | CODE |
| LOW | pandera/api/pyarrow/components.py | 18 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | pandera/typing/ibis.py | 80 | Helper to handle format-specific reading with standardized error handling. Args: | STRING |
| HIGH | pandera/typing/polars.py | 89 | Helper to handle format-specific reading with standardized error handling. Args: | STRING |
| HIGH | pandera/typing/polars.py | 206 | Helper to write DataFrame to a buffer with standardized error handling. Args: | STRING |
| HIGH | pandera/api/dataframe/container.py | 591 | Create copy of a :class:`~pandera.api.dataframe.container.DataFrameSchema` with updated column properti | STRING |
| HIGH | pandera/api/dataframe/container.py | 840 | Create copy of a :class:`~pandera.api.dataframe.container.DataFrameSchema` with updated index propertie | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/pyspark/test_pyspark_container.py | 635 | # Read the file using automatic schema inference, getting a schema different | COMMENT |
| LOW | tests/pandas/test_schemas.py | 1473 | # Check if new column names are indeed present in the new schema | COMMENT |
| LOW | tests/pandas/test_schemas.py | 1477 | # Check if original schema didn't change in the process | COMMENT |
| LOW | pandera/decorators.py | 758 | # Check if the arg value matches any of the children | COMMENT |
| LOW | pandera/strategies/pandas_strategies.py | 418 | # Check if it's a STRING type (any storage) | COMMENT |
| LOW | pandera/strategies/pandas_strategies.py | 421 | # Check if it's NpString | COMMENT |
| LOW | pandera/backends/pyspark/container.py | 511 | # Check if values belong to the dataframe columns | COMMENT |
| LOW | pandera/backends/pyspark/decorators.py | 60 | # Check if this is a PySpark SQL DataFrame or pyspark.pandas DataFrame | COMMENT |
| LOW | pandera/backends/pyspark/decorators.py | 137 | # Check if decorated function has a dataframe object as an positional arg | COMMENT |
| LOW | pandera/backends/tensordict/base.py | 214 | # Check if key exists - use different methods for TensorDict vs tensorclass | COMMENT |
| LOW⚡ | pandera/backends/pandas/components.py | 627 | # Check if the check result is determined by unique values | COMMENT |
| LOW | pandera/backends/pandas/components.py | 559 | # Check if we can optimize validation for this level. We skip optimization | COMMENT |
| LOW | pandera/api/tensordict/container.py | 90 | # Check if it's a valid TensorDict/tensorclass object | COMMENT |
| LOW | pandera/api/tensordict/model.py | 302 | # Check if it's a TensorDictFieldInfo instance | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | specs/optimized-strategies.md | 461 | pandera_dtype, st.sampled_from(sorted(allowed)), | COMMENT |
| LOW | pandera/backends/pyspark/column.py | 221 | self.run_check( | COMMENT |
| LOW | pandera/backends/narwhals/checks.py | 321 | "(Ibis, DuckDB, PySpark) because row-level Python functions " | COMMENT |
| LOW | pandera/backends/narwhals/container.py | 101 | """ | COMMENT |
| LOW | pandera/backends/narwhals/container.py | 141 | COMMENT | |
| LOW | pandera/api/dataframe/model_config.py | 61 | #: data format before validation. This option only applies to | COMMENT |
| LOW | pandera/api/pyspark/model_config.py | 41 | #: ``pa.typing.DataFrame[Schema](data)``. If None, assumes a data structure | COMMENT |
| LOW | scripts/ci/derive_test_flags.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .github/filters.yaml | 1 | # Named path filters consumed by dorny/paths-filter in the `changes` job of | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pandera/backends/pyspark/container.py | 270 | # NOTE: remove this since we can just use | COMMENT |
| MEDIUM | pandera/api/polars/model.py | 215 | # This is more robust than string parsing | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …cs/source/pytorch_guide/tensordict_schema_inference.md | 81 | # Step 1: Infer from sample data (batch_size=32) | COMMENT |
| LOW | …cs/source/pytorch_guide/tensordict_schema_inference.md | 88 | # Step 2: Refine the inferred schema for your needs | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/ci/derive_test_flags.sh | 5 | # Usage: | COMMENT |