Parallel computing with task scheduling
This report summarizes scanner evidence for dask/dask, a Python project with 13,934 GitHub stars. SynthScan examined 198,026 lines of code across 413 source files, recording 3500 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 17.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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 2420 finding(s).
Are imports declared and package/API names verified? 918 finding(s).
Are wrappers, guards, and repeated structures necessary? 2258 finding(s).
Which changes need focused human review? 3500 finding(s).
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.
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 3500 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 | conftest.py | 72 | def pytest_assertrepr_compare(op, left, right): | CODE |
| LOW | conftest.py | 102 | def allow_distributed_async_clients(): | CODE |
| LOW | dask/conftest.py | 23 | def pytest_collection_modifyitems(config, items): | CODE |
| LOW | dask/_expr.py | 96 | def _tree_repr_argument_construction(self, i, op, header): | CODE |
| LOW | dask/system.py | 17 | def _try_extract_cgroup_cpu_quota(): | CODE |
| LOW | dask/config.py | 700 | def expand_environment_variables(config: Any) -> Any: | CODE |
| LOW | dask/utils_test.py | 76 | def test_data_not_in_dict_is_ok(self): | CODE |
| LOW | dask/utils_test.py | 86 | def test_get_with_list_top_level(self): | CODE |
| LOW | dask/utils_test.py | 102 | def test_get_with_nested_list(self): | CODE |
| LOW | dask/utils_test.py | 108 | def test_get_works_with_unhashables_in_values(self): | CODE |
| LOW | dask/optimization.py | 71 | def default_fused_linear_keys_renamer(keys): | CODE |
| LOW | dask/optimization.py | 409 | def default_fused_keys_renamer(keys, max_fused_key_length=120): | CODE |
| LOW | dask/_pandas_compat.py | 96 | def check_groupby_axis_deprecation(): | CODE |
| LOW | dask/_pandas_compat.py | 110 | def check_observed_deprecation(): | CODE |
| LOW | dask/_pandas_compat.py | 124 | def check_convert_dtype_deprecation(): | CODE |
| LOW | dask/_pandas_compat.py | 138 | def check_apply_dataframe_deprecation(): | CODE |
| LOW | dask/_pandas_compat.py | 154 | def is_any_real_numeric_dtype(arr_or_dtype) -> bool: | CODE |
| LOW | dask/delayed.py | 77 | def _finalize_args_collections(args, collections): | CODE |
| LOW | dask/utils.py | 2222 | def get_default_shuffle_method() -> str: | CODE |
| LOW | dask/blockwise.py | 1423 | def zero_broadcast_dimensions(lol, nblocks): | CODE |
| LOW | dask/highlevelgraph.py | 34 | def compute_layer_dependencies(layers): | CODE |
| LOW | dask/highlevelgraph.py | 37 | def _find_layer_containing_key(key): | CODE |
| LOW⚡ | dask/_compatibility.py | 50 | def import_optional_dependency( | CODE |
| LOW⚡ | dask/_compatibility.py | 60 | def import_optional_dependency( | CODE |
| LOW⚡ | dask/_compatibility.py | 69 | def import_optional_dependency( | CODE |
| LOW⚡ | dask/layers.py | 110 | def normalize_array_slice_dep(dep): | CODE |
| LOW⚡ | dask/layers.py | 115 | def normalize_array_block_id_dep(dep): | CODE |
| LOW⚡ | dask/layers.py | 120 | def normalize_array_values_dep(dep): | CODE |
| LOW | dask/layers.py | 256 | def _expand_keys_around_center(k, dims, name=None, axes=None): | CODE |
| LOW | dask/sizeof.py | 115 | def sizeof_numba_devicendarray(x): | CODE |
| LOW | dask/sizeof.py | 255 | def sizeof_pyarrow_chunked_array(data): | CODE |
| LOW | dask/sizeof.py | 304 | def _register_entry_point_plugins(): | CODE |
| LOW | dask/tokenize.py | 83 | def _maybe_raise_nondeterministic(msg: str) -> None: | CODE |
| LOW | dask/tokenize.py | 185 | def normalize_builtin_function_or_method(func): | CODE |
| LOW⚡ | dask/tokenize.py | 350 | def normalize_extension_array(arr): | CODE |
| LOW⚡ | dask/tokenize.py | 357 | def normalize_extension_array(arr): | CODE |
| LOW⚡ | dask/tokenize.py | 364 | def normalize_categorical_dtype(dtype): | CODE |
| LOW | dask/multiprocessing.py | 25 | def _reduce_method_descriptor(m): | CODE |
| LOW | dask/multiprocessing.py | 263 | def initialize_worker_process(user_initializer=None): | CODE |
| LOW | dask/base.py | 483 | def _rebuild_composite_collection( | CODE |
| LOW | dask/dataframe/accessor.py | 105 | def register_dataframe_accessor(name): | CODE |
| LOW | dask/dataframe/_pyarrow.py | 42 | def is_object_string_dataframe(x) -> bool: | CODE |
| LOW | dask/dataframe/methods.py | 191 | def describe_numeric_aggregate( | CODE |
| LOW | dask/dataframe/methods.py | 238 | def describe_nonnumeric_aggregate(stats, name): | CODE |
| LOW | dask/dataframe/multi.py | 254 | def _is_index_level_reference(x, key): | CODE |
| LOW | dask/dataframe/multi.py | 278 | def _is_column_label_reference(df, key): | CODE |
| LOW | dask/dataframe/core.py | 64 | def _get_divisions_map_partitions( | CODE |
| LOW | dask/dataframe/core.py | 271 | def _map_freq_to_period_start(freq): | CODE |
| LOW | dask/dataframe/core.py | 445 | def _sqrt_and_convert_to_timedelta(partition, axis, dtype=None, *args, **kwargs): | CODE |
| LOW⚡ | dask/dataframe/shuffle.py | 216 | def ensure_cleanup_on_exception(p): | CODE |
| LOW⚡ | dask/dataframe/backends.py | 237 | def get_pyarrow_schema_pandas(obj, preserve_index=None): | CODE |
| LOW⚡ | dask/dataframe/backends.py | 242 | def get_pyarrow_table_from_pandas(obj, **kwargs): | CODE |
| LOW⚡ | dask/dataframe/backends.py | 248 | def get_pandas_dataframe_from_pyarrow(meta, table, **kwargs): | CODE |
| LOW | dask/dataframe/backends.py | 274 | def make_meta_pandas_datetime_tz(x, index=None): | CODE |
| LOW | dask/dataframe/backends.py | 502 | def _meta_lib_from_array_numpy(x): | CODE |
| LOW | dask/dataframe/backends.py | 510 | def union_categoricals_pandas(to_union, sort_categories=False, ignore_order=False): | CODE |
| LOW | dask/dataframe/backends.py | 524 | def get_parallel_type_dataframe(_): | CODE |
| LOW | dask/dataframe/backends.py | 586 | def _union_categoricals_wrapper( | CODE |
| LOW | dask/dataframe/backends.py | 782 | def is_categorical_dtype_pandas(obj): | CODE |
| LOW | dask/dataframe/backends.py | 803 | def to_pandas_dispatch_from_pandas(data, **kwargs): | CODE |
| 1985 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | conftest.py | 1 | CODE | |
| LOW | conftest.py | 27 | CODE | |
| LOW | conftest.py | 32 | CODE | |
| LOW | conftest.py | 37 | CODE | |
| LOW | conftest.py | 42 | CODE | |
| LOW | conftest.py | 47 | CODE | |
| LOW | conftest.py | 52 | CODE | |
| LOW | dask/threaded.py | 7 | CODE | |
| LOW | dask/conftest.py | 1 | CODE | |
| LOW | dask/system.py | 1 | CODE | |
| LOW | dask/config.py | 1 | CODE | |
| LOW | dask/utils_test.py | 1 | CODE | |
| LOW | dask/local.py | 110 | CODE | |
| LOW | dask/order.py | 1 | CODE | |
| LOW | dask/optimization.py | 1 | CODE | |
| LOW | dask/_pandas_compat.py | 7 | CODE | |
| LOW | dask/datasets.py | 1 | CODE | |
| LOW | dask/cache.py | 1 | CODE | |
| LOW | dask/__init__.py | 1 | CODE | |
| LOW | dask/__init__.py | 3 | CODE | |
| LOW | dask/__init__.py | 3 | CODE | |
| LOW | dask/__init__.py | 4 | CODE | |
| LOW | dask/__init__.py | 4 | CODE | |
| LOW | dask/__init__.py | 4 | CODE | |
| LOW | dask/__init__.py | 4 | CODE | |
| LOW | dask/__init__.py | 13 | CODE | |
| LOW | dask/__init__.py | 13 | CODE | |
| LOW | dask/__init__.py | 13 | CODE | |
| LOW | dask/__init__.py | 13 | CODE | |
| LOW | dask/__init__.py | 13 | CODE | |
| LOW | dask/__init__.py | 13 | CODE | |
| LOW | dask/__init__.py | 13 | CODE | |
| LOW | dask/__init__.py | 22 | CODE | |
| LOW | dask/__init__.py | 23 | CODE | |
| LOW | dask/__init__.py | 24 | CODE | |
| LOW | dask/core.py | 1 | CODE | |
| LOW | dask/_dispatch.py | 1 | CODE | |
| LOW | dask/ml.py | 1 | CODE | |
| LOW | dask/_collections.py | 1 | CODE | |
| LOW | dask/backends.py | 1 | CODE | |
| LOW | dask/distributed.py | 1 | CODE | |
| LOW | dask/distributed.py | 11 | CODE | |
| LOW | dask/context.py | 5 | CODE | |
| LOW | dask/delayed.py | 1 | CODE | |
| LOW | dask/cli.py | 1 | CODE | |
| LOW | dask/utils.py | 1 | CODE | |
| LOW | dask/callbacks.py | 1 | CODE | |
| LOW | dask/task_spec.py | 1 | CODE | |
| LOW | dask/task_spec.py | 3 | CODE | |
| LOW | dask/task_spec.py | 3 | CODE | |
| LOW | dask/task_spec.py | 3 | CODE | |
| LOW | dask/task_spec.py | 3 | CODE | |
| LOW | dask/task_spec.py | 3 | CODE | |
| LOW | dask/task_spec.py | 3 | CODE | |
| LOW | dask/graph_manipulation.py | 6 | CODE | |
| LOW | dask/dot.py | 1 | CODE | |
| LOW | dask/_compatibility.py | 1 | CODE | |
| LOW | dask/typing.py | 1 | CODE | |
| LOW | dask/sizeof.py | 1 | CODE | |
| LOW | dask/rewrite.py | 1 | CODE | |
| 842 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | dask/_expr.py | 42 | except AttributeError: | CODE |
| HIGH | dask/_expr.py | 472 | except KeyError: | CODE |
| HIGH | dask/system.py | 39 | except Exception: | CODE |
| HIGH | dask/system.py | 27 | except Exception: | CODE |
| HIGH | dask/config.py | 283 | except (SyntaxError, ValueError): | CODE |
| HIGH | dask/config.py | 368 | except OSError: | CODE |
| HIGH | dask/config.py | 231 | except OSError: | CODE |
| HIGH | dask/utils_test.py | 57 | except KeyError: | CODE |
| HIGH | dask/utils_test.py | 69 | except KeyError: | CODE |
| HIGH | dask/local.py | 135 | except Empty: | CODE |
| HIGH | dask/optimization.py | 357 | except TypeError: | CODE |
| HIGH | dask/core.py | 339 | except Exception: | CODE |
| HIGH | dask/core.py | 356 | except TypeError: # not hashable | CODE |
| HIGH | dask/core.py | 148 | except TypeError: # not hashable | CODE |
| HIGH | dask/delayed.py | 926 | except AttributeError: | CODE |
| HIGH | dask/utils.py | 2049 | except TypeError: # `obj` not hashable | CODE |
| HIGH | dask/utils.py | 1367 | except (ImportError, ValueError): | CODE |
| HIGH | dask/utils.py | 421 | except AttributeError: | CODE |
| HIGH | dask/utils.py | 481 | except OSError: | CODE |
| HIGH | dask/utils.py | 757 | except KeyError: | CODE |
| HIGH | dask/utils.py | 768 | except KeyError: | CODE |
| HIGH | dask/utils.py | 489 | except AttributeError: | CODE |
| HIGH | dask/highlevelgraph.py | 537 | except KeyError: | CODE |
| HIGH | dask/highlevelgraph.py | 541 | except (KeyError, IndexError, TypeError): | CODE |
| HIGH | dask/highlevelgraph.py | 548 | except KeyError: | CODE |
| HIGH | dask/graph_manipulation.py | 131 | except ImportError: | CODE |
| HIGH | dask/graph_manipulation.py | 138 | except ImportError: | CODE |
| HIGH | dask/rewrite.py | 395 | except TypeError: | CODE |
| HIGH | dask/hashing.py | 17 | except ImportError: | CODE |
| HIGH | dask/hashing.py | 36 | except ImportError: | CODE |
| HIGH | dask/hashing.py | 50 | except ImportError: | CODE |
| HIGH | dask/hashing.py | 82 | except (TypeError, OverflowError): | CODE |
| HIGH | dask/hashing.py | 89 | except (TypeError, OverflowError): | CODE |
| HIGH | dask/base.py | 250 | except AttributeError: | CODE |
| HIGH | dask/base.py | 1294 | except (ImportError, ValueError): | CODE |
| HIGH | dask/base.py | 998 | except ImportError: | CODE |
| HIGH | dask/_task_spec.py | 229 | except TypeError: | CODE |
| HIGH | dask/dataframe/accessor.py | 20 | except Exception: | CODE |
| HIGH | dask/dataframe/accessor.py | 41 | except Exception: | CODE |
| HIGH | dask/dataframe/core.py | 85 | except Exception: | CODE |
| HIGH | dask/dataframe/backends.py | 54 | except ImportError: | CODE |
| HIGH | dask/dataframe/backends.py | 232 | except ImportError: | CODE |
| HIGH | dask/dataframe/backends.py | 868 | except ImportError: | CODE |
| HIGH | dask/dataframe/backends.py | 334 | except Exception: | CODE |
| HIGH | dask/dataframe/utils.py | 42 | except ImportError: | CODE |
| HIGH | dask/dataframe/utils.py | 509 | except (TypeError, IndexError, ValueError): | CODE |
| HIGH | dask/dataframe/indexing.py | 56 | except TypeError: | CODE |
| HIGH | dask/dataframe/groupby.py | 571 | except Exception: | CODE |
| HIGH | dask/dataframe/groupby.py | 1061 | except KeyError: | CODE |
| HIGH | dask/dataframe/groupby.py | 538 | except KeyError: | CODE |
| HIGH | dask/dataframe/partitionquantiles.py | 452 | except (ValueError, TypeError): | CODE |
| HIGH | dask/dataframe/dask_expr/_expr.py | 871 | except Exception: | CODE |
| HIGH | dask/dataframe/dask_expr/_collection.py | 757 | except TypeError: | CODE |
| HIGH | dask/dataframe/dask_expr/tests/_util.py | 40 | except ImportError: | CODE |
| HIGH | dask/dataframe/io/__init__.py | 12 | except ImportError: | CODE |
| HIGH | dask/dataframe/io/parquet/arrow.py | 694 | except OSError: | CODE |
| HIGH | dask/dataframe/tests/test_accessors.py | 24 | except AttributeError: | CODE |
| HIGH | dask/bytes/tests/test_s3.py | 102 | except urllib.request.URLError: | CODE |
| HIGH | dask/array/core.py | 841 | except Exception: | CODE |
| HIGH | dask/array/core.py | 1361 | except (AttributeError, KeyError): | CODE |
| 24 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dask/threaded.py | 62 | CODE | |
| LOW | dask/_expr.py | 299 | CODE | |
| LOW | dask/_expr.py | 367 | CODE | |
| LOW | dask/_expr.py | 612 | CODE | |
| LOW | dask/_expr.py | 1161 | CODE | |
| LOW | dask/_expr.py | 1237 | CODE | |
| LOW | dask/config.py | 209 | CODE | |
| LOW | dask/config.py | 499 | CODE | |
| LOW | dask/config.py | 439 | CODE | |
| LOW | dask/local.py | 144 | CODE | |
| LOW | dask/local.py | 382 | CODE | |
| LOW | dask/order.py | 81 | CODE | |
| LOW | dask/order.py | 618 | CODE | |
| LOW | dask/order.py | 226 | CODE | |
| LOW | dask/order.py | 299 | CODE | |
| LOW | dask/order.py | 446 | CODE | |
| LOW | dask/optimization.py | 20 | CODE | |
| LOW | dask/optimization.py | 86 | CODE | |
| LOW | dask/optimization.py | 378 | CODE | |
| LOW | dask/optimization.py | 458 | CODE | |
| LOW | dask/core.py | 111 | CODE | |
| LOW | dask/core.py | 323 | CODE | |
| LOW | dask/core.py | 362 | CODE | |
| LOW | dask/delayed.py | 414 | CODE | |
| LOW | dask/utils.py | 147 | CODE | |
| LOW | dask/utils.py | 334 | CODE | |
| LOW | dask/utils.py | 379 | CODE | |
| LOW | dask/utils.py | 465 | CODE | |
| LOW | dask/utils.py | 225 | CODE | |
| LOW | dask/utils.py | 2269 | CODE | |
| LOW | dask/utils.py | 227 | CODE | |
| LOW | dask/blockwise.py | 914 | CODE | |
| LOW | dask/blockwise.py | 1109 | CODE | |
| LOW | dask/blockwise.py | 1262 | CODE | |
| LOW | dask/blockwise.py | 657 | CODE | |
| LOW | dask/blockwise.py | 746 | CODE | |
| LOW | dask/highlevelgraph.py | 127 | CODE | |
| LOW | dask/highlevelgraph.py | 201 | CODE | |
| LOW | dask/highlevelgraph.py | 238 | CODE | |
| LOW | dask/dot.py | 64 | CODE | |
| LOW | dask/dot.py | 126 | CODE | |
| LOW | dask/dot.py | 318 | CODE | |
| LOW | dask/_compatibility.py | 69 | CODE | |
| LOW | dask/layers.py | 323 | CODE | |
| LOW | dask/base.py | 90 | CODE | |
| LOW | dask/base.py | 428 | CODE | |
| LOW | dask/base.py | 515 | CODE | |
| LOW | dask/base.py | 877 | CODE | |
| LOW | dask/base.py | 1225 | CODE | |
| LOW | dask/base.py | 547 | CODE | |
| LOW | dask/_task_spec.py | 117 | CODE | |
| LOW | dask/_task_spec.py | 203 | CODE | |
| LOW | dask/_task_spec.py | 276 | CODE | |
| LOW | dask/_task_spec.py | 620 | CODE | |
| LOW | dask/_task_spec.py | 647 | CODE | |
| LOW | dask/_task_spec.py | 938 | CODE | |
| LOW | dask/dataframe/multi.py | 77 | CODE | |
| LOW | dask/dataframe/multi.py | 296 | CODE | |
| LOW | dask/dataframe/backends.py | 279 | CODE | |
| LOW | dask/dataframe/backends.py | 378 | CODE | |
| 166 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | dask/base.py | 1273 | # If undefined, fallback to `config` or worst case CPU_COUNT. | STRING |
| HIGH | dask/dataframe/core.py | 146 | and columns.equals(df.columns) | CODE |
| HIGH | dask/dataframe/groupby.py | 50 | return df.index.equals(by.index) | CODE |
| HIGH⚡ | dask/dataframe/dask_expr/io/parquet.py | 133 | if part_expr.equals(pc.scalar(True)): | CODE |
| HIGH⚡ | dask/dataframe/dask_expr/io/parquet.py | 136 | if pqformat.read_options.equals(pa_ds.ParquetFileFormat().read_options): | CODE |
| HIGH⚡ | dask/dataframe/dask_expr/io/parquet.py | 140 | assert fs.equals(self._fragment.filesystem) | CODE |
| HIGH | dask/dataframe/io/parquet/core.py | 531 | # Start conventional (non-null) filtering | COMMENT |
| HIGH⚡ | dask/dataframe/tests/test_groupby.py | 1460 | assert res0_a.equals(res0_b) | CODE |
| HIGH⚡ | dask/dataframe/tests/test_groupby.py | 1461 | assert res1_a.equals(res1_b) | CODE |
| HIGH⚡ | dask/dataframe/tests/test_dataframe.py | 4467 | assert res.dtypes.equals(ddf2.dtypes) | CODE |
| HIGH | dask/dataframe/tests/test_dataframe.py | 5214 | assert schema.equals(table.schema) | CODE |
| HIGH | dask/dataframe/tests/test_dataframe.py | 5231 | assert schema.equals(table.schema) | CODE |
| HIGH | dask/array/stats.py | 440 | # If df is undefined, variances are zero (assumes n1 > 0 & n2 > 0). | COMMENT |
| HIGH | dask/array/overlap.py | 943 | return bn.push(array, limit, axis) | CODE |
| HIGH | dask/array/tests/test_overlap.py | 769 | expected = bottleneck.push(array, axis=0, n=n) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dask/system.py | 27 | except Exception: | CODE |
| LOW | dask/system.py | 39 | except Exception: | CODE |
| LOW | dask/config.py | 184 | except Exception as exc: | CODE |
| LOW | dask/core.py | 339 | except Exception: | CODE |
| LOW | dask/backends.py | 141 | except Exception as e: | CODE |
| LOW | dask/cli.py | 178 | except Exception as e: | CODE |
| MEDIUM | dask/utils.py | 785 | def __doc__(self): | CODE |
| MEDIUM | dask/utils.py | 1897 | def has_keyword(func, keyword): | CODE |
| LOW | dask/utils.py | 685 | except Exception: | CODE |
| LOW | dask/utils.py | 690 | except Exception: | CODE |
| LOW | dask/utils.py | 753 | except Exception: | CODE |
| LOW | dask/utils.py | 1116 | except Exception as e: | CODE |
| LOW | dask/utils.py | 1137 | except Exception as e: | CODE |
| LOW | dask/utils.py | 1900 | except Exception: | CODE |
| LOW | dask/utils.py | 1998 | except Exception: | CODE |
| LOW | dask/sizeof.py | 310 | except Exception: | CODE |
| LOW | dask/rewrite.py | 408 | except Exception: | CODE |
| LOW | dask/tokenize.py | 211 | except Exception: | CODE |
| LOW | dask/tokenize.py | 247 | except Exception: | CODE |
| LOW | dask/tokenize.py | 253 | except Exception: | CODE |
| LOW | dask/tokenize.py | 474 | except Exception: | CODE |
| MEDIUM | dask/tokenize.py | 350 | def normalize_extension_array(arr): | CODE |
| LOW | dask/multiprocessing.py | 120 | except Exception as e: | CODE |
| LOW | dask/_task_spec.py | 787 | except Exception: | CODE |
| LOW | dask/dataframe/accessor.py | 20 | except Exception: | CODE |
| LOW | dask/dataframe/accessor.py | 41 | except Exception: | CODE |
| LOW | dask/dataframe/core.py | 44 | except Exception: | CODE |
| LOW | dask/dataframe/core.py | 85 | except Exception: | CODE |
| LOW⚡ | dask/dataframe/shuffle.py | 225 | except Exception: | CODE |
| LOW⚡ | dask/dataframe/shuffle.py | 230 | except Exception: | CODE |
| MEDIUM | dask/dataframe/shuffle.py | 110 | def set_partitions_pre(s, divisions, ascending=True, na_position="last"): | CODE |
| LOW | dask/dataframe/backends.py | 334 | except Exception: | CODE |
| LOW | dask/dataframe/backends.py | 659 | except Exception: | CODE |
| LOW | dask/dataframe/utils.py | 150 | except Exception as e: | CODE |
| LOW | dask/dataframe/groupby.py | 571 | except Exception: | CODE |
| LOW | dask/dataframe/partitionquantiles.py | 322 | except Exception: | CODE |
| MEDIUM | dask/dataframe/dask_expr/_expr.py | 153 | def __getattr__(self, key): | CODE |
| LOW | dask/dataframe/dask_expr/_expr.py | 456 | except Exception: | CODE |
| LOW | dask/dataframe/dask_expr/_expr.py | 871 | except Exception: | CODE |
| LOW | dask/dataframe/io/csv.py | 119 | except Exception as e: | CODE |
| LOW | dask/dataframe/tests/test_utils_dataframe.py | 388 | except Exception as e: | CODE |
| LOW | dask/dataframe/tests/test_utils_dataframe.py | 397 | except Exception as e: | CODE |
| MEDIUM | dask/dataframe/tests/test_utils_dataframe.py | 384 | def test_raise_on_meta_error(): | CODE |
| LOW | dask/dataframe/tests/test_dataframe.py | 4515 | except Exception: | CODE |
| LOW | dask/array/core.py | 489 | except Exception as e: | CODE |
| LOW | dask/array/core.py | 841 | except Exception: | CODE |
| LOW | dask/array/core.py | 5180 | except Exception: | CODE |
| LOW | dask/array/utils.py | 97 | except Exception: | CODE |
| LOW | dask/array/utils.py | 163 | except Exception: | CODE |
| LOW | dask/array/_array_expr/_map_blocks.py | 310 | except Exception: | CODE |
| LOW | dask/array/_array_expr/_blockwise.py | 280 | except Exception: | CODE |
| LOW | dask/array/_array_expr/_utils.py | 64 | except Exception: | CODE |
| LOW | dask/tests/test_callbacks.py | 53 | except Exception as e: | CODE |
| LOW | dask/tests/test_callbacks.py | 62 | except Exception as e: | CODE |
| LOW | dask/diagnostics/profile.py | 279 | except Exception: # could be a few different exceptions | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dask/local.py | 382 | CODE | |
| LOW | dask/utils.py | 2122 | CODE | |
| LOW | dask/dot.py | 126 | CODE | |
| LOW | dask/dot.py | 421 | CODE | |
| LOW | dask/dataframe/groupby.py | 593 | CODE | |
| LOW | dask/dataframe/dask_expr/_reductions.py | 1219 | CODE | |
| LOW | dask/dataframe/dask_expr/_collection.py | 5140 | CODE | |
| LOW | dask/dataframe/dask_expr/_collection.py | 5594 | CODE | |
| LOW | dask/dataframe/dask_expr/_collection.py | 5687 | CODE | |
| LOW | dask/dataframe/dask_expr/_collection.py | 1636 | CODE | |
| LOW | dask/dataframe/dask_expr/_collection.py | 1801 | CODE | |
| LOW | dask/dataframe/dask_expr/_collection.py | 2132 | CODE | |
| LOW | dask/dataframe/dask_expr/_collection.py | 2407 | CODE | |
| LOW | dask/dataframe/dask_expr/_collection.py | 2859 | CODE | |
| LOW | dask/dataframe/dask_expr/_collection.py | 3342 | CODE | |
| LOW | dask/dataframe/dask_expr/_collection.py | 3534 | CODE | |
| LOW | dask/dataframe/dask_expr/io/parquet.py | 337 | CODE | |
| LOW | dask/dataframe/io/csv.py | 418 | CODE | |
| LOW | dask/dataframe/io/csv.py | 764 | CODE | |
| LOW | dask/dataframe/io/csv.py | 715 | CODE | |
| LOW | dask/dataframe/io/sql.py | 195 | CODE | |
| LOW | dask/dataframe/io/sql.py | 422 | CODE | |
| LOW | dask/dataframe/io/json.py | 20 | CODE | |
| LOW | dask/dataframe/io/json.py | 108 | CODE | |
| LOW | dask/dataframe/io/parquet/core.py | 226 | CODE | |
| LOW | dask/array/numpy_compat.py | 170 | CODE | |
| LOW | dask/array/creation.py | 857 | CODE | |
| LOW | dask/array/creation.py | 1144 | CODE | |
| LOW | dask/array/creation.py | 1210 | CODE | |
| LOW | dask/array/core.py | 551 | CODE | |
| LOW | dask/array/core.py | 3468 | CODE | |
| LOW | dask/array/gufunc.py | 172 | CODE | |
| LOW | dask/array/gufunc.py | 647 | CODE | |
| LOW | dask/array/utils.py | 299 | CODE | |
| LOW | dask/array/blockwise.py | 17 | CODE | |
| LOW | dask/array/reductions.py | 83 | CODE | |
| LOW | dask/array/reductions.py | 1517 | CODE | |
| LOW | dask/array/reductions.py | 1561 | CODE | |
| LOW | dask/array/reductions.py | 1640 | CODE | |
| LOW | dask/array/reductions.py | 1839 | CODE | |
| LOW | dask/array/routines.py | 538 | CODE | |
| LOW | dask/array/routines.py | 1958 | CODE | |
| LOW | dask/array/_reductions_generic.py | 25 | CODE | |
| LOW | dask/array/_array_expr/_map_blocks.py | 16 | CODE | |
| LOW | dask/array/_array_expr/_gufunc.py | 173 | CODE | |
| LOW | dask/array/_array_expr/_gufunc.py | 683 | CODE | |
| LOW | dask/array/_array_expr/_reductions.py | 199 | CODE | |
| LOW | dask/array/_array_expr/_reductions.py | 25 | CODE | |
| LOW | dask/array/_array_expr/_collection.py | 694 | CODE | |
| LOW | dask/array/_array_expr/_collection.py | 1005 | CODE | |
| LOW | dask/bag/text.py | 17 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | dask/local.py | 635 | """Sorting key function that is robust to different types | STRING |
| MEDIUM | dask/utils.py | 1974 | # If we convert the key, recurse to utilize LRU cache better | COMMENT |
| LOW | dask/blockwise.py | 1282 | # Fast path: if there's only one input we can just use it as-is. | COMMENT |
| LOW | dask/dot.py | 228 | # IPython can't display this format natively, so just return None. | COMMENT |
| MEDIUM | dask/dataframe/dask_expr/_quantile.py | 111 | # Add 0 and 100 during calculation for more robust behavior (hopefully) | COMMENT |
| MEDIUM | dask/dataframe/dask_expr/_merge.py | 303 | # 1. Add/leverage partition statistics | COMMENT |
| LOW | dask/dataframe/dask_expr/_reductions.py | 1071 | # Drop all of the columns, just pass through the index | COMMENT |
| LOW | dask/dataframe/dask_expr/io/parquet.py | 1432 | # empty dataframe - just use meta | COMMENT |
| LOW | dask/dataframe/io/parquet/arrow.py | 1327 | # Check if this is a very simple case where we can just return | COMMENT |
| LOW | dask/dataframe/tests/test_groupby.py | 2225 | # just pass the pandas result as meta for convenience | COMMENT |
| LOW | dask/array/slicing.py | 257 | # No lists, hooray! just use slice_slices_and_integers | COMMENT |
| LOW | dask/array/core.py | 6001 | # output has a zero dimension, just create a new zero-shape array with the | COMMENT |
| LOW | dask/array/gufunc.py | 479 | # NOTE: we likely could just use `meta` instead of `tmp._meta`, | COMMENT |
| LOW | dask/array/utils.py | 156 | # min/max functions have no identity, just use the same input type when there's only one | COMMENT |
| MEDIUM | dask/array/percentile.py | 177 | # Add 0 and 100 during calculation for more robust behavior (hopefully) | COMMENT |
| MEDIUM⚡ | dask/array/tests/test_array_core.py | 2349 | # disabled things are nuanced and hardware-dependent. Don't risk it. | COMMENT |
| MEDIUM | dask/array/tests/test_array_core.py | 2330 | # disabled things are nuanced and hardware-dependent. Don't risk it. | COMMENT |
| LOW | dask/array/_array_expr/_slicing.py | 299 | # No lists, hooray! just use slice_slices_and_integers | COMMENT |
| LOW | dask/array/_array_expr/_gufunc.py | 457 | # NOTE: we likely could just use `meta` instead of `tmp._meta`, | COMMENT |
| LOW | dask/array/_array_expr/_utils.py | 57 | # min/max functions have no identity, just use the same input type when there's only one | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dask/_expr.py | 386 | # Check if we've already simplified for these dependents | COMMENT |
| LOW | dask/_expr.py | 615 | # Check if we are replacing a literal | COMMENT |
| LOW | dask/dataframe/dask_expr/_collection.py | 3098 | # Check if key is in columns if key | COMMENT |
| LOW | dask/dataframe/dask_expr/_collection.py | 5936 | # Check if `func` supports column projection | COMMENT |
| LOW | dask/dataframe/dask_expr/_groupby.py | 1536 | # Check if we can project columns | COMMENT |
| LOW | dask/dataframe/io/utils.py | 188 | # Check if we are using `fsspec.parquet`. | COMMENT |
| LOW | dask/dataframe/io/tests/test_parquet.py | 3040 | # Check if we can avoid writing an actual file | COMMENT |
| LOW | dask/dataframe/io/orc/arrow.py | 73 | # Check if we can aggregate adjacent parts together | COMMENT |
| LOW | dask/dataframe/io/parquet/arrow.py | 326 | # Check if we need to generate a fragment for filtering. | COMMENT |
| LOW | dask/dataframe/io/parquet/arrow.py | 454 | # Check if filesystem was specified as a dataset option | COMMENT |
| LOW | dask/dataframe/io/parquet/arrow.py | 1327 | # Check if this is a very simple case where we can just return | COMMENT |
| LOW | dask/dataframe/io/parquet/arrow.py | 1449 | # Check if we are using a simple file-partition map | COMMENT |
| LOW | dask/dataframe/io/parquet/arrow.py | 1583 | # Check if we have empty parts to return | COMMENT |
| LOW | dask/dataframe/io/parquet/arrow.py | 1646 | # Check if we have partitioning information. | COMMENT |
| LOW | dask/dataframe/io/parquet/arrow.py | 1649 | # Check if we need to generate a fragment. | COMMENT |
| LOW | dask/dataframe/io/parquet/utils.py | 59 | # Check if fs was specified as a dataset option | COMMENT |
| LOW | dask/array/core.py | 3409 | # Check if dtype.itemsize is greater than 0 | COMMENT |
| LOW | dask/array/gufunc.py | 429 | #### Check if core dimensions consist of only one chunk | COMMENT |
| LOW | dask/array/gufunc.py | 436 | #### Check if loop dimensions consist of same chunksizes, when they have sizes > 1 | COMMENT |
| LOW | dask/array/tests/test_array_function.py | 169 | # Check if it's an equivalent array | COMMENT |
| LOW⚡ | dask/array/tests/test_routines.py | 765 | # Check if the sum of the bins equals the number of samples | COMMENT |
| LOW⚡ | dask/array/tests/test_routines.py | 792 | # Check if return type is same as hist | COMMENT |
| LOW | dask/array/_array_expr/_gufunc.py | 431 | #### Check if core dimensions consist of only one chunk | COMMENT |
| LOW | dask/array/_array_expr/_gufunc.py | 438 | #### Check if loop dimensions consist of same chunksizes, when they have sizes > 1 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | continuous_integration/pixi-recipes/s3fs/recipe.yaml | 1 | package: | COMMENT |
| LOW | dask/order.py | 401 | known_runnable_paths[current] = [path] | COMMENT |
| LOW | dask/order.py | 461 | return True | COMMENT |
| LOW | dask/order.py | 481 | # dependencies are in result | COMMENT |
| LOW | dask/order.py | 501 | # 1. Determine the target node by calling ``get_target`` and append the | COMMENT |
| LOW | dask/order.py | 521 | # Given this, the algorithm is as follows: | COMMENT |
| LOW | dask/multiprocessing.py | 41 | # By default, tracebacks can't be serialized using pickle. However, the | COMMENT |
| LOW | dask/_task_spec.py | 301 | # user is requesting and by collapsing we'd no longer be able to | COMMENT |
| LOW | dask/dataframe/_pyarrow_compat.py | 1 | from __future__ import annotations | COMMENT |
| LOW | dask/dataframe/partitionquantiles.py | 321 | return np.array(None, dtype=dtype) | COMMENT |
| LOW | dask/dataframe/dask_expr/_expr.py | 2141 | # anymore. Otherwise, a chain of Filters might block Projections | COMMENT |
| LOW | dask/dataframe/io/parquet/arrow.py | 1001 | except StopIteration: | COMMENT |
| LOW | dask/dataframe/io/parquet/arrow.py | 1021 | # | F | True | None | 1 row-group per partition | | COMMENT |
| LOW | dask/dataframe/io/parquet/core.py | 301 | agg_name = f"agg-{name}" | COMMENT |
| LOW | dask/array/reshape.py | 141 | # The previous step squashed the whole dimension into a single | COMMENT |
| LOW | dask/array/slicing.py | 1341 | # of the result of the original slice. | COMMENT |
| LOW | dask/array/slicing.py | 1561 | """ | COMMENT |
| LOW | dask/array/slicing.py | 1681 | if is_dask_collection(index): | COMMENT |
| LOW | dask/array/slicing.py | 1721 | f"of shape {tuple(implied_shape)}" | COMMENT |
| LOW | dask/array/slicing.py | 1741 | # For example: | COMMENT |
| LOW | dask/array/slicing.py | 1761 | # array. An element of `None` will end up | COMMENT |
| LOW | dask/array/slicing.py | 1841 | in_keys = list(flatten(array.__dask_keys__())) | COMMENT |
| LOW | dask/array/rechunk.py | 81 | indicator with a corresponding cumulative sum, | COMMENT |
| LOW | dask/array/stats.py | 21 | # | COMMENT |
| LOW | dask/array/routines.py | 1461 | # This tuple of zeros represents the chunk index along the columns | COMMENT |
| LOW | dask/array/tests/test_reshape.py | 201 | (2, 2, 3, 4), | COMMENT |
| LOW | dask/array/_array_expr/_gufunc.py | 501 | # output_shape = loop_output_shape + core_output_shape | COMMENT |
| LOW | docs/source/conf.py | 1 | # | COMMENT |
| LOW | docs/source/conf.py | 81 | # General information about the project. | COMMENT |
| LOW | docs/source/conf.py | 101 | # default_role = None | COMMENT |
| LOW | docs/source/conf.py | 121 | COMMENT | |
| LOW | docs/source/conf.py | 141 | COMMENT | |
| LOW | docs/source/conf.py | 161 | COMMENT | |
| LOW | docs/source/conf.py | 181 | # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. | COMMENT |
| LOW | docs/source/conf.py | 201 | latex_elements: dict[str, str] = { | COMMENT |
| LOW | docs/source/conf.py | 221 | # not chapters. | COMMENT |
| LOW | docs/source/conf.py | 281 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | dask/dataframe/io/io.py | 173 | # Create a mapping of chunk number in the incoming array to | COMMENT |
| MEDIUM | dask/dataframe/io/tests/test_parquet.py | 3059 | # Create a Dask DataFrame if size (100, 10) with 5 partitions and write to local | COMMENT |
| MEDIUM | dask/dataframe/io/tests/test_parquet.py | 3088 | # Create a Dask DataFrame with 5 partitions and write to local, partitioning on the column A and column B | COMMENT |
| MEDIUM | dask/dataframe/io/tests/test_parquet.py | 3903 | # Create a pandas-metadata-free partitioned parquet. By default it will | COMMENT |
| MEDIUM | dask/dataframe/io/tests/test_sql.py | 131 | # Create an empty table in a different schema. | STRING |
| MEDIUM | dask/dataframe/io/tests/test_sql.py | 143 | # Create the schema and the table. | STRING |
| MEDIUM | dask/array/slicing.py | 1319 | # Initialize output variables | STRING |
| MEDIUM | dask/array/slicing.py | 1843 | # Create a new "setitem" dask entry for each block in the array | STRING |
| MEDIUM | dask/array/slicing.py | 2006 | # Create the part of the full assignment value that is to be | STRING |
| MEDIUM | dask/array/slicing.py | 2019 | # Define the assignment function for this block. | STRING |
| MEDIUM | dask/array/tests/test_array_core.py | 5207 | # Create a dask array with chunks that don't align with shards | COMMENT |
| MEDIUM | dask/array/tests/test_array_core.py | 5228 | # Create a sharded zarr array | COMMENT |
| MEDIUM | dask/tests/test_spark_compat.py | 37 | # Create a spark session. Note that we set the timezone to UTC to avoid | COMMENT |
| MEDIUM | dask/tests/test_delayed.py | 394 | # Create a list with a dask value, and test that it's not computed | COMMENT |
| MEDIUM | docs/source/conf.py | 5 | # This file is execfile()d with the current directory set to its containing dir. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | dask/dataframe/methods.py | 38 | # --------------------------------- | COMMENT |
| MEDIUM | dask/dataframe/methods.py | 40 | # --------------------------------- | COMMENT |
| MEDIUM | dask/dataframe/methods.py | 428 | # --------------------------------- | COMMENT |
| MEDIUM | dask/dataframe/methods.py | 430 | # --------------------------------- | COMMENT |
| MEDIUM | dask/dataframe/io/tests/test_parquet.py | 268 | # ---------- | COMMENT |
| MEDIUM | dask/dataframe/io/parquet/core.py | 20 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | dask/array/stats.py | 85 | # ----------------- | COMMENT |
| MEDIUM | dask/array/stats.py | 87 | # ----------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dask/delayed.py | 48 | __all__ = ["Delayed", "delayed"] | CODE |
| LOW | dask/callbacks.py | 7 | __all__ = ["Callback", "add_callbacks"] | CODE |
| LOW | dask/task_spec.py | 5 | __all__ = [ | CODE |
| LOW | dask/sizeof.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | dask/dataframe/__init__.py | 75 | __all__ = [ | CODE |
| LOW | dask/dataframe/shuffle.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | dask/dataframe/extensions.py | 20 | __all__ = [ | CODE |
| LOW | dask/dataframe/_compat.py | 50 | __all__ = [ | CODE |
| LOW | dask/dataframe/dask_expr/datasets.py | 16 | __all__ = ["timeseries"] | CODE |
| LOW | dask/dataframe/dask_expr/diagnostics/__init__.py | 6 | __all__ = ["analyze", "explain"] | CODE |
| LOW | dask/dataframe/io/demo.py | 18 | __all__ = [ | CODE |
| LOW | dask/array/__init__.py | 46 | __all__ = [ | CODE |
| LOW | dask/array/stats.py | 70 | __all__ = [ | CODE |
| LOW | dask/bag/__init__.py | 3 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | dask/dataframe/dask_expr/tests/test_merge.py | 282 | assert sorted(result.expr.frame.frame.left.operand("columns")) == ["b", "x"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | dask/_task_spec.py | 913 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dask/dataframe/tests/test_accessors.py | 161 | # make sure to pass through args & kwargs | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dask/local.py | 246 | def execute_task(key, task_info, dumps, loads, get_id, pack_exception): | CODE |