AI Slop Code RIsk Monitor

PriorLabs/TabPFN

⚡ TabPFN: Foundation Model for Tabular Data ⚡

25.7 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for PriorLabs/TabPFN, a Python project with 8,153 GitHub stars. SynthScan examined 106,244 lines of code across 274 source files, recording 2173 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 25.7 (Elevated 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.

25.7
Adjusted Signal
25.7
Raw Pattern Score
100%
Time Factor
2026-10-08
Last Push
8.2K
Stars
Python
Language
106.2K
Lines of Code
274
Files
2.2K
Pattern Hits
2026-10-12
Scan Date
0.29
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 52.2/100 · HIGH

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

Hallucinated Dependency & Supply Chain Risk 12.6/100 · LOW

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

Agent Over-Engineering Ratio 64.9/100 · HIGH

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

PR Review Velocity Impact 74.9/100 · HIGH

Which changes need focused human review? 2173 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 79MEDIUM 185LOW 1909

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 2173 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.

Hyper-Verbose Identifiers1499 hits · 1342 pts
SeverityFileLineSnippetContext
LOWtests/test_inference.py114 def reset_save_peak_mem_factor(self, factor: int | None = None) -> None:CODE
LOWtests/test_inference.py161 def reset_save_peak_mem_factor(self, factor: int | None = None) -> None:CODE
LOWtests/test_inference.py234 def reset_save_peak_mem_factor(self, factor: int | None = None) -> None:CODE
LOWtests/test_inference.py266def test__cache_preprocessing__result_equal_in_serial_and_in_parallel() -> None:CODE
LOWtests/test_inference.py319def test__cache_preprocessing__with_outlier_removal() -> None:CODE
LOWtests/test_inference.py373def test__on_demand__result_equal_in_serial_and_in_parallel() -> None:CODE
LOWtests/test_inference.py436def test__iter_outputs__task_type_forwarded(CODE
LOWtests/test_inference.py480def _create_test_ensemble_configs(CODE
LOWtests/test_inference.py529def test__explicit_kv_cache__produces_outputs() -> None:CODE
LOWtests/test_inference.py582def test__explicit_kv_cache__drops_member_train_features_after_build() -> None:CODE
LOWtests/test_inference.py634def test__explicit_kv_cache__task_type_forwarded_to_cache_build(CODE
LOWtests/test_inference.py682def test__explicit_kv_cache__keep_on_device_reuses_tensors(device: str) -> None:CODE
LOWtests/test_inference.py756def test__public_keep_cache_on_device__controls_cache_placement(CODE
LOWtests/test_inference.py818def test__init__mps_target_device__applies_mps_linear_bug_workaround(CODE
LOWtests/test_inference.py875def test__to__mps_target_device__applies_mps_linear_bug_workaround(CODE
LOWtests/test_inference.py928def test__kv_cache_chunking__matches_unchunked(CODE
LOWtests/test_inference.py998def test__kv_cache__embeddings_test_only_and_chunk_safe(CODE
LOWtests/test_inference.py1044 def get_supported_kv_cache_precisions(self) -> tuple[str, ...]:CODE
LOWtests/test_inference.py1062def test__explicit_kv_cache__precision__reaches_the_cache_build(CODE
LOWtests/test_inference.py1102def test__resolve_kv_cache_precision__warns_when_unsupported() -> None:CODE
LOWtests/test_consistency.py51def _get_tiny_classification_data() -> tuple[np.ndarray, np.ndarray, np.ndarray]:CODE
LOWtests/test_consistency.py68def _get_tiny_regression_data() -> tuple[np.ndarray, np.ndarray, np.ndarray]:CODE
LOWtests/test_consistency.py84def _get_iris_multiclass_data() -> tuple[np.ndarray, np.ndarray, np.ndarray]:CODE
LOWtests/test_consistency.py245def _get_current_platform_string() -> str:CODE
LOWtests/test_consistency.py271def test__fit_predict__predictions_match_reference(CODE
LOWtests/test_consistency.py314def _load_reference_predictions_or_fail(test_name: str) -> np.ndarray:CODE
LOWtests/test_consistency.py324def save_reference_predictions() -> None:CODE
LOWtests/test_utils.py48def test__infer_devices__auto__cuda_and_mps_not_available__selects_cpu(CODE
LOWtests/test_utils.py57def test__infer_devices__auto__single_cuda_gpu_available__selects_it(CODE
LOWtests/test_utils.py68def test__infer_devices__auto__multiple_cuda_gpus_available__selects_all(CODE
LOWtests/test_utils.py84def test__infer_devices__auto__cuda_and_mps_available_but_excluded__selects_cpu(CODE
LOWtests/test_utils.py95def test__infer_devices__auto__mps_available_but_torch_too_old__selects_cpu(CODE
LOWtests/test_utils.py104def test__infer_devices__device_specified__selects_it(CODE
LOWtests/test_utils.py115def test__infer_devices__multiple_devices_specified___selects_them(CODE
LOWtests/test_utils.py128def test__infer_devices__device_specified_twice__raises() -> None:CODE
LOWtests/test_utils.py136def test__infer_devices__mps_specified_but_torch_too_old__raises(CODE
LOWtests/test_utils.py226def test_balance_probas_by_class_counts():CODE
LOWtests/test_utils.py242def test__translate_probs_across_borders__matches_unchunked(batch: int) -> None:CODE
LOWtests/test_utils.py263def test__translate_probs_across_borders__forces_chunking(CODE
LOWtests/test_utils.py307def test__translate_probs_across_borders__small_buckets_survive(CODE
LOWtests/test_utils.py332def test__translate_probs_across_borders__identity_remap_is_the_identity(CODE
LOWtests/test_utils.py351def test__translate_probs_across_borders__identity_remap_costs_nothing(CODE
LOWtests/test_utils.py380def test__translate_probs_across_borders__outer_buckets_are_half_normal_tails() -> None:CODE
LOWtests/test_utils.py420def test__translate_probs_across_borders__tails_leave_interior_buckets_untouched() -> (CODE
LOWtests/test_utils.py442def test__translate_probs_across_borders__fills_buckets_outside_source_range() -> None:CODE
LOWtests/test_utils.py483def test__translate_probs_across_borders__upper_tail_mirrors_lower_tail() -> None:CODE
LOWtests/test_utils.py520def test__translate_probs_across_borders__upper_tail_matches_analytic() -> None:CODE
LOWtests/test_utils.py552def test__translate_probs_across_borders__interior_is_mirror_symmetric() -> None:CODE
LOWtests/test_utils.py584def test__translate_probs_across_borders__to_inside_one_source_tail_sums_to_one(CODE
LOWtests/test_utils.py605def test__translate_probs_across_borders__device_matches_cpu(CODE
LOWtests/test_utils.py638def test__translate_probs_across_borders__cuda_is_bitwise_reproducible() -> None:CODE
LOWtests/test_utils.py667def test__translate_probs_across_borders__zero_width_source_bucket_keeps_its_mass() -> (CODE
LOWtests/test_utils.py694def test__translate_probs_across_borders__degenerate_outer_bucket_is_finite() -> None:CODE
LOWtests/test_utils.py747def test__infer_autocast_inference_mode__cpu(CODE
LOWtests/test_utils.py779def test__repair_borders__collapsed_top_gap__widens_upwards(borders, expected_last):CODE
LOWtests/test_utils.py794def test__repair_borders__nan_top__widens_upwards(borders, expected_last):CODE
LOWtests/test_estimators.py43def _batched_cache_moved_onto_mps(fit_mode: str, device_1: str, device_2: str) -> bool:CODE
LOWtests/test_estimators.py53def test__to__before_fit__does_not_crash(CODE
LOWtests/test_estimators.py71def test__to__between_fit_and_predict__does_not_crash(CODE
LOWtests/test_estimators.py93def test__to__between_fits__outputs_equal(CODE
1439 more matches not shown…
Decorative Section Separators150 hits · 519 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/test_inference_config.py213# =============================================================================COMMENT
MEDIUM⚡tests/test_inference_config.py215# =============================================================================COMMENT
MEDIUM⚡tests/test_inference_config.py520# =============================================================================COMMENT
MEDIUM⚡tests/test_inference_config.py522# =============================================================================COMMENT
MEDIUM⚡tests/test_inference_config.py637# =============================================================================COMMENT
MEDIUM⚡tests/test_inference_config.py639# =============================================================================COMMENT
MEDIUM⚡tests/test_finetuning_logging.py15# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_finetuning_logging.py17# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_browser_auth.py56# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_browser_auth.py58# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_browser_auth.py108# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_browser_auth.py110# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_browser_auth.py131# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_browser_auth.py133# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_browser_auth.py591# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_browser_auth.py593# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_browser_auth.py26# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_browser_auth.py28# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_browser_auth.py235# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_browser_auth.py237# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_browser_auth.py358# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_browser_auth.py360# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_browser_auth.py405# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_browser_auth.py407# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_regressor_interface.py1116# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_regressor_interface.py1118# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_regressor_interface.py1322# =============================================================================COMMENT
MEDIUMtests/test_regressor_interface.py1324# =============================================================================COMMENT
MEDIUM⚡tests/test_finetuning_classifier.py544# =============================================================================COMMENT
MEDIUM⚡tests/test_finetuning_classifier.py546# =============================================================================COMMENT
MEDIUM⚡tests/test_finetuning_classifier.py997# =============================================================================COMMENT
MEDIUM⚡tests/test_finetuning_classifier.py999# =============================================================================COMMENT
MEDIUM⚡tests/test_finetuning_classifier.py1374# =============================================================================COMMENT
MEDIUM⚡tests/test_finetuning_classifier.py1376# =============================================================================COMMENT
MEDIUMtests/test_finetuning_classifier.py124# =============================================================================COMMENT
MEDIUMtests/test_finetuning_classifier.py126# =============================================================================COMMENT
MEDIUM⚡tests/test_classifier_interface.py1492# =============================================================================COMMENT
MEDIUM⚡tests/test_classifier_interface.py1494# =============================================================================COMMENT
MEDIUM…preprocessing/test_encode_categorical_features_step.py556# ---------------------------------------------------------------------------COMMENT
MEDIUM…preprocessing/test_encode_categorical_features_step.py558# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_preprocessing/test_preprocessing_steps.py582# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_preprocessing/test_preprocessing_steps.py584# ---------------------------------------------------------------------------COMMENT
MEDIUM…ch_preprocessing/test_gpu_preprocessing_consistency.py39# ---------------------------------------------------------------------------COMMENT
MEDIUM…ch_preprocessing/test_gpu_preprocessing_consistency.py41# ---------------------------------------------------------------------------COMMENT
MEDIUM…ch_preprocessing/test_gpu_preprocessing_consistency.py231# ---------------------------------------------------------------------------COMMENT
MEDIUM…ch_preprocessing/test_gpu_preprocessing_consistency.py233# ---------------------------------------------------------------------------COMMENT
MEDIUM…ch_preprocessing/test_gpu_preprocessing_consistency.py258# ---------------------------------------------------------------------------COMMENT
MEDIUM…ch_preprocessing/test_gpu_preprocessing_consistency.py260# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_architectures/test_mlx_backend.py171# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_architectures/test_mlx_backend.py173# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_architectures/test_mlx_backend.py244# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_architectures/test_mlx_backend.py246# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_architectures/test_tabpfn_v3_5.py205# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_architectures/test_tabpfn_v3_5.py207# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_architectures/test_tabpfn_v3_5.py400# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_architectures/test_tabpfn_v3_5.py402# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_architectures/test_tabpfn_v3_5.py661# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_architectures/test_tabpfn_v3_5.py663# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_architectures/test_tabpfn_v3_5.py850# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_architectures/test_tabpfn_v3_5.py852# ---------------------------------------------------------------------------COMMENT
90 more matches not shown…
Cross-File Repetition60 hits · 300 pts
SeverityFileLineSnippetContext
HIGH…torch_preprocessing/test_torch_quantile_transformer.py0test with 3d tensor (t, b, h) shape commonly used in tabpfn.STRING
HIGH…t_torch_preprocessing/test_torch_soft_clip_outliers.py0test with 3d tensor (t, b, h) shape commonly used in tabpfn.STRING
HIGH…test_torch_preprocessing/test_torch_standard_scaler.py0test with 3d tensor (t, b, h) shape commonly used in tabpfn.STRING
HIGHtests/test_architectures/test_tabpfn_v2.py0kv-cache inference must match the standard (full train+test) forward.STRING
HIGHtests/test_architectures/test_tabpfn_v2_6.py0kv-cache inference must match the standard (full train+test) forward.STRING
HIGHtests/test_architectures/test_tabpfn_v2_5.py0kv-cache inference must match the standard (full train+test) forward.STRING
HIGHtests/test_architectures/test_tabpfn_v2.py0the cache path also returns matching embeddings dicts.STRING
HIGHtests/test_architectures/test_tabpfn_v2_6.py0the cache path also returns matching embeddings dicts.STRING
HIGHtests/test_architectures/test_tabpfn_v2_5.py0the cache path also returns matching embeddings dicts.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0number of key/value heads to use for per-column-inter-row attention.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0number of key/value heads to use for per-column-inter-row attention.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0number of key/value heads to use for per-column-inter-row attention.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0if > 1, the features will be grouped into groups of this size and the attention is across groups.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0if > 1, the features will be grouped into groups of this size and the attention is across groups.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0if > 1, the features will be grouped into groups of this size and the attention is across groups.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0base class for the between-features and between-rows attention layers.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0base class for the between-features and between-rows attention layers.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0base class for the between-features and between-rows attention layers.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0construct a new instance. args: embedding_size: the size of the input embedding. num_heads: the number of heads to use. STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0construct a new instance. args: embedding_size: the size of the input embedding. num_heads: the number of heads to use. STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0construct a new instance. args: embedding_size: the size of the input embedding. num_heads: the number of heads to use. STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0computes the attention between features of a single row. this is standard multi-head self-attention, where all features STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0computes the attention between features of a single row. this is standard multi-head self-attention, where all features STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0computes the attention between features of a single row. this is standard multi-head self-attention, where all features STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0forward pass for along-row attention between features. args: x_brse: the input tensor of shape (br, c, e), where: - br: STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0forward pass for along-row attention between features. args: x_brse: the input tensor of shape (br, c, e), where: - br: STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0forward pass for along-row attention between features. args: x_brse: the input tensor of shape (br, c, e), where: - br: STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0computes the attention between cells of a single column. this is multi-head attention featuring: - an implicit mask: theSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0computes the attention between cells of a single column. this is multi-head attention featuring: - an implicit mask: theSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0computes the attention between cells of a single column. this is multi-head attention featuring: - an implicit mask: theSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0forward pass for attention between cells of a single column. args: x_bcre: the input tensor of shape (bc, r, e), where: STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0forward pass for attention between cells of a single column. args: x_bcre: the input tensor of shape (bc, r, e), where: STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0forward pass for attention between cells of a single column. args: x_bcre: the input tensor of shape (bc, r, e), where: STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0layernorm that maintains fp16 precision in autocast mode. pytorch autocast runs layernorm in fp32, which has bad effectsSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0layernorm that maintains fp16 precision in autocast mode. pytorch autocast runs layernorm in fp32, which has bad effectsSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0layernorm that maintains fp16 precision in autocast mode. pytorch autocast runs layernorm in fp32, which has bad effectsSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0a block of one column-wise, one row-wise attention layer and an mlp layer.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0a block of one column-wise, one row-wise attention layer and an mlp layer.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0a block of one column-wise, one row-wise attention layer and an mlp layer.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0tabpfnblock constructor. args: emsize: the input embedding size. nhead: the number of query attention heads to use. dim_STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0tabpfnblock constructor. args: emsize: the input embedding size. nhead: the number of query attention heads to use. dim_STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0tabpfnblock constructor. args: emsize: the input embedding size. nhead: the number of query attention heads to use. dim_STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0compute one column-wise, one row-wise attention, and an mlp layer. uses post-norm. b: batch size r: number of rows / iteSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0compute one column-wise, one row-wise attention, and an mlp layer. uses post-norm. b: batch size r: number of rows / iteSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0compute one column-wise, one row-wise attention, and an mlp layer. uses post-norm. b: batch size r: number of rows / iteSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0move all cached tensors to the given device. returns a new cache.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0move all cached tensors to the given device. returns a new cache.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0move all cached tensors to the given device. returns a new cache.STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0perform a forward pass. see modelinterface.forward() for the full docstring of the shared arguments. in addition to thosSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0perform a forward pass. see modelinterface.forward() for the full docstring of the shared arguments. in addition to thosSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0perform a forward pass. see modelinterface.forward() for the full docstring of the shared arguments. in addition to thosSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0parse the config dict into a tabpfnv2config, return unused keys. args: config: config dict to parse. this function shoulSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0parse the config dict into a tabpfnv2config, return unused keys. args: config: config dict to parse. this function shoulSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0parse the config dict into a tabpfnv2config, return unused keys. args: config: config dict to parse. this function shoulSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py0construct tabpfnv2 based on the given config. this factory method implements the interface defined in tabpfn.architecturSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py0construct tabpfnv2 based on the given config. this factory method implements the interface defined in tabpfn.architecturSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py0construct tabpfnv2 based on the given config. this factory method implements the interface defined in tabpfn.architecturSTRING
HIGHsrc/tabpfn/finetuning/finetuned_regressor.py0fine-tune the tabpfn model on the provided training data. args: x: the training input samples of shape (n_samples, n_feaSTRING
HIGHsrc/tabpfn/finetuning/finetuned_base.py0fine-tune the tabpfn model on the provided training data. args: x: the training input samples of shape (n_samples, n_feaSTRING
HIGHsrc/tabpfn/finetuning/finetuned_classifier.py0fine-tune the tabpfn model on the provided training data. args: x: the training input samples of shape (n_samples, n_feaSTRING
Unused Imports301 hits · 266 pts
SeverityFileLineSnippetContext
LOWtests/test_debug_versions.py3CODE
LOWtests/test_inference.py5CODE
LOWtests/test_consistency.py26CODE
LOWtests/test_utils.py3CODE
LOWtests/test_estimators.py5CODE
LOWtests/conftest.py5CODE
LOWtests/test_notebook_installs.py16CODE
LOWtests/quick_test.py9CODE
LOWtests/test_validation.py5CODE
LOWtests/test_batched_members.py4CODE
LOWtests/test_save_load_fitted_model.py5CODE
LOWtests/test_errors.py5CODE
LOWtests/test_inference_config.py5CODE
LOWtests/test_downsample_correction.py4CODE
LOWtests/test_batched_prediction_data_util.py3CODE
LOWtests/test_visualisation.py3CODE
LOWtests/test_parallel_execute.py5CODE
LOWtests/test_finetuning_regressor.py13CODE
LOWtests/test_input_immutability.py23CODE
LOWtests/test_finetuning_logging.py5CODE
LOWtests/test_ft_utils.py3CODE
LOWtests/utils.py3CODE
LOWtests/test_config.py3CODE
LOWtests/test_model_loading.py3CODE
LOWtests/test_browser_auth.py5CODE
LOWtests/test_batched_prediction_shape_safety.py3CODE
LOWtests/test_regression_metrics.py3CODE
LOWtests/test_regressor_interface.py3CODE
LOWtests/test_model_cache.py5CODE
LOWtests/test_download_fallbacks.py3CODE
LOWtests/test_inference_tuning.py3CODE
LOWtests/test_model_specs.py5CODE
LOWtests/test_finetuning_classifier.py12CODE
LOWtests/test_checkpoint.py3CODE
LOWtests/test_settings.py3CODE
LOWtests/test_classifier_interface.py3CODE
LOW…st_preprocessing/test_adaptive_quantile_transformer.py3CODE
LOW…preprocessing/test_encode_categorical_features_step.py5CODE
LOW…ocessing/test_nan_handling_polynomial_features_step.py5CODE
LOWtests/test_preprocessing/test_modality_detection.py5CODE
LOWtests/test_preprocessing/test_power_transformer.py3CODE
LOWtests/test_preprocessing/test_data_cleaning.py5CODE
LOW…reprocessing/test_reshape_feature_distribution_step.py5CODE
LOWtests/test_preprocessing/test_add_svd_features_step.py5CODE
LOWtests/test_preprocessing/test_kdi_transformer.py3CODE
LOW…sts/test_preprocessing/test_feature_name_uniqueness.py13CODE
LOWtests/test_preprocessing/test_text.py5CODE
LOWtests/test_preprocessing/test_preprocessing_steps.py3CODE
LOWtests/test_preprocessing/test_label_encoder.py5CODE
LOWtests/test_preprocessing/test_ops.py5CODE
LOWtests/test_preprocessing/test_inf_handling.py13CODE
LOW…st_preprocessing/test_add_fingerprint_features_step.py5CODE
LOW…t_preprocessing/test_numeric_parsing_below_pandas_3.py17CODE
LOW…s/test_preprocessing/test_differentiable_znorm_step.py3CODE
LOWtests/test_preprocessing/test_datamodel.py5CODE
LOWtests/test_preprocessing/test_datetimes.py5CODE
LOWtests/test_preprocessing/test_ensemble.py3CODE
LOW…st_preprocessing/test_remove_constant_features_step.py5CODE
LOWtests/test_preprocessing/test_pipeline_consistency.py16CODE
LOW…ts/test_preprocessing/test_sklearn_estimator_checks.py5CODE
241 more matches not shown…
Self-Referential Comments27 hits · 84 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_model_loading.py676 # Create a fake checkpoint to simulate a successful downloadCOMMENT
MEDIUMtests/test_regressor_interface.py472 # Create a simple preprocessing pipelineCOMMENT
MEDIUMtests/test_regressor_interface.py697 # Create a CPU modelCOMMENT
MEDIUMtests/test_regressor_interface.py738 # Create a CPU modelCOMMENT
MEDIUMtests/test_regressor_interface.py786 # Create a TabPFNRegressor with fixed random state for reproducibilityCOMMENT
MEDIUMtests/test_regressor_interface.py803 # Create a new dataset with added constant featuresCOMMENT
MEDIUMtests/test_finetuning_classifier.py1655 # Initialize two classifiers with the necessary modesCOMMENT
MEDIUMtests/test_finetuning_classifier.py1825 # Create a larger dataset where columns have distinct mean valuesCOMMENT
MEDIUM⚡tests/test_classifier_interface.py931 # Create a TabPFNClassifier with fixed random state for reproducibilityCOMMENT
MEDIUM⚡tests/test_classifier_interface.py939 # Create a new dataset with added constant featuresCOMMENT
MEDIUMtests/test_classifier_interface.py506 # Create a subset of X to match the length of y_imbalancedCOMMENT
MEDIUMtests/test_classifier_interface.py696 # Create an IMBALANCED datasetCOMMENT
MEDIUMtests/test_classifier_interface.py738 # Create a simple preprocessing pipelineCOMMENT
MEDIUMtests/test_classifier_interface.py975 # Create a DataFrame with text and NA valuesCOMMENT
MEDIUMtests/test_preprocessing/test_add_svd_features_step.py239 # Create an invalid enum value by bypassing the enumCOMMENT
MEDIUMexamples/tabpfn_classifier_with_tuning.py38# Initialize a classifier with tuning and fitCOMMENT
MEDIUMexamples/tabpfn_classifier_with_tuning.py46# Initialize a classifier with tuning and fitCOMMENT
MEDIUMexamples/tabpfn_for_binary_classification.py20# Initialize a classifierCOMMENT
MEDIUMexamples/tabpfn_for_multiclass_classification.py23# Initialize a classifierCOMMENT
MEDIUMsrc/tabpfn/regressor.py1477 # Create a dictionary of outputs with proper typing via TypedDictCOMMENT
MEDIUMsrc/tabpfn/misc/_sklearn_compat.py31# The following code does not depend on the sklearn versionCOMMENT
MEDIUMsrc/tabpfn/architectures/tabpfn_v2_6.py1235 # The following class imputation is performed for backwards compatibility.COMMENT
MEDIUMsrc/tabpfn/architectures/tabpfn_v2_5.py1357 # The following class imputation is performed for backwards compatibility.COMMENT
MEDIUM…tabpfn/preprocessing/torch/torch_soft_clip_outliers.py61 # Create a clean copy with outliers masked as NaNCOMMENT
MEDIUMsrc/tabpfn/preprocessing/torch/ops.py131 # Create a mask to zero out the padding positions.COMMENT
MEDIUM…reprocessing/steps/encode_categorical_features_step.py204 # Create a column transformerCOMMENT
MEDIUM…reprocessing/steps/encode_categorical_features_step.py262 # Create a column transformerCOMMENT
Docstring Block Structure15 hits · 75 pts
SeverityFileLineSnippetContext
HIGHexamples/sagemaker.py87Serialize TabPFN input data and parameters into a JSON request body. This utility converts NumPy arrays and configuSTRING
HIGHexamples/sagemaker.py173Invoke the TabPFN SageMaker endpoint with tabular data. This helper prepares the payload for a TabPFN 2.5 model, seSTRING
HIGHsrc/tabpfn/classifier.py1119Predict probabilities for several independent datasets in one pass. Each ``(X_train, y_train, X_test)`` triple STRING
HIGHsrc/tabpfn/utils.py271Infer whether reduced-precision (autocast) inference should be enabled. On GPU this is fp16 autocast; on CPU ``torcSTRING
HIGHsrc/tabpfn/regressor.py1804Predict for several independent datasets in one pass. Each triple is preprocessed exactly as ``fit()`` + ``predSTRING
HIGHsrc/tabpfn/base.py664Extract embeddings from a fitted TabPFN model. Args: model : TabPFNClassifier | TabPFNRegressor STRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_6.py1057Parse the config dict into a TabPFNV2Config, return unused keys. Args: config: Config dict to parse. This fSTRING
HIGHsrc/tabpfn/architectures/interface.py131Parses the given config dict into ArchitectureConfig or a subclass. This config will then be passed to get_archSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2_5.py1080Parse the config dict into a TabPFNV2Config, return unused keys. Args: config: Config dict to parse. This fSTRING
HIGHsrc/tabpfn/architectures/tabpfn_v2.py1096Parse the config dict into a TabPFNV2Config, return unused keys. Args: config: Config dict to parse. This fSTRING
HIGHsrc/tabpfn/finetuning/data_util.py370Retrieves, splits, and preprocesses the dataset config at the index. Performs train/test splitting and applies STRING
HIGHsrc/tabpfn/finetuning/train_util.py233Create and initialize AdamW optimizer, optionally loading from checkpoint. Args: model_parameters: IteratorSTRING
HIGHsrc/tabpfn/preprocessing/datetimes.py95Fit one encoder per point in time in `X`, refusing a date it cannot. Args: X: The input data, beforSTRING
HIGHsrc/tabpfn/preprocessing/datetimes.py111`fit(X).transform(X)`, encoding each date column only once. Expansion changes the column count: `feature_names_STRING
HIGHsrc/tabpfn/preprocessing/ensemble.py542Keep every non-majority row and allocate the rest to the majority group. The majority is the single group whose sizSTRING
Modern Structural Boilerplate38 hits · 38 pts
SeverityFileLineSnippetContext
LOWtests/test_consistency.py48logger = logging.getLogger(__name__)CODE
LOWtests/conftest.py49def set_global_seed() -> None:CODE
LOWtests/test_preprocessing/test_pipeline_consistency.py35logger = logging.getLogger(__name__)CODE
LOWsrc/tabpfn/classifier.py115logger = logging.getLogger(__name__)CODE
LOWsrc/tabpfn/__init__.py59__all__ = [CODE
LOW⚡src/tabpfn/browser_auth.py38logger = logging.getLogger(__name__)CODE
LOWsrc/tabpfn/model_loading.py60logger = logging.getLogger(__name__)CODE
LOWsrc/tabpfn/inference.py426 def _set_models(self, models: list[Architecture]) -> None:CODE
LOWsrc/tabpfn/inference.py492 def _set_models(self, models: list[Architecture]) -> None:CODE
LOWsrc/tabpfn/inference.py530 def _set_models(self, models: list[Architecture]) -> None:CODE
LOWsrc/tabpfn/inference.py1716 def set_dtype(self, dtype: torch.dtype) -> None:CODE
LOWsrc/tabpfn/regressor.py118logger = logging.getLogger(__name__)CODE
LOW…bpfn/architectures/shared/workaround_mps_linear_bug.py28logger = logging.getLogger(__name__)CODE
LOWsrc/tabpfn/finetuning/finetuned_regressor.py30logger = logging.getLogger(__name__)CODE
LOWsrc/tabpfn/finetuning/finetuned_regressor.py370 def _setup_batch(self, batch: RegressorBatch) -> None: # type: ignore[override]CODE
LOWsrc/tabpfn/finetuning/_torch_compat.py53__all__ = [CODE
LOWsrc/tabpfn/finetuning/__init__.py15__all__ = [CODE
LOWsrc/tabpfn/finetuning/train_util.py25logger = logging.getLogger(__name__)CODE
LOWsrc/tabpfn/finetuning/finetuned_base.py62logger = logging.getLogger(__name__)CODE
LOWsrc/tabpfn/finetuning/finetuned_base.py600 def _setup_batch(self, batch: ClassifierBatch | RegressorBatch) -> None:CODE
LOWsrc/tabpfn/finetuning/finetuned_classifier.py27logger = logging.getLogger(__name__)CODE
LOWsrc/tabpfn/finetuning/finetuned_classifier.py237 def _setup_batch(self, batch: ClassifierBatch) -> None: # type: ignore[override]CODE
LOWsrc/tabpfn/visualisation/__init__.py7__all__ = ["plot_regression_distribution"]CODE
LOWsrc/tabpfn/preprocessing/configs.py193__all__ = [CODE
LOWsrc/tabpfn/preprocessing/presets.py85__all__ = [CODE
LOWsrc/tabpfn/preprocessing/datetimes.py37__all__ = ["DateTransformer"]CODE
LOWsrc/tabpfn/preprocessing/__init__.py27__all__ = [CODE
LOWsrc/tabpfn/preprocessing/text.py50__all__ = ["TextTransformer"]CODE
LOWsrc/tabpfn/preprocessing/torch/__init__.py29__all__ = [CODE
LOW…bpfn/preprocessing/steps/differentiable_z_norm_step.py48__all__ = [CODE
LOW…eprocessing/steps/reshape_feature_distribution_step.py776__all__ = [CODE
LOW…reprocessing/steps/encode_categorical_features_step.py467__all__ = [CODE
LOW…c/tabpfn/preprocessing/steps/safe_power_transformer.py211__all__ = [CODE
LOW…n/preprocessing/steps/add_fingerprint_features_step.py158__all__ = [CODE
LOWsrc/tabpfn/preprocessing/steps/__init__.py36__all__ = [CODE
LOW…n/preprocessing/steps/adaptive_quantile_transformer.py185__all__ = [CODE
LOWsrc/tabpfn/preprocessing/steps/kdi_transformer.py165__all__ = [CODE
LOW…fn/preprocessing/steps/squashing_scaler_transformer.py371__all__ = ["SquashingScaler"]STRING
Deep Nesting30 hits · 24 pts
SeverityFileLineSnippetContext
LOWtests/test_estimators.py313CODE
LOW…reprocessing/test_reshape_feature_distribution_step.py335CODE
LOWsrc/tabpfn/classifier.py610CODE
LOWsrc/tabpfn/classifier.py1904CODE
LOWsrc/tabpfn/model_loading.py267CODE
LOWsrc/tabpfn/model_loading.py360CODE
LOWsrc/tabpfn/model_loading.py415CODE
LOWsrc/tabpfn/model_loading.py670CODE
LOWsrc/tabpfn/model_loading.py1139CODE
LOWsrc/tabpfn/utils.py325CODE
LOWsrc/tabpfn/regressor.py635CODE
LOWsrc/tabpfn/regressor.py1795CODE
LOWsrc/tabpfn/regressor.py2155CODE
LOWsrc/tabpfn/misc/debug_versions.py188CODE
LOWsrc/tabpfn/misc/debug_versions.py269CODE
LOWsrc/tabpfn/misc/debug_versions.py347CODE
LOWsrc/tabpfn/architectures/tabpfn_v2_6.py701CODE
LOWsrc/tabpfn/architectures/interface.py44CODE
LOWsrc/tabpfn/architectures/tabpfn_v3.py1888CODE
LOWsrc/tabpfn/architectures/tabpfn_v3.py2313CODE
LOWsrc/tabpfn/architectures/tabpfn_v2_5.py703CODE
LOWsrc/tabpfn/architectures/tabpfn_v3_5.py2275CODE
LOWsrc/tabpfn/architectures/tabpfn_v3_5.py2832CODE
LOWsrc/tabpfn/architectures/tabpfn_v2.py799CODE
LOWsrc/tabpfn/finetuning/finetuned_base.py763CODE
LOWsrc/tabpfn/preprocessing/clean.py263CODE
LOWsrc/tabpfn/preprocessing/torch/torch_svd.py76CODE
LOW…eprocessing/steps/reshape_feature_distribution_step.py191CODE
LOW…eprocessing/steps/reshape_feature_distribution_step.py274CODE
LOW…n/preprocessing/steps/add_fingerprint_features_step.py68CODE
Magic Placeholder Names4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHsrc/tabpfn/browser_auth.py629 ' 4. Set the environment variable: export TABPFN_TOKEN="<your-api-key>"\n'CODE
HIGHsrc/tabpfn/browser_auth.py631 ' import os; os.environ["TABPFN_TOKEN"] = "<your-api-key>"'CODE
HIGHsrc/tabpfn/errors.py49 ' export TABPFN_TOKEN="<your-api-key>"\n'CODE
HIGHsrc/tabpfn/errors.py51 ' import os; os.environ["TABPFN_TOKEN"] = "<your-api-key>"'CODE
Excessive Try-Catch Wrapping16 hits · 17 pts
SeverityFileLineSnippetContext
LOWtests/test_preprocessing/test_pipeline_consistency.py425 except Exception as e:CODE
MEDIUM⚡examples/sagemaker.py348 print(f"Error parsing JSON response: {e}")CODE
LOWsrc/tabpfn/classifier.py927 except Exception as e: # noqa: BLE001CODE
LOW⚡src/tabpfn/browser_auth.py137 except Exception:CODE
LOW⚡src/tabpfn/browser_auth.py207 except Exception:CODE
LOWsrc/tabpfn/browser_auth.py166 except Exception as exc:CODE
LOWsrc/tabpfn/browser_auth.py331 except Exception: # noqa: BLE001CODE
LOWsrc/tabpfn/browser_auth.py507 except Exception:CODE
LOWsrc/tabpfn/model_loading.py343 except Exception as e: # noqa: BLE001CODE
LOWsrc/tabpfn/model_loading.py403 except Exception: # noqa: BLE001CODE
LOWsrc/tabpfn/model_loading.py408 except Exception as e: # noqa: BLE001CODE
LOWsrc/tabpfn/model_loading.py570 except Exception as e: # noqa: BLE001CODE
LOWsrc/tabpfn/model_loading.py581 except Exception as e: # noqa: BLE001CODE
LOWsrc/tabpfn/model_loading.py609 except Exception as e: # noqa: BLE001CODE
LOWsrc/tabpfn/regressor.py1082 except Exception as e: # noqa: BLE001CODE
LOWsrc/tabpfn/preprocessing/steps/kdi_transformer.py161 except Exception: # noqa: BLE001CODE
AI Slop Vocabulary8 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml155 # "DTZ", # One day I should know how to utilize timezones and dates...COMMENT
MEDIUMtests/test_finetuning_classifier.py1631 n_total = 50 # Increased slightly for more robust testingCODE
MEDIUM…t_torch_preprocessing/test_torch_soft_clip_outliers.py58 """Test that two-pass approach produces more robust bounds."""STRING
MEDIUMsrc/tabpfn/inference_tuning.py391 """Selects the robust optimal threshold for the given metric.STRING
LOW⚡src/tabpfn/parallel_execute.py85 # If we only have one device then just use the current thread to avoid overhead.COMMENT
MEDIUMsrc/tabpfn/preprocessing/configs.py79 "robust", # a standard sklearn robust scalerCODE
MEDIUMsrc/tabpfn/preprocessing/steps/preprocessing_helpers.py559 # TODO: Could utilize the categorical dtype values directly instead of "auto"COMMENT
MEDIUM…fn/preprocessing/steps/squashing_scaler_transformer.py88 r"""Perform robust centering and scaling followed by soft clipping.CODE
Over-Commented Block11 hits · 11 pts
SeverityFileLineSnippetContext
LOWexamples/finetune_classifier.py41# =============================================================================COMMENT
LOWexamples/sagemaker.py61#COMMENT
LOWexamples/finetune_regressor.py41#COMMENT
LOW.github/workflows/claude-code-review.yml21COMMENT
LOW.github/workflows/assign-pr-reviewer.yml1# When a PR is opened from a fork or by dependabot, request a review from a randomlyCOMMENT
LOW.github/workflows/ci.yml121 name: Save model cacheCOMMENT
LOW.github/workflows/ci.yml141 # only lever available: Linux lets a process request that state withCOMMENT
LOWsrc/tabpfn/misc/_sklearn_compat.py1001COMMENT
LOWsrc/tabpfn/preprocessing/clean.py301 )COMMENT
LOWsrc/tabpfn/preprocessing/clean.py321 # `np.nan` instead of `pd.NA`.COMMENT
LOW…c/tabpfn/preprocessing/torch/torch_squashing_scaler.py21from __future__ import annotationsCOMMENT
AI Structural Patterns8 hits · 6 pts
SeverityFileLineSnippetContext
LOWsrc/tabpfn/classifier.py254CODE
LOWsrc/tabpfn/regressor.py283CODE
LOWsrc/tabpfn/misc/_sklearn_compat.py448CODE
LOWsrc/tabpfn/misc/_sklearn_compat.py502CODE
LOWsrc/tabpfn/finetuning/finetuned_regressor.py259CODE
LOWsrc/tabpfn/finetuning/finetuned_base.py448CODE
LOWsrc/tabpfn/finetuning/finetuned_classifier.py143CODE
LOWsrc/tabpfn/preprocessing/ensemble.py91CODE
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOWsrc/tabpfn/model_loading.py350 # Check if this is an authentication/gating errorCOMMENT
LOWsrc/tabpfn/utils.py218 # Check if the function is available in torchCOMMENT
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/test_parallel_execute.py15 def test_function(device: torch.device) -> int: # noqa: ARG001CODE
LOWtests/test_parallel_execute.py42 def test_function(device: torch.device) -> int: # noqa: ARG001CODE
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippetContext
LOWtests/test_finetuning_classifier.py1866 # Step 3: Validate that columns are in the same order across all batches.COMMENT
Structural Annotation Overuse1 hit · 2 pts
SeverityFileLineSnippetContext
LOWtests/test_finetuning_classifier.py1866 # Step 3: Validate that columns are in the same order across all batches.COMMENT