Kedro is a toolbox for production-ready data science. It uses software engineering best practices to help you create data engineering and data science pipelines that are reproducible, maintainable, and modular.
This report summarizes scanner evidence for kedro-org/kedro, a Python project with 11,016 GitHub stars. SynthScan examined 90,969 lines of code across 509 source files, recording 2044 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 28.8 (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? 1634 finding(s).
Are imports declared and package/API names verified? 229 finding(s).
Are wrappers, guards, and repeated structures necessary? 1611 finding(s).
Which changes need focused human review? 2044 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 2044 distinct pattern matches across 22 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 | tools/databricks_build.py | 16 | def _uninstall_existing_build() -> None: | CODE |
| LOW | tools/databricks_build.py | 27 | def _restart_cluster_if_running() -> None: | CODE |
| LOW | kedro_benchmarks/benchmark_ocl.py | 92 | def time_loading_parameters_runtime(self): | CODE |
| LOW | kedro_benchmarks/benchmark_validation.py | 129 | def _make_scoped_pipeline_dict(node_count: int, typed_params_per_node: int = 1): | CODE |
| LOW | kedro_benchmarks/benchmark_validation.py | 189 | def time_extract_types_from_pipelines(self, node_count, typed_params_per_node): | CODE |
| LOW | kedro_benchmarks/benchmark_validation.py | 245 | def time_context_params_uncached(self, node_count, typed_params_per_node): | CODE |
| LOW | kedro_benchmarks/benchmark_validation.py | 250 | def time_context_params_cached(self, node_count, typed_params_per_node): | CODE |
| LOW | kedro_benchmarks/benchmark_validation.py | 282 | def time_context_params_scoped_validation(self, node_count, typed_params_per_node): | CODE |
| LOW | kedro_benchmarks/benchmark_validation.py | 319 | def time_build_without_validators(self, entry_count): | CODE |
| LOW | kedro_benchmarks/benchmark_validation.py | 322 | def time_build_with_validator_specs(self, entry_count): | CODE |
| LOW⚡ | kedro_benchmarks/benchmark_validation.py | 348 | def time_load_no_validator_declared(self): | CODE |
| LOW⚡ | kedro_benchmarks/benchmark_validation.py | 353 | def time_load_with_cached_validator(self): | CODE |
| LOW⚡ | kedro_benchmarks/benchmark_validation.py | 357 | def time_save_with_cached_validator(self): | CODE |
| LOW⚡ | kedro_benchmarks/benchmark_validation.py | 361 | def time_first_load_resolves_validator(self): | CODE |
| LOW⚡ | kedro_benchmarks/benchmark_session.py | 30 | def time_session_run_single_pipeline(self): | CODE |
| LOW⚡ | kedro_benchmarks/benchmark_session.py | 37 | def time_session_run_all_pipelines(self): | CODE |
| LOW⚡ | kedro_benchmarks/benchmark_session.py | 44 | def time_session_startup_only(self): | CODE |
| LOW⚡ | kedro_benchmarks/benchmark_session.py | 51 | def time_session_startup_and_context_load(self): | CODE |
| LOW⚡ | kedro_benchmarks/benchmark_service_session.py | 30 | def time_session_run_single_pipeline(self): | CODE |
| LOW⚡ | kedro_benchmarks/benchmark_service_session.py | 35 | def time_session_run_all_pipelines(self): | CODE |
| LOW⚡ | kedro_benchmarks/benchmark_service_session.py | 40 | def time_session_run_multiple_times(self): | CODE |
| LOW⚡ | kedro_benchmarks/benchmark_service_session.py | 46 | def time_session_startup_only(self): | CODE |
| LOW⚡ | kedro_benchmarks/benchmark_service_session.py | 51 | def time_session_startup_and_context_load(self): | CODE |
| LOW | kedro_benchmarks/benchmark_runner.py | 70 | def create_compute_bound_node(inputs=None, outputs=None, name=None): | STRING |
| LOW | kedro_benchmarks/benchmark_runner.py | 75 | def create_compute_bound_pipeline(): | STRING |
| LOW | kedro_benchmarks/benchmark_runner.py | 147 | def time_compute_bound_runner(self, runner): | CODE |
| LOW | kedro_benchmarks/_utils.py | 145 | def teardown_benchmark_project(original_cwd: Path, project_path: Path) -> None: | CODE |
| LOW | features/environment.py | 126 | def _install_project_requirements(context): | CODE |
| LOW | features/steps/validation_steps.py | 27 | def add_validator_to_example_dataset(context, kind): | STRING |
| LOW | features/steps/validation_steps.py | 50 | def disable_dataset_validation(context): | STRING |
| LOW | features/steps/cli_steps.py | 172 | def create_config_file_without_starter(context): | STRING |
| LOW | features/steps/cli_steps.py | 193 | def create_config_file_with_tools(context, tools): | STRING |
| LOW | features/steps/cli_steps.py | 232 | def install_project_package_via_pip(context): | CODE |
| LOW | features/steps/cli_steps.py | 292 | def create_project_with_starter(context, starter): | CODE |
| LOW | features/steps/cli_steps.py | 317 | def create_project_without_starter(context): | CODE |
| LOW | features/steps/cli_steps.py | 500 | def check_created_project_structure(context): | CODE |
| LOW | features/steps/cli_steps.py | 512 | def check_created_project_structure_from_tools(context, tools): | CODE |
| LOW | features/steps/cli_steps.py | 624 | def check_message_not_printed(context, msg): | CODE |
| LOW | features/steps/cli_steps.py | 640 | def check_error_message_printed(context, msg): | CODE |
| LOW | features/steps/cli_steps.py | 656 | def check_additional_cell_added(context): | CODE |
| LOW | features/steps/cli_steps.py | 676 | def check_jupyter_nb_proc_on_port(context: behave.runner.Context, port: int): | CODE |
| LOW | features/steps/cli_steps.py | 692 | def check_jupyter_lab_proc_on_port(context: behave.runner.Context, port: int): | CODE |
| LOW | features/steps/cli_steps.py | 748 | def pip_install_project_and_dev_dependencies(context): | CODE |
| LOW | features/steps/cli_steps.py | 772 | def step_break_pipeline_import(context, pipeline_name): | CODE |
| LOW | features/steps/cli_steps.py | 800 | def call_get_project_snapshot(context): | CODE |
| LOW | features/steps/cli_steps.py | 821 | def check_snapshot_parameters(context, names): | CODE |
| LOW | …arter/{{ cookiecutter.repo_name }}/docs/source/conf.py | 200 | def remove_arrows_in_examples(lines): | CODE |
| LOW | …arter/{{ cookiecutter.repo_name }}/docs/source/conf.py | 205 | def autodoc_process_docstring(app, what, name, obj, options, lines): | CODE |
| LOW⚡ | tests/test_utils.py | 26 | def test_string_input_returns_close_matches(self): | CODE |
| LOW⚡ | tests/test_utils.py | 32 | def test_list_input_returns_list(self): | CODE |
| LOW⚡ | tests/test_utils.py | 39 | def test_list_input_deduplicates_shared_matches(self): | CODE |
| LOW⚡ | tests/test_utils.py | 45 | def test_list_input_accepts_one_shot_iterator_targets(self): | CODE |
| LOW⚡ | tests/test_utils.py | 170 | def test_function_emits_warning(): | CODE |
| LOW⚡ | tests/test_utils.py | 179 | def test_function_has_marker_and_wrapped(): | CODE |
| LOW⚡ | tests/test_utils.py | 185 | def test_class_emits_warning_on_instantiation(): | CODE |
| LOW⚡ | tests/test_utils.py | 194 | def test_class_has_marker_and_wrapped_init(): | CODE |
| LOW | tests/test_utils.py | 58 | def test_load_obj_default_path(self): | CODE |
| LOW | tests/test_utils.py | 62 | def test_load_obj_invalid_module(self): | CODE |
| LOW | tests/test_utils.py | 93 | def test_none_prefixes_are_ignored(self): | CODE |
| LOW | tests/test_utils.py | 207 | def test_class_unwrap_recovers_original_init(): | CODE |
| 1365 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | features/steps/util.py | 45 | Run specified function until it returns expected result until timeout. Args: func: Specified function. | STRING |
| HIGH | docs/deploy/supported-platforms/dask.md | 210 | Run only the missing outputs from the ``Pipeline`` using the datasets provided by ``catalog``, and save results | STRING |
| HIGH | docs/tutorials/test_a_project.md | 26 | Splits data into features and targets training and test sets. Args: data: Data containing features | STRING |
| HIGH | docs/tutorials/add_another_pipeline.md | 39 | Splits data into features and targets training and test sets. Args: data: Data containing features | STRING |
| HIGH | kedro/utils.py | 89 | Extract an object from a given path. Args: obj_path: Path to an object to be extracted, including the objec | STRING |
| HIGH | kedro/pipeline/pipeline.py | 144 | Initialise ``Pipeline`` with a list of ``Node`` instances. Args: nodes: The iterable of nodes the ` | STRING |
| HIGH | kedro/pipeline/pipeline.py | 631 | Create a new ``Pipeline`` which will contain only the specified nodes by name. Args: *node_ | STRING |
| HIGH | kedro/pipeline/pipeline.py | 670 | Creates a new ``Pipeline`` containing only nodes with the specified namespaces. Args: node_ | STRING |
| HIGH | kedro/pipeline/pipeline.py | 777 | Create a new ``Pipeline`` object with the nodes which depend directly on the provided inputs. If provide | STRING |
| HIGH | kedro/pipeline/pipeline.py | 803 | Create a new ``Pipeline`` object with the nodes which depend directly or transitively on the provided inputs. | STRING |
| HIGH | kedro/pipeline/pipeline.py | 843 | Create a new ``Pipeline`` object with the nodes which are directly required to produce the provided outputs. | STRING |
| HIGH | kedro/pipeline/pipeline.py | 868 | Create a new ``Pipeline`` object with the nodes which are directly or transitively required to produce the provi | STRING |
| HIGH | kedro/pipeline/pipeline.py | 907 | Create a new ``Pipeline`` object with the nodes which depend directly or transitively on the provided nodes. | STRING |
| HIGH | kedro/pipeline/pipeline.py | 928 | Create a new ``Pipeline`` object with the nodes required directly or transitively by the provided nodes. | STRING |
| HIGH | kedro/pipeline/pipeline.py | 975 | Creates a new ``Pipeline`` object with the nodes that meet all of the specified filtering conditions. T | STRING |
| HIGH | kedro/pipeline/pipeline.py | 1235 | Create a ``Pipeline`` from a collection of nodes and/or ``Pipeline``\s. Args: nodes: The nodes the ``Pipeli | STRING |
| HIGH | kedro/pipeline/pipeline.py | 1297 | Take a name or a collection of dataset names and turn it into a mapping from the old dataset names to the provided o | STRING |
| HIGH | kedro/pipeline/pipeline.py | 1338 | Take a parameter or a collection of parameter names and turn it into a mapping from existing parameter names to new | STRING |
| HIGH | kedro/pipeline/node.py | 421 | Execute the preview function if available and validate its return type. Returns: A preview payload | STRING |
| HIGH | kedro/pipeline/node.py | 505 | Run this node using the provided inputs and return its results in a dictionary. Args: input | STRING |
| HIGH | kedro/framework/startup.py | 44 | Read project metadata from `<project_root>/pyproject.toml` config file, under the `[tool.kedro]` section. Args: | STRING |
| HIGH | kedro/framework/context/context.py | 63 | Turn all relative paths inside ``conf_dictionary`` into absolute paths by appending them to ``project_path`` and con | STRING |
| HIGH | kedro/framework/cli/starters.py | 694 | Obtains configuration for a new kedro project non-interactively from a file. Validates that: 1. All keys specifi | STRING |
| HIGH | kedro/framework/cli/utils.py | 357 | Load package entry point commands. Args: name: The key value specified in ENTRY_POINT_GROUPS. Raises: | STRING |
| HIGH | kedro/framework/cli/utils.py | 379 | Find the run command to be executed. This is either the default run command defined in the Kedro framework or a r | STRING |
| HIGH | kedro/framework/cli/jupyter.py | 107 | Creates an IPython kernel for the kedro project. If one with the same kernel_name exists already it will be replaced | STRING |
| HIGH | kedro/framework/project/__init__.py | 350 | Resolve and validate that a class referenced in logging configuration is a legitimate logging class (i.e. a subc | STRING |
| HIGH | kedro/framework/project/__init__.py | 622 | Automatically find modular pipelines having a ``create_pipeline`` function. By default, projects created using Kedro | STRING |
| HIGH | kedro/framework/session/session.py | 291 | Runs the pipeline with a specified runner. Args: pipeline_name: Name of the pipeline that is being | STRING |
| HIGH | kedro/config/omegaconf_config.py | 203 | Get configuration files by key, load and merge them, and return them in the form of a config dictionary. | STRING |
| HIGH | kedro/config/omegaconf_config.py | 349 | Recursively load and merge all configuration files in a directory using OmegaConf, which satisfy a given list of | STRING |
| HIGH | kedro/runner/runner.py | 68 | Run the ``Pipeline`` using the datasets provided by ``catalog`` and save results back to the same objects. | STRING |
| HIGH | kedro/runner/runner.py | 383 | Validates and returns the number of workers. Sets to os.cpu_count() or 1 if max_workers is None, and li | STRING |
| HIGH | kedro/io/data_catalog.py | 519 | Get a dataset by name from the catalog. If a dataset is not materialized but matches dataset_pattern o | STRING |
| HIGH | kedro/io/data_catalog.py | 686 | Create a ``DataCatalog`` instance from configuration. This is a factory method used to provide developers with a | STRING |
| HIGH | kedro/io/data_catalog.py | 1123 | Loads a registered dataset. Args: ds_name: The name of the dataset to be loaded. versio | STRING |
| HIGH | kedro/io/data_catalog.py | 1194 | Apply the dataset's declared validator to `data` if applicable. This is the single validation funnel for catalo | STRING |
| HIGH | kedro/io/data_catalog.py | 1331 | Validates and synchronises dataset versions for loading and saving. Ensures consistency of dataset versions acr | STRING |
| HIGH | kedro/io/memory_dataset.py | 117 | Returns the copied data using the copy mode specified. If no copy mode is provided, then it is inferred based on the | STRING |
| HIGH | kedro/io/catalog_config_resolver.py | 26 | Fetch the specified credentials from the provided credentials dictionary. Args: credentials_name: Credentia | STRING |
| HIGH | kedro/io/catalog_config_resolver.py | 227 | Sort a dictionary of dataset patterns according to parsing rules. Patterns are sorted in the following order: | STRING |
| HIGH | kedro/io/catalog_config_resolver.py | 602 | Resolve credentials for datasets in the catalog configuration. This method replaces credential referen | STRING |
| HIGH | kedro/io/core.py | 267 | Create a dataset instance using the configuration provided. Args: name: Data set name. | STRING |
| HIGH | kedro/io/core.py | 626 | Parse and instantiate a dataset class using the configuration provided. Args: config: Data set config dicti | STRING |
| HIGH | kedro/io/core.py | 971 | List all available versions of this dataset. This method allows you to retrieve all existing versions of a vers | STRING |
| HIGH | kedro/io/core.py | 1084 | Parses filepath on protocol and path. .. warning:: Versioning is not supported for HTTP protocols. Arg | STRING |
| HIGH | kedro/server/utils.py | 23 | Resolve the Kedro project path from environment variable or function argument. The project path is expected to be s | STRING |
| HIGH | kedro/validation/parameter_validator.py | 38 | Apply validation to parameters and return transformed dictionary. Args: raw_params: Original parame | STRING |
| HIGH | kedro/validation/parameter_validator.py | 110 | Validate raw parameters and return transformed dictionary. Args: raw_params: Parameters from config | STRING |
| HIGH | kedro/validation/core.py | 105 | Build a spec from a catalog `validator:` value. Accepts a plain string (shorthand class path) or a dictionary | STRING |
| HIGH | kedro/validation/core.py | 276 | Resolve a `ValidatorSpec` into a usable validator instance. Resolution order: 1. Import the object at `spec.cl | STRING |
| HIGH | kedro/validation/api.py | 283 | Validate one catalog dataset against its declared validator. This never raises for validation outcomes. Explicit ca | STRING |
| HIGH | kedro/validation/pandera_validator.py | 124 | Adapt a pandera schema object into a `PanderaValidator`. Args: obj: The imported object from a validator `c | STRING |
| HIGH | kedro/validation/model_factory.py | 16 | Instantiate a typed model from a raw value. Supports Pydantic models and dataclasses. Returns the raw value unc | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | features/environment.py | 3 | CODE | |
| LOW | features/steps/validation_steps.py | 3 | CODE | |
| LOW | features/steps/util.py | 3 | CODE | |
| LOW | features/steps/sh_run.py | 1 | CODE | |
| LOW | …{{ cookiecutter.python_package }}/pipeline_registry.py | 2 | CODE | |
| LOW | …r.python_package }}/pipelines/data_science/__init__.py | 7 | CODE | |
| LOW | …tter.python_package }}/pipelines/data_science/nodes.py | 7 | CODE | |
| LOW | …thon_package }}/pipelines/data_engineering/__init__.py | 7 | CODE | |
| LOW | ….python_package }}/pipelines/data_engineering/nodes.py | 6 | CODE | |
| LOW | tests/framework/context/test_context.py | 1 | CODE | |
| LOW | tests/framework/cli/test_cli_hooks.py | 1 | CODE | |
| LOW | tests/framework/cli/starters/test_new_from_cli_flags.py | 3 | CODE | |
| LOW | tests/framework/cli/starters/test_starters_flow.py | 3 | CODE | |
| LOW | tests/framework/cli/starters/test_new_from_prompts.py | 3 | CODE | |
| LOW | …ts/framework/cli/starters/test_new_from_config_file.py | 3 | CODE | |
| LOW | tests/framework/cli/starters/test_tools_parsing.py | 3 | CODE | |
| LOW | tests/framework/session/conftest.py | 1 | CODE | |
| LOW | tests/config/test_omegaconf_config.py | 1 | CODE | |
| LOW | tests/ipython/conftest.py | 13 | CODE | |
| LOW | tests/ipython/conftest.py | 21 | CODE | |
| LOW | tests/ipython/dummy_multiline_fixtures.py | 3 | CODE | |
| LOW | tests/ipython/dummy_multiline_fixtures.py | 3 | CODE | |
| LOW | tests/ipython/dummy_multiline_fixtures.py | 3 | CODE | |
| LOW | tests/ipython/dummy_multiline_fixtures.py | 3 | CODE | |
| LOW | tests/ipython/dummy_function_fixtures.py | 8 | CODE | |
| LOW | tests/ipython/dummy_function_fixtures.py | 9 | CODE | |
| LOW | tests/ipython/dummy_function_fixtures.py | 12 | CODE | |
| LOW | tests/ipython/dummy_function_fixtures.py | 26 | CODE | |
| LOW | tests/runner/test_parallel_runner.py | 1 | CODE | |
| LOW | tests/runner/test_thread_runner.py | 1 | CODE | |
| LOW | tests/runner/test_sequential_runner.py | 1 | CODE | |
| LOW | tests/runner/test_only_missing_outputs.py | 1 | CODE | |
| LOW | tests/io/test_core.py | 1 | CODE | |
| LOW | tests/io/test_core.py | 357 | CODE | |
| LOW | tests/inspection/test_grouping.py | 3 | CODE | |
| LOW | tests/inspection/test_project_snapshot.py | 3 | CODE | |
| LOW | tests/inspection/test_helper.py | 3 | CODE | |
| LOW | tests/inspection/test_metadata_snapshot.py | 3 | CODE | |
| LOW | tests/inspection/test_dataset_snapshot.py | 3 | CODE | |
| LOW | tests/inspection/test_node_pipeline_snapshot.py | 3 | CODE | |
| LOW | tests/inspection/test_public_api.py | 3 | CODE | |
| LOW | tests/validation/test_utils.py | 3 | CODE | |
| LOW | tests/validation/conftest.py | 3 | CODE | |
| LOW | tests/validation/test_catalog_validation.py | 8 | CODE | |
| LOW | tests/validation/test_pandera_validator.py | 3 | CODE | |
| LOW | tests/validation/test_core.py | 4 | CODE | |
| LOW | tests/validation/test_exceptions.py | 3 | CODE | |
| LOW | tests/validation/test_type_extractor.py | 3 | CODE | |
| LOW | tests/validation/test_parameter_validator.py | 3 | CODE | |
| LOW | tests/validation/test_api.py | 3 | CODE | |
| LOW | tests/validation/test_model_factory.py | 3 | CODE | |
| LOW | kedro/__init__.py | 6 | CODE | |
| LOW | kedro/pipeline/preview_contract.py | 1 | CODE | |
| LOW | kedro/pipeline/__init__.py | 5 | CODE | |
| LOW | kedro/pipeline/__init__.py | 5 | CODE | |
| LOW | kedro/pipeline/__init__.py | 5 | CODE | |
| LOW | kedro/pipeline/__init__.py | 5 | CODE | |
| LOW | kedro/pipeline/__init__.py | 6 | CODE | |
| LOW | kedro/pipeline/__init__.py | 6 | CODE | |
| LOW | kedro/pipeline/__init__.py | 6 | CODE | |
| 118 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | zensical.toml | 252 | # ------------------------- | COMMENT |
| MEDIUM | zensical.toml | 254 | # ------------------------- | COMMENT |
| MEDIUM | zensical.toml | 300 | # ------------------------- | COMMENT |
| MEDIUM | zensical.toml | 302 | # ------------------------- | COMMENT |
| MEDIUM | zensical.toml | 345 | # ------------------------- | COMMENT |
| MEDIUM | zensical.toml | 347 | # ------------------------- | COMMENT |
| MEDIUM | zensical.toml | 381 | # ------------------------- | COMMENT |
| MEDIUM | zensical.toml | 391 | # ------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 30 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 32 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 88 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 90 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 182 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 184 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 199 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 201 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 232 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 234 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 350 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 352 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 366 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 368 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 28 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 30 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 50 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 52 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 63 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 65 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 88 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 90 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 117 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 119 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 169 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 171 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 35 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 37 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 60 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 62 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 77 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 79 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 109 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 120 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 162 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 164 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 193 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 195 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 236 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 239 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 275 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 277 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 312 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 314 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/check-release.yml | 67 | # ────────────────────────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/github_actions/merge.sh | 63 | # Create a new branch from which to raise a PR, as ${SOURCE_BRANCH} might be push-protected | COMMENT |
| MEDIUM | kedro_benchmarks/benchmark_runner.py | 112 | # Create a dummy csv | COMMENT |
| MEDIUM | kedro_benchmarks/benchmark_runner.py | 143 | # Create a dummy csv | COMMENT |
| MEDIUM | features/environment.py | 70 | # Create an empty pip.conf file and point pip to it | COMMENT |
| MEDIUM | …arter/{{ cookiecutter.repo_name }}/docs/source/conf.py | 6 | # This file is execfile()d with the current directory set to its | COMMENT |
| MEDIUM | tests/pipeline/test_pipeline_namespaces.py | 35 | # Create a pipeline with an interrupted namespace | COMMENT |
| MEDIUM | tests/pipeline/test_pipeline_namespaces.py | 57 | # Create a pipeline with continuous namespace | COMMENT |
| MEDIUM⚡ | tests/pipeline/test_pipeline_namespaces.py | 71 | # Create a big pipeline with many layers of parallel paths | COMMENT |
| MEDIUM⚡ | tests/pipeline/test_pipeline_namespaces.py | 80 | # Create a pipeline with child namespaces | COMMENT |
| MEDIUM | tests/pipeline/test_pipeline_namespaces.py | 94 | # Create a pipeline with parallel branches having different namespaces | COMMENT |
| MEDIUM | tests/pipeline/test_pipeline_namespaces.py | 108 | # Create a more complex pipeline with namespace interruption | COMMENT |
| MEDIUM⚡ | tests/pipeline/test_preview_contract.py | 218 | # Create a mock non-dataclass object that has to_dict method | COMMENT |
| MEDIUM⚡ | tests/pipeline/test_pipeline.py | 1046 | # Create a pipeline from the input nodes. | COMMENT |
| MEDIUM | tests/pipeline/test_pipeline.py | 1006 | # Create a pipeline from nodes with tags. | COMMENT |
| MEDIUM | tests/framework/context/test_context.py | 134 | # Create the necessary files in src/ | COMMENT |
| MEDIUM | tests/framework/cli/pipeline/conftest.py | 90 | # Create the absolute bare minimum files | COMMENT |
| MEDIUM | tests/framework/cli/pipeline/test_pipeline.py | 335 | # Create a pipeline | COMMENT |
| MEDIUM | tests/framework/project/test_pipeline_discovery.py | 78 | # Create a module without `create_pipelines` in the `pipelines` dir. | STRING |
| MEDIUM | tests/framework/project/test_pipeline_discovery.py | 174 | # Create a regular file (not a subdirectory) in the `pipelines` dir. | STRING |
| MEDIUM | tests/framework/project/test_pipeline_discovery.py | 198 | # Create a module that will result in errors when we try to load it. | STRING |
| MEDIUM | tests/framework/project/test_pipeline_discovery.py | 413 | # Create a module without `create_pipeline` in the `pipelines` dir. | STRING |
| MEDIUM⚡ | tests/framework/session/test_session.py | 274 | # Create a catalog.yml with a MemoryDataset | COMMENT |
| MEDIUM⚡ | tests/framework/session/test_session.py | 715 | # Create a temporary directory outside of the project | COMMENT |
| MEDIUM⚡ | tests/framework/session/test_session.py | 725 | # Create a session and set run called to True - no need to run a full session, we can verify the logging message | COMMENT |
| MEDIUM | tests/framework/session/test_session.py | 301 | # Create a minimal catalog.yml to allow catalog loading | COMMENT |
| MEDIUM | tests/framework/session/test_service_session.py | 386 | # Create a temporary directory outside of the project | COMMENT |
| MEDIUM | tests/runner/test_sequential_runner.py | 352 | # Create a catalog with MemoryDataset entries and inputs for the pipeline | COMMENT |
| MEDIUM⚡ | tests/runner/test_only_missing_outputs.py | 491 | # Create a pipeline where output is not defined (will become MemoryDataset) | COMMENT |
| MEDIUM | tests/runner/test_only_missing_outputs.py | 114 | # Create a simple test pipeline with a PERSISTENT output | COMMENT |
| MEDIUM | tests/runner/test_only_missing_outputs.py | 363 | # Create a pipeline with dataset factory pattern | COMMENT |
| MEDIUM | tests/runner/test_only_missing_outputs.py | 398 | # Create a simple pipeline | COMMENT |
| MEDIUM | tests/runner/test_only_missing_outputs.py | 548 | # Create a pipeline with a node that has no outputs (e.g., a logging node) | COMMENT |
| MEDIUM | tests/runner/test_only_missing_outputs.py | 579 | # Create a pipeline where 'ephemeral_data' is not defined in catalog | COMMENT |
| MEDIUM | kedro/utils.py | 1 | """This module provides a set of helper functions being used across different components | STRING |
| MEDIUM | kedro/pipeline/node.py | 1 | """This module provides user-friendly functions for creating nodes as parts | STRING |
| MEDIUM | kedro/framework/startup.py | 1 | """This module provides metadata for a Kedro project.""" | STRING |
| MEDIUM | kedro/framework/context/catalog_mixins.py | 39 | # Create a catalog instance from configuration | STRING |
| MEDIUM | kedro/framework/context/context.py | 1 | """This module provides context for Kedro project.""" | STRING |
| MEDIUM | kedro/framework/cli/hooks/markers.py | 1 | """This module provides markers to declare Kedro CLI's hook specs and implementations. | STRING |
| MEDIUM | kedro/framework/hooks/markers.py | 1 | """This module provides markers to declare Kedro's hook specs and implementations. | STRING |
| MEDIUM | kedro/framework/hooks/manager.py | 1 | """This module provides an utility function to retrieve the global hook_manager singleton | STRING |
| MEDIUM | kedro/framework/session/abstract_session.py | 1 | """This module implements the abstract session class.""" | STRING |
| MEDIUM | kedro/framework/session/store.py | 1 | """This module implements a dict-like store object used to persist Kedro sessions.""" | STRING |
| MEDIUM | kedro/framework/session/session.py | 1 | """This module implements Kedro session responsible for project lifecycle.""" | STRING |
| MEDIUM | kedro/config/abstract_config.py | 1 | """This module provides ``kedro.abstract_config`` with the baseline | STRING |
| MEDIUM | kedro/config/omegaconf_config.py | 1 | """This module provides ``kedro.config`` with the functionality to load one | STRING |
| MEDIUM | kedro/io/data_catalog.py | 1397 | # Create a shared memory catalog | STRING |
| MEDIUM | kedro/io/core.py | 1 | """This module provides a set of classes which underpin the data loading and | STRING |
| MEDIUM | …oject/{{ cookiecutter.repo_name }}/docs/source/conf.py | 7 | # This file is execfile()d with the current directory set to its | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | RELEASE.md | 0 | register the project's pipelines. returns: a mapping from pipeline names to ``pipeline`` objects. | STRING |
| HIGH | …{{ cookiecutter.python_package }}/pipeline_registry.py | 0 | register the project's pipelines. returns: a mapping from pipeline names to ``pipeline`` objects. | STRING |
| HIGH | …{{ cookiecutter.python_package }}/pipeline_registry.py | 0 | register the project's pipelines. returns: a mapping from pipeline names to ``pipeline`` objects. | STRING |
| HIGH | …st_starter/{{ cookiecutter.repo_name }}/pyproject.toml | 0 | --cov-report term-missing \ --cov src/{{ cookiecutter.python_package }} -ra | STRING |
| HIGH | docs/create/new_project_tools.md | 0 | --cov-report term-missing \ --cov src/{{ cookiecutter.python_package }} -ra | STRING |
| HIGH | …es/project/{{ cookiecutter.repo_name }}/pyproject.toml | 0 | --cov-report term-missing \ --cov src/{{ cookiecutter.python_package }} -ra | STRING |
| HIGH | …r.python_package }}/pipelines/data_science/__init__.py | 0 | example code for the nodes in the example pipeline. this code is meant just for illustrating basic kedro features. pleas | STRING |
| HIGH | …thon_package }}/pipelines/data_engineering/__init__.py | 0 | example code for the nodes in the example pipeline. this code is meant just for illustrating basic kedro features. pleas | STRING |
| HIGH | ….python_package }}/pipelines/data_engineering/nodes.py | 0 | example code for the nodes in the example pipeline. this code is meant just for illustrating basic kedro features. pleas | STRING |
| HIGH | …r.python_package }}/pipelines/data_science/pipeline.py | 0 | example code for the nodes in the example pipeline. this code is meant just for illustrating basic kedro features. delet | STRING |
| HIGH | …tter.python_package }}/pipelines/data_science/nodes.py | 0 | example code for the nodes in the example pipeline. this code is meant just for illustrating basic kedro features. delet | STRING |
| HIGH | …thon_package }}/pipelines/data_engineering/pipeline.py | 0 | example code for the nodes in the example pipeline. this code is meant just for illustrating basic kedro features. delet | STRING |
| HIGH | tests/conftest.py | 0 | this file contains the fixtures that are reusable by any tests within this directory. you don't need to import the fixtu | STRING |
| HIGH | tests/framework/cli/conftest.py | 0 | this file contains the fixtures that are reusable by any tests within this directory. you don't need to import the fixtu | STRING |
| HIGH | tests/framework/cli/starters/conftest.py | 0 | this file contains the fixtures that are reusable by any tests within this directory. you don't need to import the fixtu | STRING |
| HIGH | tests/runner/test_parallel_runner.py | 0 | stricter version of previous test. covers pipelines where inputs are shared across nodes. | STRING |
| HIGH | tests/runner/test_thread_runner.py | 0 | stricter version of previous test. covers pipelines where inputs are shared across nodes. | STRING |
| HIGH | tests/runner/test_sequential_runner.py | 0 | stricter version of previous test. covers pipelines where inputs are shared across nodes. | STRING |
| HIGH | tests/io/test_shared_memory_dataset.py | 0 | check the error when attempting to save the dataset without providing the data | STRING |
| HIGH | tests/io/test_core.py | 0 | check the error when attempting to save the dataset without providing the data | STRING |
| HIGH | tests/io/test_memory_dataset.py | 0 | check the error when attempting to save the dataset without providing the data | STRING |
| HIGH | …/pipeline/{{ cookiecutter.pipeline_name }}/__init__.py | 0 | this is a boilerplate pipeline '{{ cookiecutter.pipeline_name }}' generated using kedro {{ cookiecutter.kedro_version }} | STRING |
| HIGH | …/pipeline/{{ cookiecutter.pipeline_name }}/pipeline.py | 0 | this is a boilerplate pipeline '{{ cookiecutter.pipeline_name }}' generated using kedro {{ cookiecutter.kedro_version }} | STRING |
| HIGH | …tes/pipeline/{{ cookiecutter.pipeline_name }}/nodes.py | 0 | this is a boilerplate pipeline '{{ cookiecutter.pipeline_name }}' generated using kedro {{ cookiecutter.kedro_version }} | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/github_actions/github_actions_release.py | 42 | print("Error: GITHUB_ENV environment variable is not set.") | CODE |
| LOW | kedro_benchmarks/_utils.py | 99 | except Exception as e: | CODE |
| LOW | features/steps/util.py | 69 | except Exception as err: | CODE |
| LOW | tests/framework/cli/starters/utils.py | 63 | except Exception: | CODE |
| LOW | tests/framework/project/test_pipeline_registry.py | 107 | except Exception as e: | CODE |
| LOW | tests/framework/project/test_pipeline_registry.py | 134 | except Exception as e: | CODE |
| LOW | tests/framework/project/test_pipeline_registry.py | 142 | except Exception as e: | CODE |
| LOW | tests/framework/project/test_pipeline_registry.py | 201 | except Exception as e: | CODE |
| LOW | tests/framework/project/test_pipeline_registry.py | 208 | except Exception as e: | CODE |
| MEDIUM | tests/framework/project/test_pipeline_registry.py | 103 | def reader(): | CODE |
| MEDIUM | tests/framework/project/test_pipeline_registry.py | 130 | def reader(): | CODE |
| MEDIUM | tests/framework/project/test_pipeline_registry.py | 137 | def invalidator(): | CODE |
| MEDIUM | tests/framework/project/test_pipeline_registry.py | 197 | def reader(): | CODE |
| MEDIUM | tests/framework/project/test_pipeline_registry.py | 204 | def reconfigurer(): | CODE |
| LOW | docs/deploy/supported-platforms/aws_batch.md | 478 | except Exception: | CODE |
| LOW | kedro/utils.py | 161 | except Exception: | CODE |
| LOW | kedro/pipeline/node.py | 556 | except Exception as exc: | CODE |
| LOW | kedro/pipeline/node.py | 693 | except Exception as exc: | CODE |
| LOW | kedro/framework/cli/starters.py | 518 | except Exception as exc: | CODE |
| LOW | kedro/framework/cli/starters.py | 721 | except Exception as exc: | CODE |
| LOW | kedro/framework/cli/starters.py | 997 | except Exception as exc: | CODE |
| LOW | kedro/framework/cli/cli.py | 217 | except Exception: | CODE |
| LOW | kedro/framework/cli/utils.py | 128 | except Exception as exc: | CODE |
| LOW | kedro/framework/cli/utils.py | 346 | except Exception as exc: | CODE |
| LOW | kedro/framework/cli/pipeline.py | 246 | except Exception as exc: | CODE |
| LOW | kedro/framework/cli/pipeline.py | 306 | except Exception: | CODE |
| LOW | kedro/framework/cli/pipeline.py | 371 | except Exception as exc: | CODE |
| LOW | kedro/framework/cli/jupyter.py | 172 | except Exception as exc: | CODE |
| LOW | kedro/framework/project/__init__.py | 678 | except Exception as exc: | CODE |
| LOW | kedro/framework/project/__init__.py | 729 | except Exception as exc: | CODE |
| LOW | kedro/framework/session/session.py | 61 | except Exception: | CODE |
| LOW | kedro/framework/session/session.py | 182 | except Exception as exc: | CODE |
| LOW | kedro/framework/session/session.py | 208 | except Exception as err: | CODE |
| LOW | kedro/framework/session/session.py | 443 | except Exception as error: | CODE |
| LOW | kedro/framework/session/service_session.py | 321 | except Exception as error: | CODE |
| LOW | kedro/config/omegaconf_config.py | 388 | except Exception as exc: | CODE |
| LOW | kedro/runner/task.py | 306 | except Exception as exc: | CODE |
| LOW | kedro/runner/runner.py | 242 | except Exception: | CODE |
| LOW | kedro/runner/runner.py | 276 | except Exception: | CODE |
| LOW | kedro/io/data_catalog.py | 1249 | except Exception as exc: | CODE |
| LOW | kedro/io/core.py | 291 | except Exception as exc: | CODE |
| LOW | kedro/io/core.py | 310 | except Exception as err: | CODE |
| LOW | kedro/io/core.py | 387 | except Exception as exc: | CODE |
| LOW | kedro/io/core.py | 413 | except Exception as exc: | CODE |
| LOW | kedro/io/core.py | 555 | except Exception as exc: | CODE |
| LOW | kedro/io/core.py | 576 | except Exception as exc: | CODE |
| LOW | kedro/io/core.py | 870 | except Exception as exc: | CODE |
| LOW | kedro/io/core.py | 1072 | except Exception as exc: # SKIP_IF_NO_SPARK | CODE |
| LOW | kedro/io/shared_memory_dataset.py | 46 | except Exception as exc: | CODE |
| LOW | kedro/io/shared_memory_dataset.py | 50 | except Exception as serialisation_exc: # SKIP_IF_NO_SPARK | CODE |
| LOW | kedro/server/http_server.py | 169 | except Exception as exc: | CODE |
| LOW | kedro/server/http_server.py | 316 | except Exception as exc: | CODE |
| LOW | kedro/validation/parameter_validator.py | 91 | except Exception as exc: | CODE |
| LOW | kedro/validation/core.py | 332 | except Exception as exc: | CODE |
| LOW | kedro/validation/api.py | 142 | except Exception as exc: | CODE |
| LOW | kedro/validation/api.py | 163 | except Exception as exc: | CODE |
| LOW | kedro/validation/api.py | 221 | except Exception as exc: | CODE |
| LOW | kedro/validation/api.py | 249 | except Exception as exc: | CODE |
| LOW | kedro/validation/type_extractor.py | 106 | except Exception as exc: | CODE |
| LOW | kedro/validation/model_factory.py | 48 | except Exception as exc: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | kedro_benchmarks/_utils.py | 51 | except SystemExit: | CODE |
| HIGH | kedro_benchmarks/_utils.py | 97 | except SystemExit: | CODE |
| HIGH | features/steps/sh_run.py | 95 | except psutil.NoSuchProcess: | CODE |
| HIGH | features/steps/sh_run.py | 101 | except psutil.NoSuchProcess: | CODE |
| HIGH | tests/framework/cli/conftest.py | 135 | except FileNotFoundError: | CODE |
| HIGH | tests/framework/cli/starters/conftest.py | 79 | except ImportError: | CODE |
| HIGH | kedro/ipython/__init__.py | 36 | except ImportError: # pragma: no cover | CODE |
| HIGH | kedro/validation/pandera_validator.py | 98 | except ImportError: | CODE |
| HIGH | kedro/validation/pandera_validator.py | 106 | except ImportError: | CODE |
| HIGH | kedro/validation/pandera_validator.py | 114 | except ImportError: | CODE |
| HIGH | kedro/validation/pandera_validator.py | 173 | except TypeError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/deploy/supported-platforms/aws_batch.md | 141 | ## Step 1: Prepare your Kedro project | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_batch.md | 195 | ## Step 2: Set up AWS | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_batch.md | 253 | ## Step 3: Configure Kedro for AWS Batch | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_batch.md | 381 | ## Step 4: Create the custom AWS Batch runner | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_batch.md | 567 | ## Step 5: Customise the project CLI | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_batch.md | 603 | ## Step 6: Package, build, and push the container image | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_batch.md | 670 | ## Step 7: Submit the pipeline from your machine | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_batch.md | 694 | ## Step 8: Verify the jobs succeeded | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_step_functions.md | 143 | ## Step 1: Prepare your Kedro project | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_step_functions.md | 197 | ## Step 2: Set up AWS | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_step_functions.md | 238 | ## Step 3: Configure Kedro for AWS | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_step_functions.md | 356 | ## Step 4: Create the Lambda handler | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_step_functions.md | 394 | ## Step 5: Write the CDK deployment script | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_step_functions.md | 605 | ## Step 6: Package, build, and push the container image | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_step_functions.md | 670 | ## Step 7: Deploy with CDK | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_step_functions.md | 693 | ## Step 8: Run the state machine | COMMENT |
| LOW | docs/deploy/supported-platforms/aws_step_functions.md | 711 | ## Step 9: Verify outputs on S3 | COMMENT |
| LOW | …cs/deploy/supported-platforms/amazon_emr_serverless.md | 170 | ## Step 1: Prepare your Kedro project | COMMENT |
| LOW | …cs/deploy/supported-platforms/amazon_emr_serverless.md | 190 | ## Step 2: Set up AWS | COMMENT |
| LOW | …cs/deploy/supported-platforms/amazon_emr_serverless.md | 226 | ## Step 3: Configure Kedro for EMR | COMMENT |
| LOW | …cs/deploy/supported-platforms/amazon_emr_serverless.md | 285 | ## Step 4: Package the Kedro project | COMMENT |
| LOW | …cs/deploy/supported-platforms/amazon_emr_serverless.md | 297 | ## Step 5: Build the custom Docker image | COMMENT |
| LOW | …cs/deploy/supported-platforms/amazon_emr_serverless.md | 353 | ## Step 6: Validate and push the image to ECR | COMMENT |
| LOW | …cs/deploy/supported-platforms/amazon_emr_serverless.md | 394 | ## Step 7: Create the EMR Serverless application | COMMENT |
| LOW | …cs/deploy/supported-platforms/amazon_emr_serverless.md | 462 | ## Step 8: Create and upload the entrypoint script | COMMENT |
| LOW | …cs/deploy/supported-platforms/amazon_emr_serverless.md | 521 | ## Step 9: Submit your first job | COMMENT |
| LOW | …cs/deploy/supported-platforms/amazon_emr_serverless.md | 556 | ## Step 10: Verify the job succeeded | COMMENT |
| LOW | docs/create/minimal_kedro_project.md | 75 | ### Step 1: create a new Kedro project | COMMENT |
| LOW | docs/create/minimal_kedro_project.md | 89 | ### Step 2: initialise `pyproject.toml` | COMMENT |
| LOW | docs/create/minimal_kedro_project.md | 120 | ### Step 3: install Kedro | COMMENT |
| LOW | docs/create/minimal_kedro_project.md | 128 | ### Step 4: create `settings.py` and `pipeline_registry.py` | COMMENT |
| LOW | docs/create/minimal_kedro_project.md | 164 | ### Step 5: create a basic pipeline | COMMENT |
| LOW | docs/create/minimal_kedro_project.md | 184 | ### Step 6: define the project settings | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/io/test_core.py | 530 | def test_save_and_load(self, my_versioned_dataset, dummy_data): | CODE |
| LOW⚡ | tests/io/test_core.py | 533 | my_versioned_dataset.save(dummy_data) | CODE |
| LOW⚡ | tests/io/test_core.py | 535 | assert dummy_data == reloaded | CODE |
| LOW⚡ | tests/io/test_core.py | 537 | def test_resolve_save_version(self, dummy_data): | CODE |
| LOW⚡ | tests/io/test_core.py | 539 | ds.save(dummy_data) | CODE |
| LOW⚡ | tests/io/test_core.py | 553 | def test_local_exists(self, dummy_data): | CODE |
| LOW⚡ | tests/io/test_core.py | 558 | my_versioned_dataset.save(dummy_data) # _local_exists is used by save | CODE |
| LOW⚡ | tests/io/test_core.py | 572 | def test_exists(self, my_versioned_dataset, dummy_data): | CODE |
| LOW⚡ | tests/io/test_core.py | 575 | my_versioned_dataset.save(dummy_data) | CODE |
| LOW⚡ | tests/io/test_core.py | 579 | def test_prevent_overwrite(self, my_versioned_dataset, dummy_data): | CODE |
| LOW⚡ | tests/io/test_core.py | 582 | my_versioned_dataset.save(dummy_data) | CODE |
| LOW⚡ | tests/io/test_core.py | 588 | my_versioned_dataset.save(dummy_data) | CODE |
| LOW⚡ | tests/io/test_core.py | 597 | self, my_versioned_dataset, load_version, save_version, dummy_data | CODE |
| LOW⚡ | tests/io/test_core.py | 607 | my_versioned_dataset.save(dummy_data) | CODE |
| LOW⚡ | tests/io/test_core.py | 610 | self, my_dataset, my_versioned_dataset, dummy_data | CODE |
| LOW⚡ | tests/io/test_core.py | 614 | my_dataset.save(dummy_data) | CODE |
| LOW⚡ | tests/io/test_core.py | 622 | my_versioned_dataset.save(dummy_data) | CODE |
| LOW⚡ | tests/io/test_core.py | 626 | my_versioned_dataset.save(dummy_data) | CODE |
| LOW⚡ | tests/io/test_core.py | 895 | self, my_legacy_versioned_dataset, load_version, save_version, dummy_data | CODE |
| LOW⚡ | tests/io/test_core.py | 905 | my_legacy_versioned_dataset.save(dummy_data) | CODE |
| LOW⚡ | tests/io/test_core.py | 908 | self, my_legacy_dataset, my_legacy_versioned_dataset, dummy_data | CODE |
| LOW⚡ | tests/io/test_core.py | 912 | my_legacy_dataset.save(dummy_data) | CODE |
| LOW⚡ | tests/io/test_core.py | 920 | my_legacy_versioned_dataset.save(dummy_data) | CODE |
| LOW⚡ | tests/io/test_core.py | 924 | my_legacy_versioned_dataset.save(dummy_data) | CODE |
| LOW | tests/io/test_core.py | 212 | def dummy_data(): | CODE |
| LOW | tests/io/test_core.py | 883 | def test_saving_invalid_data(self, my_legacy_dataset, dummy_data): | CODE |
| LOW⚡ | docs/tutorials/test_a_project.md | 351 | def test_split_data(dummy_data, dummy_parameters): | CODE |
| LOW⚡ | docs/tutorials/test_a_project.md | 353 | dummy_data, dummy_parameters["model_options"] | CODE |
| LOW⚡ | docs/tutorials/test_a_project.md | 360 | def test_split_data_missing_price(dummy_data, dummy_parameters): | CODE |
| LOW⚡ | docs/tutorials/test_a_project.md | 361 | dummy_data_missing_price = dummy_data.drop(columns="price") | CODE |
| LOW⚡ | docs/tutorials/test_a_project.md | 367 | def test_data_science_pipeline(caplog, dummy_data, dummy_parameters): | CODE |
| LOW⚡ | docs/tutorials/test_a_project.md | 375 | catalog["model_input_table"] = dummy_data | CODE |
| LOW | docs/tutorials/test_a_project.md | 65 | dummy_data = pd.DataFrame( | CODE |
| LOW | docs/tutorials/test_a_project.md | 83 | X_train, X_test, y_train, y_test = split_data(dummy_data, dummy_parameters["model_options"]) | CODE |
| LOW | docs/tutorials/test_a_project.md | 107 | dummy_data = pd.DataFrame( | CODE |
| LOW | docs/tutorials/test_a_project.md | 126 | X_train, X_test, y_train, y_test = split_data(dummy_data, dummy_parameters["model_options"]) | CODE |
| LOW | docs/tutorials/test_a_project.md | 205 | dummy_data = pd.DataFrame( | CODE |
| LOW | docs/tutorials/test_a_project.md | 222 | catalog["model_input_table"] = dummy_data | CODE |
| LOW | docs/tutorials/test_a_project.md | 262 | In our tests, we can see that `dummy_data` and `dummy_parameters` have been defined three times with almost the same val | CODE |
| LOW | docs/tutorials/test_a_project.md | 270 | def dummy_data(): | CODE |
| LOW | docs/tutorials/test_a_project.md | 295 | def test_split_data(dummy_data, dummy_parameters): | CODE |
| LOW | docs/tutorials/test_a_project.md | 329 | def dummy_data(): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | features/steps/cli_steps.py | 35 | "execution_count": null, | CODE |
| HIGH | features/steps/cli_steps.py | 94 | "execution_count": null, | CODE |
| HIGH | tests/config/test_omegaconf_config.py | 991 | "null": "${globals: x.NOT_EXIST, null}", | CODE |
| HIGH | tests/config/test_omegaconf_config.py | 1472 | "null": "${runtime_params: x.NOT_EXIST, null}", | CODE |
| HIGH | tests/config/test_omegaconf_config.py | 1737 | "null": "${globals: x.NOT_EXIST, null}", | CODE |
| HIGH | tests/io/test_memory_dataset.py | 29 | return data1.equals(data2) | CODE |
| HIGH | kedro/io/memory_dataset.py | 27 | assert loaded_data.equals(data) | STRING |
| HIGH | kedro/io/memory_dataset.py | 32 | assert reloaded_data.equals(new_data) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | kedro_benchmarks/_utils.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | features/test_plugin/plugin.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/framework/cli/test_cli_hooks.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/framework/session/conftest.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | kedro/pipeline/__init__.py | 9 | __all__ = [ | CODE |
| LOW | kedro/framework/context/__init__.py | 12 | __all__ = [ | CODE |
| LOW | kedro/framework/cli/__init__.py | 10 | __all__ = ["main", "command_with_verbosity", "load_entry_points"] | CODE |
| LOW | kedro/framework/cli/utils.py | 46 | logger = logging.getLogger(__name__) | CODE |
| LOW | kedro/framework/cli/utils.py | 203 | def _update_verbose_flag(ctx: click.Context, param: Any, value: bool) -> None: | CODE |
| LOW | kedro/framework/cli/hooks/__init__.py | 6 | __all__ = ["CLIHooksManager", "cli_hook_impl", "get_cli_hook_manager"] | CODE |
| LOW | kedro/framework/cli/hooks/manager.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | kedro/framework/project/__init__.py | 256 | def set_requested(self, pipeline_names: list[str] | None) -> None: | CODE |
| LOW | kedro/framework/hooks/__init__.py | 6 | __all__ = ["_create_hook_manager", "hook_impl"] | CODE |
| LOW | kedro/framework/hooks/manager.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | kedro/framework/session/__init__.py | 9 | __all__ = ["AbstractSession", "KedroSession", "KedroServiceSession"] | CODE |
| LOW | kedro/config/__init__.py | 12 | __all__ = [ | CODE |
| LOW | kedro/ipython/__init__.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | kedro/runner/__init__.py | 11 | __all__ = [ | CODE |
| LOW | kedro/runner/parallel_runner.py | 107 | def _set_manager_datasets(self, catalog: SharedMemoryCatalogProtocol) -> None: # type: ignore[override] | CODE |
| LOW | kedro/io/data_catalog.py | 1416 | def set_manager_datasets(self, manager: SyncManager) -> None: | CODE |
| LOW | kedro/io/__init__.py | 23 | __all__ = [ | CODE |
| LOW | kedro/io/core.py | 1216 | def set_manager_datasets(self, manager: SyncManager) -> None: ... | CODE |
| LOW | kedro/io/shared_memory_dataset.py | 30 | def set_manager(self, manager: SyncManager) -> None: | CODE |
| LOW | kedro/server/__init__.py | 13 | __all__ = ["create_http_server"] | CODE |
| LOW | kedro/server/http_server.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | kedro/inspection/__init__.py | 21 | __all__ = [ | CODE |
| LOW | …/pipeline/{{ cookiecutter.pipeline_name }}/__init__.py | 8 | __all__ = ["create_pipeline"] | CODE |
| LOW | kedro/validation/parameter_validator.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | kedro/validation/__init__.py | 23 | __all__ = [ | CODE |
| LOW | kedro/validation/utils.py | 97 | def set_nested_dict_value(data: dict, path: str, value: Any) -> None: | CODE |
| LOW | kedro/validation/type_extractor.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | kedro/validation/pandera_validator.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | kedro/validation/model_factory.py | 12 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | zensical.toml | 381 | # ------------------------- | COMMENT |
| LOW | .mdformat.toml | 1 | # Numbered steps in tutorials/deployment guides use sequential numbering | COMMENT |
| LOW | …arter/{{ cookiecutter.repo_name }}/docs/source/conf.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | …arter/{{ cookiecutter.repo_name }}/docs/source/conf.py | 61 | COMMENT | |
| LOW | …arter/{{ cookiecutter.repo_name }}/docs/source/conf.py | 81 | COMMENT | |
| LOW | …arter/{{ cookiecutter.repo_name }}/docs/source/conf.py | 101 | html_static_path = ["_static"] | COMMENT |
| LOW | …arter/{{ cookiecutter.repo_name }}/docs/source/conf.py | 121 | COMMENT | |
| LOW | …ter/{{ cookiecutter.repo_name }}/conf/base/catalog.yml | 1 | # Here you can define all your datasets by using simple YAML syntax. | COMMENT |
| LOW | …ter/{{ cookiecutter.repo_name }}/conf/base/catalog.yml | 21 | # inferSchema: True | COMMENT |
| LOW | …e }}/src/{{ cookiecutter.python_package }}/settings.py | 1 | """Project settings. There is no need to edit this file unless you want to change values | COMMENT |
| LOW | …e }}/src/{{ cookiecutter.python_package }}/settings.py | 21 | # Directory that holds configuration. | COMMENT |
| LOW | …e }}/src/{{ cookiecutter.python_package }}/settings.py | 41 | # Class that manages the Data Catalog. | COMMENT |
| LOW | tests/io/test_data_catalog.py | 641 | with pytest.raises(DatasetError, match=pattern): | COMMENT |
| LOW | .agents/scripts/post_github_review.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 21 | # bash bootstrap_env.sh --type venv --name .venv --python 3.11 # full create | COMMENT |
| LOW | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 21 | # Note: there is no flag for the mixed `code+docs` scope — it's only reachable | COMMENT |
| LOW | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 101 | # Fallback: origin/main if it exists, else main | COMMENT |
| LOW | …config/parameters_{{ cookiecutter.pipeline_name }}.yml | 1 | # This is a boilerplate parameters config generated for pipeline '{{ cookiecutter.pipeline_name }}' | COMMENT |
| LOW | …oject/{{ cookiecutter.repo_name }}/docs/source/conf.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | …oject/{{ cookiecutter.repo_name }}/docs/source/conf.py | 61 | # enable autosummary plugin (table of contents for modules/classes/class | COMMENT |
| LOW | …oject/{{ cookiecutter.repo_name }}/docs/source/conf.py | 81 | language = "en" | COMMENT |
| LOW | …oject/{{ cookiecutter.repo_name }}/docs/source/conf.py | 101 | # | COMMENT |
| LOW | …oject/{{ cookiecutter.repo_name }}/docs/source/conf.py | 121 | html_show_sourcelink = False | COMMENT |
| LOW | …{ cookiecutter.repo_name }}/conf/local/credentials.yml | 1 | # Here you can define credentials for different datasets and environment. | COMMENT |
| LOW | …ect/{{ cookiecutter.repo_name }}/conf/base/catalog.yml | 1 | # Here you can define all your datasets by using simple YAML syntax. | COMMENT |
| LOW | …e }}/src/{{ cookiecutter.python_package }}/settings.py | 1 | """Project settings. There is no need to edit this file unless you want to change values | COMMENT |
| LOW | …e }}/src/{{ cookiecutter.python_package }}/settings.py | 21 | # Keyword arguments to pass to the `SESSION_STORE_CLASS` constructor. | COMMENT |
| LOW | …e }}/src/{{ cookiecutter.python_package }}/settings.py | 41 | # } | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/github_actions/extract_release_notes.py | 5 | CODE | |
| LOW | tests/framework/cli/pipeline/conftest.py | 23 | CODE | |
| LOW | kedro/pipeline/pipeline.py | 1376 | CODE | |
| LOW | kedro/pipeline/pipeline.py | 315 | CODE | |
| LOW | kedro/pipeline/pipeline.py | 712 | CODE | |
| LOW | kedro/pipeline/node.py | 504 | CODE | |
| LOW | kedro/framework/cli/starters.py | 220 | CODE | |
| LOW | kedro/framework/cli/starters.py | 555 | CODE | |
| LOW | kedro/framework/cli/utils.py | 239 | CODE | |
| LOW | kedro/framework/cli/pipeline.py | 261 | CODE | |
| LOW | kedro/framework/project/__init__.py | 619 | CODE | |
| LOW | kedro/config/omegaconf_config.py | 703 | CODE | |
| LOW | kedro/ipython/__init__.py | 102 | CODE | |
| LOW | kedro/ipython/__init__.py | 429 | CODE | |
| LOW | kedro/ipython/__init__.py | 569 | CODE | |
| LOW | kedro/runner/runner.py | 198 | CODE | |
| LOW | kedro/io/data_catalog.py | 1326 | CODE | |
| LOW | kedro/validation/parameter_validator.py | 37 | CODE | |
| LOW | kedro/validation/type_extractor.py | 46 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/github_actions/merge.sh | 56 | # Check if the PR_BRANCH already exists | COMMENT |
| LOW | tests/ipython/test_ipython.py | 78 | assert pipelines._content == {} # Check if it is lazy loaded | CODE |
| LOW | kedro/framework/project/__init__.py | 588 | # Check if file exists, if it does, validate it. | COMMENT |
| LOW | kedro/config/omegaconf_config.py | 570 | # Check if it's an archive file | COMMENT |
| LOW | kedro/config/omegaconf_config.py | 790 | # Check if any component (folder or file) starts with a dot (.) | COMMENT |
| LOW | kedro/runner/runner.py | 98 | # Check if there are any input datasets that aren't in the catalog and | COMMENT |
| LOW | kedro/runner/runner.py | 694 | # Check if persistent dataset exists | COMMENT |
| LOW | kedro/io/core.py | 740 | # Check if the module exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | kedro_benchmarks/benchmark_runner.py | 19 | CODE | |
| LOW | kedro/framework/session/session.py | 276 | CODE | |
| LOW | kedro/framework/session/service_session.py | 200 | CODE | |
| LOW | kedro/config/omegaconf_config.py | 100 | CODE | |
| LOW | kedro/io/memory_dataset.py | 66 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 2 | # run_local_checks.sh — orchestrate local equivalents of CI checks. | COMMENT |
| MEDIUM | docs/create/starters.md | 49 | - [`support-agent-langgraph`](https://github.com/kedro-org/kedro-starters/tree/main/support-agent-langgraph): An example | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | .agents/skills/kedro-security-review/reference.md | 163 | (`"YOUR_API_KEY"`, `"xxx"`, `"<token>"`) — classify as | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/extend/how_to_create_a_custom_dataset.md | 106 | Several built-in Kedro datasets rely on [fsspec](https://filesystem-spec.readthedocs.io/en/latest/) as a consistent inte | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .agents/skills/kedro-babysit/scripts/bootstrap_env.sh | 18 | # Usage: | COMMENT |
| LOW | .agents/skills/kedro-babysit/scripts/watch_ci.sh | 15 | # Usage: | COMMENT |
| LOW | …gents/skills/kedro-babysit/scripts/run_local_checks.sh | 13 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/pipeline/test_node.py | 435 | def test_function(self): | CODE |
| LOW⚡ | tests/ipython/test_ipython.py | 639 | "def helper():\n" | CODE |
| LOW | kedro/ipython/__init__.py | 576 | def helper(): ... | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | kedro/__init__.py | 1 | """Kedro is a framework that makes it easy to build robust and scalable | STRING |