Prefect is a workflow orchestration framework for building resilient data pipelines in Python.
This report presents the forensic synthetic code analysis of PrefectHQ/prefect, a Python project with 23,341 GitHub stars. SynthScan v2.0 examined 924,219 lines of code across 3816 source files, recording 18445 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 22.7 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 18445 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hatch_build.py | 27 | def should_validate_packaged_ui_index_files(root: str | Path) -> bool: | CODE |
| LOW | hatch_build.py | 38 | def validate_packaged_ui_index_files(root: str | Path) -> None: | CODE |
| LOW | ui/src/types/automation.ts | 32 | export function isAutomationActionFormValues(value: AutomationFormValues): value is AutomationActionFormValues { | CODE |
| LOW | ui/src/components/AutomationWizardStepTrigger.vue | 67 | function updateTriggerFromJsonString(): AutomationTrigger { | CODE |
| LOW | ui/src/services/apiStatus.ts | 12 | export function setupApiStatusInterceptor(axiosInstance: AxiosInstance): void { | CODE |
| LOW | plans/2026-01-12-deployment-crud-events.md | 140 | async def _deployment_related_resources( | CODE |
| LOW | plans/2026-01-12-deployment-crud-events.md | 165 | async def emit_deployment_created_event( | CODE |
| LOW | plans/2026-01-12-deployment-crud-events.md | 179 | async def emit_deployment_updated_event( | CODE |
| LOW | plans/2026-01-12-deployment-crud-events.md | 197 | async def emit_deployment_deleted_event( | CODE |
| LOW | plans/2025-01-31-per-node-dbt-orchestration.md | 386 | def compute_freshness_expiration( | CODE |
| LOW | plans/completed/2026-02-18-runner-refactor.md | 256 | def propose_awaiting_retry_sync(self, flow_run: FlowRun) -> None: ... | CODE |
| LOW | plans/completed/2026-02-18-runner-refactor.md | 546 | def reschedule_current_flow_runs(self) -> None: ... # sync — uses snapshot(), sync client | CODE |
| LOW⚡ | plans/completed/2026-02-18-runner-refactor.md | 583 | async def _run_on_cancellation_hooks(self, flow_run: "FlowRun", state: "State") -> None: ... | CODE |
| LOW⚡ | plans/completed/2026-02-18-runner-refactor.md | 592 | async def _get_and_submit_flow_runs(self) -> None: ... # → _scheduled_run_poller._get_and_subm | CODE |
| LOW⚡ | plans/completed/2026-02-18-runner-refactor.md | 595 | async def _mark_flow_run_as_cancelled(self, flow_run: "FlowRun", state_updates: "dict[str, Any] | None" = None) -> N | CODE |
| LOW⚡ | plans/completed/2026-02-18-runner-refactor.md | 596 | async def _handle_cancellation_observer_failure(self) -> None: ... | CODE |
| LOW | tests/conftest.py | 163 | def pytest_collection_modifyitems( | CODE |
| LOW | tests/conftest.py | 266 | async def restore_loop_after_each_test(): | CODE |
| LOW | tests/conftest.py | 296 | def assert_lifespan_is_not_left_open(): | CODE |
| LOW | tests/conftest.py | 424 | async def generate_test_database_connection_url( | CODE |
| LOW | tests/conftest.py | 506 | def test_database_connection_url( | STRING |
| LOW | tests/conftest.py | 619 | def leaves_no_extraneous_files(): | STRING |
| LOW⚡ | tests/test_serializers.py | 403 | def test_does_not_allow_object_hook_collision(self): | STRING |
| LOW⚡ | tests/test_serializers.py | 407 | def test_does_not_allow_default_collision(self): | STRING |
| LOW⚡ | tests/test_serializers.py | 411 | def test_pydantic_generic_model_roundtrip(self): | STRING |
| LOW⚡ | tests/test_serializers.py | 455 | def test_exc_type_rejects_non_exception_class(self): | STRING |
| LOW⚡ | tests/test_serializers.py | 461 | def test_exc_type_allows_real_exception(self): | STRING |
| LOW⚡ | tests/test_serializers.py | 468 | def test_exc_type_raises_on_unimportable_class(self): | STRING |
| LOW⚡ | tests/test_serializers.py | 474 | def test_exc_type_raises_on_dotless_name(self): | STRING |
| LOW⚡ | tests/test_serializers.py | 478 | def test_class_path_handles_unimportable_class(self): | STRING |
| LOW⚡ | tests/test_serializers.py | 484 | def test_class_path_handles_dotless_name(self): | STRING |
| LOW | tests/test_serializers.py | 88 | def restore_dispatch_registry(self): | STRING |
| LOW | tests/test_serializers.py | 98 | def test_serializers_do_not_allow_extra_fields(self): | STRING |
| LOW | tests/test_serializers.py | 111 | def test_serializers_can_be_created_by_dict(self): | STRING |
| LOW | tests/test_serializers.py | 127 | def test_serializers_can_be_created_by_object(self): | STRING |
| LOW | tests/test_serializers.py | 143 | def test_serializers_can_be_created_by_type_string(self): | STRING |
| LOW | tests/test_serializers.py | 165 | def test_unknown_serializers_raise_validation_error(self): | STRING |
| LOW | tests/test_serializers.py | 184 | def test_simple_roundtrip_with_builtin_pickle(self, data): | STRING |
| LOW | tests/test_serializers.py | 189 | def test_picklelib_must_be_string(self): | STRING |
| LOW | tests/test_serializers.py | 206 | def test_picklelib_must_implement_dumps(self, monkeypatch: pytest.MonkeyPatch): | STRING |
| LOW | tests/test_serializers.py | 216 | def test_picklelib_must_implement_loads(self, monkeypatch: pytest.MonkeyPatch): | STRING |
| LOW | tests/test_serializers.py | 250 | def test_simple_roundtrip_with_complex_bytes(self, data: Any): | STRING |
| LOW | tests/test_serializers.py | 263 | def test_uses_alternative_json_library(self, monkeypatch: pytest.MonkeyPatch): | STRING |
| LOW | tests/test_serializers.py | 276 | def test_json_serializer_does_not_consume_iobase_objects(self): | STRING |
| LOW | tests/test_serializers.py | 337 | def test_allows_custom_encoder(self, monkeypatch: pytest.MonkeyPatch): | STRING |
| LOW | tests/test_serializers.py | 362 | def test_allows_custom_decoder(self, monkeypatch: pytest.MonkeyPatch): | STRING |
| LOW | tests/test_serializers.py | 386 | def test_allows_custom_kwargs(self, monkeypatch: pytest.MonkeyPatch): | STRING |
| LOW | tests/test_serializers.py | 437 | def test_dataclass_generic_model_roundtrip(self): | STRING |
| LOW | tests/test_serializers.py | 497 | def test_allows_stdlib_compression_libraries(self, lib): | STRING |
| LOW | tests/test_serializers.py | 502 | def test_uses_alternative_compression_library( | STRING |
| LOW | tests/test_serializers.py | 515 | def test_uses_given_serializer(self, monkeypatch: pytest.MonkeyPatch): | STRING |
| LOW | tests/test_infrastructure_bound_flow.py | 60 | def mock_subprocess_check_call(self, monkeypatch: pytest.MonkeyPatch): | CODE |
| LOW | tests/test_infrastructure_bound_flow.py | 113 | async def work_pool_without_default_result_storage( | CODE |
| LOW | tests/test_infrastructure_bound_flow.py | 145 | async def work_pool_missing_storage_configuration( | CODE |
| LOW | tests/test_infrastructure_bound_flow.py | 160 | def test_bind_flow_to_infrastructure( | CODE |
| LOW | tests/test_infrastructure_bound_flow.py | 178 | def dragged_through_the_garden(): | CODE |
| LOW | tests/test_infrastructure_bound_flow.py | 292 | def test_bind_flow_to_infrastructure_normalizes_launcher( | CODE |
| LOW | tests/test_infrastructure_bound_flow.py | 311 | def test_bind_flow_to_infrastructure_rejects_invalid_launcher_keys( | CODE |
| LOW | tests/test_infrastructure_bound_flow.py | 329 | def test_bind_flow_to_infrastructure_rejects_empty_launcher_override( | CODE |
| LOW | tests/test_infrastructure_bound_flow.py | 344 | def test_with_options_preserves_launcher_when_not_provided( | CODE |
| 13901 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | plans/2026-01-06-custom-deployment-sdks.md | 621 | Get a deployment by name. Args: name: The deployment name in "flow-name/deployment-name" format. | STRING |
| HIGH | tests/_internal/compatibility/test_migration.py | 10 | Import an object from a dotted path. This function dynamically imports an object (such as a class, function, o | STRING |
| HIGH | tests/runner/test_storage.py | 125 | Format and return the full git URL with GitLab credentials embedded. Handles both personal access toke | STRING |
| HIGH | …integrations/prefect-dbt/prefect_dbt/core/_manifest.py | 345 | Get the resolved dependencies for a specific node. Args: node_id: The unique_id of the node | STRING |
| HIGH | …integrations/prefect-dbt/prefect_dbt/core/_manifest.py | 365 | Compute execution waves using Kahn's algorithm. Each wave contains nodes that can be executed in parallel. | STRING |
| HIGH | …integrations/prefect-dbt/prefect_dbt/core/_manifest.py | 548 | Resolve dbt selectors to a set of node unique_ids. Uses `dbt ls` under the hood, so all of dbt's selector syntax is | STRING |
| HIGH | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1104 | Execute a dbt build wave-by-wave or per-node. Pipeline: 1. Parse the manifest 2. Optionally res | STRING |
| HIGH | …ntegrations/prefect-dbt/prefect_dbt/core/_freshness.py | 64 | Convert a dbt freshness period specification to a timedelta. Args: count: Number of periods period: | STRING |
| HIGH | …ntegrations/prefect-dbt/prefect_dbt/core/_artifacts.py | 224 | Create a Prefect `Asset` from a `DbtNode`. Args: node: The DbtNode to create an asset for. Must have a | STRING |
| HIGH | …integrations/prefect-dbt/prefect_dbt/core/_executor.py | 691 | Execute a wave of nodes using `dbt build`. Uses `dbt build` to handle mixed resource types in a single invocati | STRING |
| HIGH | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 167 | Task for running dbt commands. If no profiles.yml file is found or if overwrite_profiles flag is set to True, | STRING |
| HIGH | …tegrations/prefect-dbt/prefect_dbt/cli/configs/base.py | 176 | Create a TargetConfigs instance from a dbt profiles.yml file. Args: profile_name: Name of | STRING |
| HIGH | src/integrations/prefect-dbt/prefect_dbt/cloud/jobs.py | 382 | A task to trigger a dbt Cloud job run. Args: dbt_cloud_credentials: Credentials for authenticating wit | STRING |
| HIGH | src/integrations/prefect-dbt/prefect_dbt/cloud/jobs.py | 531 | Flow that triggers a job run and waits for the triggered run to complete. Args: dbt_cloud_credentials: | STRING |
| HIGH | src/integrations/prefect-dbt/prefect_dbt/cloud/jobs.py | 836 | Flow that retrys a subset of dbt Cloud job run, filtered by select statuses, and waits for the triggered retry | STRING |
| HIGH | src/integrations/prefect-dbt/prefect_dbt/cloud/utils.py | 62 | Task that calls a specified endpoint in the dbt Cloud administrative API. Use this task if a prebuilt one is no | STRING |
| HIGH | …ntegrations/prefect-dbt/prefect_dbt/cloud/_executor.py | 179 | Poll a run until it reaches a terminal status. Args: run_id: dbt Cloud run ID to poll. Ret | STRING |
| HIGH | …ntegrations/prefect-dbt/prefect_dbt/cloud/_executor.py | 472 | Execute a wave of dbt nodes via an ephemeral dbt Cloud job. Uses `dbt build --select sel1 sel2 ...` to execute | STRING |
| HIGH | src/integrations/prefect-dbt/prefect_dbt/cloud/runs.py | 165 | A task to get an artifact generated for a completed run. The requested artifact is saved to a file in the curre | STRING |
| HIGH | src/integrations/prefect-dbt/prefect_dbt/cloud/runs.py | 256 | Waits for the given dbt Cloud job run to finish running. Args: run_id: The ID of the run to wait for. | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 1505 | Creates a bucket (async version). Args: location: The location of the bucket. | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 1536 | Creates a bucket. Args: location: The location of the bucket. **create_kwargs: | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 1603 | Lists all blobs in the bucket that are in a folder (async version). Folders are not included in the out | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 1640 | Lists all blobs in the bucket that are in a folder. Folders are not included in the output. Ar | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 1668 | Lists all folders and subfolders in the bucket (async version). Args: folder: List all fol | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 1713 | Lists all folders and subfolders in the bucket. Args: folder: List all folders and subfold | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 1751 | Downloads an object from the object storage service to a path (async version). Args: from_ | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 1801 | Downloads an object from the object storage service to a path. Args: from_path: The path t | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 1842 | Downloads an object from the object storage service to a file-like object (async version), which can be | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 1897 | Downloads an object from the object storage service to a file-like object, which can be a BytesIO objec | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 1945 | Downloads objects *within* a folder (excluding the folder itself) from the object storage service to a | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 2013 | Downloads objects *within* a folder (excluding the folder itself) from the object storage service to a | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 2067 | Uploads an object from a path to the object storage service (async version). Args: from_pa | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 2113 | Uploads an object from a path to the object storage service. Args: from_path: The path to | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 2149 | Uploads an object to the object storage service from a file-like object (async version), which can be a | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 2204 | Uploads an object to the object storage service from a file-like object, which can be a BytesIO object | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 2255 | Uploads files *within* a folder (excluding the folder itself) to the object storage service folder (asy | STRING |
| HIGH | …/integrations/prefect-gcp/prefect_gcp/cloud_storage.py | 2315 | Uploads files *within* a folder (excluding the folder itself) to the object storage service folder. | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/credentials.py | 243 | Helper method to dynamically get a client type. Args: client_type: The name of the client | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/credentials.py | 267 | Gets an authenticated Cloud Storage client. Args: project: Name of the project to use; ove | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/credentials.py | 328 | Gets an authenticated BigQuery client. Args: project: Name of the project to use; override | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 1096 | Fetch a single result from the database (async version). Repeated calls using the same inputs to *any* | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 1155 | Fetch a single result from the database. Repeated calls using the same inputs to *any* of the fetch me | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 1213 | Fetch a limited number of results from the database (async version). Repeated calls using the same inp | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 1280 | Fetch a limited number of results from the database. Repeated calls using the same inputs to *any* of | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 1344 | Fetch all results from the database (async version). Repeated calls using the same inputs to *any* of | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 1401 | Fetch all results from the database. Repeated calls using the same inputs to *any* of the fetch method | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 1456 | Executes an operation on the database (async version). This method is intended to be used for operation | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 1504 | Executes an operation on the database. This method is intended to be used for operations that do not re | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 1549 | Executes many operations on the database (async version). This method is intended to be used for operat | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 1601 | Executes many operations on the database. This method is intended to be used for operations that do not | STRING |
| HIGH | …ations/prefect-gcp/prefect_gcp/workers/cloud_run_v2.py | 1050 | Check whether a transient submission error actually started an execution. Submitting a Cloud Run job i | STRING |
| HIGH | …ations/prefect-gcp/prefect_gcp/workers/cloud_run_v2.py | 1311 | Update execution status until it is no longer running. Args: cr_client (Resource): The bas | STRING |
| HIGH | …egrations/prefect-gcp/prefect_gcp/deployments/steps.py | 41 | Pushes the contents of the current working directory to a GCS bucket, excluding files and folders specified in | STRING |
| HIGH | …egrations/prefect-gcp/prefect_gcp/deployments/steps.py | 145 | Pulls the contents of a project from an GCS bucket to the current working directory. Args: bucket: The | STRING |
| HIGH | …refect-kubernetes/prefect_kubernetes/custom_objects.py | 139 | Task for reading a namespaced Kubernetes custom object. Args: kubernetes_credentials: `KubernetesCredential | STRING |
| HIGH | …refect-kubernetes/prefect_kubernetes/custom_objects.py | 313 | Task for patching a namespaced custom resource. Args: kubernetes_credentials: KubernetesCredentials block | STRING |
| HIGH | …refect-kubernetes/prefect_kubernetes/custom_objects.py | 386 | Task for replacing a namespaced custom resource. Args: kubernetes_credentials: KubernetesCredentials block | STRING |
| HIGH | …s/prefect-kubernetes/prefect_kubernetes/credentials.py | 205 | Utility function for configuring a generic Kubernetes client. It will attempt to connect to a Kubernete | STRING |
| HIGH | …grations/prefect-kubernetes/prefect_kubernetes/jobs.py | 174 | Task for patching a namespaced Kubernetes job. Args: kubernetes_credentials: KubernetesCredentials block | STRING |
| 249 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | plans/completed/2026-02-18-runner-refactor.md | 560 | # ── Internal attributes — tests access these directly ──────────────────────── | COMMENT |
| MEDIUM⚡ | plans/completed/2026-02-18-runner-refactor.md | 576 | # ── Private method passthroughs ────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 286 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 288 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 389 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 391 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 450 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 452 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 1045 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 1047 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 1230 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 1232 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 1312 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 1314 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 1412 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_assets.py | 1414 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_assets.py | 52 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_assets.py | 54 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_assets.py | 678 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_assets.py | 680 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_subprocess_logging.py | 15 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_subprocess_logging.py | 17 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_subprocess_logging.py | 44 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_subprocess_logging.py | 46 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 92 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 94 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 136 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 138 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 197 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 199 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 268 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 270 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 297 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 299 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 525 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 527 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 543 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 545 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 599 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 601 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 679 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__scheduled_run_poller.py | 681 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/runner/test__scheduled_run_poller.py | 14 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/runner/test__scheduled_run_poller.py | 16 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__flow_run_executor.py | 147 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__flow_run_executor.py | 149 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__flow_run_executor.py | 444 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/runner/test__flow_run_executor.py | 446 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/runner/test__flow_run_executor.py | 18 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/runner/test__flow_run_executor.py | 20 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/server/services/test_db_vacuum.py | 165 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/server/services/test_db_vacuum.py | 167 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/server/services/test_db_vacuum.py | 54 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/server/services/test_db_vacuum.py | 56 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/events/server/triggers/test_flow_run_slas.py | 810 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | …ents/server/actions/test_pausing_resuming_work_pool.py | 324 | # ----------------------------------------------------- | COMMENT |
| MEDIUM | …ents/server/actions/test_pausing_resuming_work_pool.py | 330 | # ----------------------------------------------------- | COMMENT |
| MEDIUM | examples/run_api_sourced_etl.py | 67 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | examples/run_api_sourced_etl.py | 69 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | examples/run_api_sourced_etl.py | 83 | # --------------------------------------------------------------------------- | COMMENT |
| 315 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_task_worker.py | 0 | tests for the sync_compatible to async_dispatch migration. | STRING |
| HIGH | tests/blocks/test_core.py | 0 | tests for the sync_compatible to async_dispatch migration. | STRING |
| HIGH | tests/concurrency/v1/test_concurrency_sync.py | 0 | tests for the sync_compatible to async_dispatch migration. | STRING |
| HIGH | tests/test_flows.py | 0 | \ from prefect import flow @flow def test_flow(): return 1 | STRING |
| HIGH | tests/runner/test_storage.py | 0 | \ from prefect import flow @flow def test_flow(): return 1 | STRING |
| HIGH | tests/runner/test_runner.py | 0 | \ from prefect import flow @flow def test_flow(): return 1 | STRING |
| HIGH | tests/deployment/test_steps.py | 0 | \ from prefect import flow @flow def test_flow(): return 1 | STRING |
| HIGH | tests/test_filesystems.py | 0 | add files and directories to a temporary directory. returns a tuple with the expected parent-level contents and the expe | STRING |
| HIGH | …c/integrations/prefect-github/tests/test_repository.py | 0 | add files and directories to a temporary directory. returns a tuple with the expected parent-level contents and the expe | STRING |
| HIGH | …integrations/prefect-gitlab/tests/test_repositories.py | 0 | add files and directories to a temporary directory. returns a tuple with the expected parent-level contents and the expe | STRING |
| HIGH | …ntegrations/prefect-bitbucket/tests/test_repository.py | 0 | add files and directories to a temporary directory. returns a tuple with the expected parent-level contents and the expe | STRING |
| HIGH | tests/server/database/test_migrations.py | 0 | flow run {{ flow.name }}/{{ flow_run.name }} observed in state `{{ flow_run.state.name }}` at {{ flow_run.state.timestam | STRING |
| HIGH | …9_112902_4160a4841eed_remove_flow_run_notifications.py | 0 | flow run {{ flow.name }}/{{ flow_run.name }} observed in state `{{ flow_run.state.name }}` at {{ flow_run.state.timestam | STRING |
| HIGH | …8_133722_7655f31c5157_remove_flow_run_notifications.py | 0 | flow run {{ flow.name }}/{{ flow_run.name }} observed in state `{{ flow_run.state.name }}` at {{ flow_run.state.timestam | STRING |
| HIGH | tests/server/database/test_queries.py | 0 | creates: - three different work pools ("a", "b", "c") - three different queues in each pool ("aa", "ab", "ac", "ba", "bb | STRING |
| HIGH | tests/server/models/test_workers.py | 0 | creates: - three different work pools ("a", "b", "c") - three different queues in each pool ("aa", "ab", "ac", "ba", "bb | STRING |
| HIGH | tests/server/orchestration/api/test_workers.py | 0 | creates: - three different work pools ("a", "b", "c") - three different queues in each pool ("aa", "ab", "ac", "ba", "bb | STRING |
| HIGH | tests/server/api/test_logs_text_search.py | 0 | opens an appropriate session for the backend, seeds it with the test events, and returns it for use in tests | STRING |
| HIGH | tests/events/test_events_text_search.py | 0 | opens an appropriate session for the backend, seeds it with the test events, and returns it for use in tests | STRING |
| HIGH | tests/events/server/test_events_counts.py | 0 | opens an appropriate session for the backend, seeds it with the test events, and returns it for use in tests | STRING |
| HIGH | tests/server/api/test_logs_websocket.py | 0 | when auth is not configured, old clients without prefect subprotocol are accepted. | STRING |
| HIGH | tests/events/server/gateway/test_gateway_out.py | 0 | when auth is not configured, old clients without prefect subprotocol are accepted. | STRING |
| HIGH | tests/events/server/gateway/test_gateway_in.py | 0 | when auth is not configured, old clients without prefect subprotocol are accepted. | STRING |
| HIGH | tests/cli/transfer/test_work_pools.py | 0 | test that construct returns cached instance for same id. | STRING |
| HIGH | tests/cli/transfer/test_flows.py | 0 | test that construct returns cached instance for same id. | STRING |
| HIGH | tests/cli/transfer/test_concurrency_limits.py | 0 | test that construct returns cached instance for same id. | STRING |
| HIGH | tests/cli/transfer/test_blocks.py | 0 | test that construct returns cached instance for same id. | STRING |
| HIGH | tests/cli/transfer/test_work_queues.py | 0 | test that construct returns cached instance for same id. | STRING |
| HIGH | tests/cli/transfer/test_automations.py | 0 | test that construct returns cached instance for same id. | STRING |
| HIGH | tests/cli/transfer/test_variables.py | 0 | test that construct returns cached instance for same id. | STRING |
| HIGH | tests/cli/transfer/test_deployments.py | 0 | test that construct returns cached instance for same id. | STRING |
| HIGH | tests/cli/transfer/test_work_pools.py | 0 | test that get_instance returns none for unknown id. | STRING |
| HIGH | tests/cli/transfer/test_flows.py | 0 | test that get_instance returns none for unknown id. | STRING |
| HIGH | tests/cli/transfer/test_concurrency_limits.py | 0 | test that get_instance returns none for unknown id. | STRING |
| HIGH | tests/cli/transfer/test_blocks.py | 0 | test that get_instance returns none for unknown id. | STRING |
| HIGH | tests/cli/transfer/test_work_queues.py | 0 | test that get_instance returns none for unknown id. | STRING |
| HIGH | tests/cli/transfer/test_automations.py | 0 | test that get_instance returns none for unknown id. | STRING |
| HIGH | tests/cli/transfer/test_variables.py | 0 | test that get_instance returns none for unknown id. | STRING |
| HIGH | tests/cli/transfer/test_deployments.py | 0 | test that get_instance returns none for unknown id. | STRING |
| HIGH | tests/cli/transfer/test_work_pools.py | 0 | test that dependencies are cached after first call. | STRING |
| HIGH | tests/cli/transfer/test_work_queues.py | 0 | test that dependencies are cached after first call. | STRING |
| HIGH | tests/cli/transfer/test_automations.py | 0 | test that dependencies are cached after first call. | STRING |
| HIGH | tests/cli/transfer/test_deployments.py | 0 | test that dependencies are cached after first call. | STRING |
| HIGH | src/integrations/prefect-dbt/tests/conftest.py | 0 | sets up test harness for temporary db during test runs. | STRING |
| HIGH | src/integrations/prefect-kubernetes/tests/conftest.py | 0 | sets up test harness for temporary db during test runs. | STRING |
| HIGH | src/integrations/prefect-github/tests/conftest.py | 0 | sets up test harness for temporary db during test runs. | STRING |
| HIGH | src/integrations/prefect-snowflake/tests/conftest.py | 0 | sets up test harness for temporary db during test runs. | STRING |
| HIGH | src/integrations/prefect-dask/tests/conftest.py | 0 | sets up test harness for temporary db during test runs. | STRING |
| HIGH | src/integrations/prefect-docker/tests/conftest.py | 0 | sets up test harness for temporary db during test runs. | STRING |
| HIGH | src/integrations/prefect-gitlab/tests/conftest.py | 0 | sets up test harness for temporary db during test runs. | STRING |
| HIGH | src/integrations/prefect-sqlalchemy/tests/conftest.py | 0 | sets up test harness for temporary db during test runs. | STRING |
| HIGH | src/integrations/prefect-shell/tests/conftest.py | 0 | sets up test harness for temporary db during test runs. | STRING |
| HIGH | src/integrations/prefect-bitbucket/tests/conftest.py | 0 | sets up test harness for temporary db during test runs. | STRING |
| HIGH | src/integrations/prefect-databricks/tests/conftest.py | 0 | sets up test harness for temporary db during test runs. | STRING |
| HIGH | src/integrations/prefect-redis/tests/conftest.py | 0 | sets up test harness for temporary db during test runs. | STRING |
| HIGH | src/integrations/prefect-azure/tests/conftest.py | 0 | sets up test harness for temporary db during test runs. | STRING |
| HIGH | src/integrations/prefect-gcp/prefect_gcp/decorators.py | 0 | validate include_files syntax at decoration time. checks: - all items are strings - no empty or whitespace-only strings | STRING |
| HIGH | …ns/prefect-kubernetes/prefect_kubernetes/decorators.py | 0 | validate include_files syntax at decoration time. checks: - all items are strings - no empty or whitespace-only strings | STRING |
| HIGH | …tegrations/prefect-docker/prefect_docker/decorators.py | 0 | validate include_files syntax at decoration time. checks: - all items are strings - no empty or whitespace-only strings | STRING |
| HIGH | src/integrations/prefect-aws/prefect_aws/decorators.py | 0 | validate include_files syntax at decoration time. checks: - all items are strings - no empty or whitespace-only strings | STRING |
| 217 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hatch_build.py | 1 | CODE | |
| LOW | tools/write_build_info.py | 1 | CODE | |
| LOW | tests/conftest.py | 50 | CODE | |
| LOW | tests/conftest.py | 95 | CODE | |
| LOW | tests/conftest.py | 96 | CODE | |
| LOW | tests/conftest.py | 98 | CODE | |
| LOW | tests/conftest.py | 99 | CODE | |
| LOW | tests/conftest.py | 100 | CODE | |
| LOW | tests/conftest.py | 101 | CODE | |
| LOW | tests/conftest.py | 102 | CODE | |
| LOW | tests/conftest.py | 103 | CODE | |
| LOW | tests/conftest.py | 104 | CODE | |
| LOW | tests/conftest.py | 105 | CODE | |
| LOW | tests/conftest.py | 106 | CODE | |
| LOW | tests/conftest.py | 107 | CODE | |
| LOW | tests/conftest.py | 108 | CODE | |
| LOW | tests/test_infrastructure_bound_flow.py | 1 | CODE | |
| LOW | tests/test_logging.py | 1 | CODE | |
| LOW | tests/test_logging.py | 89 | CODE | |
| LOW | tests/test_logging.py | 89 | CODE | |
| LOW | tests/test_logging.py | 90 | CODE | |
| LOW | tests/test_filesystems.py | 808 | CODE | |
| LOW | tests/test_versioning.py | 1 | CODE | |
| LOW | tests/test_transactions.py | 1 | CODE | |
| LOW | tests/test_flows_compat.py | 1 | CODE | |
| LOW | tests/test_ui_build_validation.py | 1 | CODE | |
| LOW | tests/test_background_tasks.py | 26 | CODE | |
| LOW | tests/test_types.py | 1 | CODE | |
| LOW | tests/test_settings.py | 1 | CODE | |
| LOW | tests/blocks/conftest.py | 8 | CODE | |
| LOW | tests/_internal/test_control_listener.py | 3 | CODE | |
| LOW | tests/docker/test_docker_image.py | 1 | CODE | |
| LOW | tests/docker/test_buildx.py | 3 | CODE | |
| LOW | tests/_experimental/bundles/test_zip_extractor.py | 8 | CODE | |
| LOW | tests/_experimental/bundles/test_zip_builder.py | 8 | CODE | |
| LOW | …experimental/bundles/test_include_files_integration.py | 8 | CODE | |
| LOW | …ts/_experimental/bundles/test_dependency_validation.py | 3 | CODE | |
| LOW | tests/_experimental/bundles/test_ignore_filter.py | 16 | CODE | |
| LOW | tests/_experimental/bundles/test_execute.py | 1 | CODE | |
| LOW | tests/_experimental/bundles/test_file_collector.py | 12 | CODE | |
| LOW | tests/_experimental/bundles/test_path_resolver.py | 9 | CODE | |
| LOW | tests/plugins/test_plugins.py | 5 | CODE | |
| LOW | tests/plugins/test_compat.py | 10 | CODE | |
| LOW | tests/runner/test__scheduled_run_poller.py | 1 | CODE | |
| LOW | tests/runner/test__deployment_registry.py | 1 | CODE | |
| LOW | tests/runner/test__workspace_resolver.py | 1 | CODE | |
| LOW | tests/runner/test__starter_bundle.py | 1 | CODE | |
| LOW | tests/runner/test__workspace_starter.py | 1 | CODE | |
| LOW | tests/runner/test__flow_run_executor.py | 1 | CODE | |
| LOW | tests/runner/test__cancellation_manager.py | 1 | CODE | |
| LOW | tests/runner/test__process_manager.py | 1 | CODE | |
| LOW | tests/runner/test__state_proposer.py | 1 | CODE | |
| LOW | tests/runner/test_runner.py | 1 | CODE | |
| LOW | tests/runner/test__control_channel.py | 3 | CODE | |
| LOW | tests/runner/test_control_channel_e2e.py | 19 | CODE | |
| LOW | tests/runner/test__starter_engine.py | 1 | CODE | |
| LOW | tests/runner/test__event_emitter.py | 1 | CODE | |
| LOW | tests/runner/test__flow_resolver.py | 1 | CODE | |
| LOW | tests/runner/test__hook_runner.py | 1 | CODE | |
| LOW | tests/runner/test__starter_direct.py | 1 | CODE | |
| 1216 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/conftest.py | 387 | # Create the storage path now, fixing an obscure bug where it can be created by | COMMENT |
| MEDIUM | tests/conftest.py | 457 | # Create an empty temporary database for use in the tests | COMMENT |
| MEDIUM | tests/test_infrastructure_bound_flow.py | 913 | # Create an initial flow run using the client directly | COMMENT |
| MEDIUM | tests/test_infrastructure_bound_flow.py | 961 | # Create an initial flow run using the client directly | COMMENT |
| MEDIUM⚡ | tests/test_filesystems.py | 314 | # Create a real file | COMMENT |
| MEDIUM⚡ | tests/test_filesystems.py | 318 | # Create a symlink within the source directory | COMMENT |
| MEDIUM⚡ | tests/test_filesystems.py | 322 | # Create a destination directory | COMMENT |
| MEDIUM⚡ | tests/test_filesystems.py | 345 | # Create a real file | COMMENT |
| MEDIUM⚡ | tests/test_filesystems.py | 349 | # Create a symlink within the source directory | COMMENT |
| MEDIUM⚡ | tests/test_filesystems.py | 353 | # Create a destination directory | COMMENT |
| MEDIUM | tests/test_futures.py | 89 | # Create a slow future first, then fast ones | COMMENT |
| MEDIUM | tests/test_futures.py | 661 | # Create a new future instance (simulating getting the future from delay()) | COMMENT |
| MEDIUM | tests/test_artifacts.py | 998 | # Create an artifact first | COMMENT |
| MEDIUM | tests/test_artifacts.py | 1017 | # Create an artifact first | COMMENT |
| MEDIUM | tests/test_transactions.py | 723 | # Create a result store with explicit NullFileSystem for metadata_storage | COMMENT |
| MEDIUM | tests/test_transactions.py | 825 | # Create a result store with explicit NullFileSystem for metadata_storage | COMMENT |
| MEDIUM | tests/test_cache_policies.py | 222 | # Create a compound policy with multiple Inputs policies | COMMENT |
| MEDIUM | tests/test_flow_engine.py | 5308 | # Create a flow run with a deployment | COMMENT |
| MEDIUM⚡ | tests/test_context.py | 438 | # Create a deployment and avoid red squiggles | COMMENT |
| MEDIUM⚡ | tests/test_context.py | 448 | # Create a flow run from the deployment | COMMENT |
| MEDIUM⚡ | tests/test_context.py | 453 | # Define a wrapper function to ensure environment variables and settings propagate because | COMMENT |
| MEDIUM | tests/test_context.py | 465 | # Create a new settings object to pick up the new environment variables | COMMENT |
| MEDIUM | tests/test_settings.py | 2871 | # Create a new settings instance to pick up the env var | COMMENT |
| MEDIUM | tests/test_settings.py | 2992 | # Create a new settings instance that will load from the profiles file | STRING |
| MEDIUM | tests/_internal/concurrency/test_services.py | 342 | # Creating an instance from an async context is not always safe when sending an | COMMENT |
| MEDIUM⚡ | tests/_internal/pydantic/test_validated_func.py | 428 | # Define a test module namespace that simulates using future annotations | COMMENT |
| MEDIUM⚡ | tests/_internal/pydantic/test_validated_func.py | 431 | # Create a model in that namespace | COMMENT |
| MEDIUM | tests/_internal/pydantic/test_validated_func.py | 445 | # Define a function with the model as a parameter using string annotation | COMMENT |
| MEDIUM | tests/_internal/pydantic/test_validated_func.py | 456 | # Create an instance of the model | COMMENT |
| MEDIUM | tests/_internal/analytics/conftest.py | 80 | # Create a fresh Prefect home in tmp_path | COMMENT |
| MEDIUM | tests/_experimental/bundles/test_zip_extractor.py | 765 | # Create a valid zip | COMMENT |
| MEDIUM | tests/_experimental/bundles/test_bundles.py | 102 | # Create a mock flow run | COMMENT |
| MEDIUM | tests/_experimental/bundles/test_bundles.py | 291 | # Create a flow with include_files | COMMENT |
| MEDIUM | tests/_experimental/bundles/test_zip_builder.py | 387 | # Create a file that will produce a zip >= 50MB | COMMENT |
| MEDIUM | …experimental/bundles/test_include_files_integration.py | 421 | # Create a sidecar zip | COMMENT |
| MEDIUM | …experimental/bundles/test_include_files_integration.py | 444 | # Create a helper script that copies files preserving directory structure | COMMENT |
| MEDIUM | …experimental/bundles/test_include_files_integration.py | 690 | # Create a real flow file | STRING |
| MEDIUM | …experimental/bundles/test_include_files_integration.py | 720 | # Create a flow and set include_files (as @ecs decorator would) | STRING |
| MEDIUM | tests/_experimental/bundles/test_file_collector.py | 1137 | # Create a file slightly over threshold | COMMENT |
| MEDIUM⚡ | tests/_experimental/bundles/test_path_resolver.py | 715 | # Create a test file | COMMENT |
| MEDIUM⚡ | tests/_experimental/bundles/test_path_resolver.py | 729 | # Create a file outside the base directory | COMMENT |
| MEDIUM | tests/_experimental/bundles/test_path_resolver.py | 685 | # Create a test file | COMMENT |
| MEDIUM | tests/_experimental/bundles/test_path_resolver.py | 809 | # Create a subdirectory | COMMENT |
| MEDIUM | tests/_experimental/bundles/test_path_resolver.py | 822 | # Create a dotfile | COMMENT |
| MEDIUM | tests/_experimental/bundles/test_path_resolver.py | 895 | # Create the parent structure to ensure file exists | COMMENT |
| MEDIUM | tests/input/test_run_input.py | 757 | # Create a model with initial data | COMMENT |
| MEDIUM | tests/plugins/test_plugins.py | 272 | # Create a mock module with a function-based plugin | COMMENT |
| MEDIUM | tests/plugins/test_plugins.py | 296 | # Create a mock module with an async function-based plugin | COMMENT |
| MEDIUM | tests/runner/test_runner.py | 1195 | # Create a mock flow run | COMMENT |
| MEDIUM | tests/runner/test_runner.py | 2760 | # Create an instance and add its flow method | COMMENT |
| MEDIUM | tests/runner/test_runner.py | 2787 | # Create an instance and add its flow method with cancellation hook | COMMENT |
| MEDIUM | tests/runner/test_runner.py | 2831 | # Create an instance and add its flow method with crashed hook | COMMENT |
| MEDIUM⚡ | tests/locking/test_filelock.py | 74 | # Create a stale lock with a dead PID | COMMENT |
| MEDIUM | tests/locking/test_filelock.py | 167 | # Create a lock held by "this process" so it won't be detected | COMMENT |
| MEDIUM⚡ | tests/server/models/test_flow_runs.py | 310 | # Create a flow run with no labels | COMMENT |
| MEDIUM | tests/server/models/test_flow_runs.py | 269 | # Create a flow run with initial labels | COMMENT |
| MEDIUM | tests/server/models/test_csrf_token.py | 46 | # Create a token | COMMENT |
| MEDIUM | tests/server/models/test_deployments.py | 272 | # Create a global concurrency limit first | COMMENT |
| MEDIUM | tests/server/models/test_deployments.py | 1114 | # Create a deployment with custom labels | COMMENT |
| MEDIUM | tests/server/models/test_deployments.py | 1159 | # Create a deployment with custom labels and schedules | COMMENT |
| 273 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_logging.py | 1778 | except Exception: | CODE |
| LOW | tests/test_logging.py | 1855 | except Exception as exc: # noqa | CODE |
| LOW | tests/test_flows.py | 2140 | except Exception: | CODE |
| LOW⚡ | tests/test_exceptions.py | 55 | except Exception as exc: | CODE |
| LOW⚡ | tests/test_exceptions.py | 65 | except Exception as exc: | CODE |
| MEDIUM | tests/test_exceptions.py | 52 | def test_pickle_roundtrip_single_error(self): | CODE |
| MEDIUM | tests/test_exceptions.py | 62 | def test_pickle_roundtrip_two_errors(self): | CODE |
| MEDIUM | tests/test_tasks.py | 1429 | def test_flow(): | CODE |
| LOW | tests/test_tasks.py | 3936 | except Exception: | CODE |
| LOW | tests/test_tasks.py | 5498 | except Exception: | CODE |
| LOW | tests/_internal/test_control_listener.py | 46 | except Exception: | CODE |
| LOW⚡ | tests/_internal/test_control_listener.py | 66 | except Exception: | CODE |
| LOW | tests/_internal/compatibility/test_migration.py | 57 | except Exception as exc: | CODE |
| LOW | tests/utilities/test_importtools.py | 471 | except Exception as e: | STRING |
| LOW | tests/utilities/test_pydantic.py | 41 | except Exception as exc: | CODE |
| LOW | tests/utilities/test_dockerutils.py | 17 | except Exception: | CODE |
| LOW | tests/utilities/test_urls.py | 484 | except Exception: | CODE |
| LOW | tests/events/client/test_events_client.py | 445 | except Exception as e: | CODE |
| LOW | integration-tests/test_task_worker.py | 73 | except Exception as e: | CODE |
| LOW | integration-tests/test_flow_suspension.py | 64 | except Exception as exc: | CODE |
| LOW | integration-tests/test_flow_suspension.py | 209 | except Exception: | CODE |
| LOW | integration-tests/test_nested_cancellation.py | 99 | except Exception as exc: # pragma: no cover - diagnostic path | CODE |
| LOW | integration-tests/test_client_context_lifespan.py | 112 | except Exception as e: | CODE |
| MEDIUM | integration-tests/test_client_context_lifespan.py | 113 | print(f"Error entering client many times {e}") | CODE |
| MEDIUM | integration-tests/test_client_context_lifespan.py | 35 | def lifespan(app): | CODE |
| LOW | integration-tests/test_load_flows_concurrently.py | 37 | except Exception as e: | CODE |
| LOW | integration-tests/test_worker.py | 35 | except Exception: | CODE |
| LOW | integration-tests/test_schedule_statefulness.py | 49 | except Exception as e: | CODE |
| MEDIUM | integration-tests/test_schedule_statefulness.py | 50 | print(f"Error checking schedules: {e}") | CODE |
| LOW | integration-tests/test_runner_resilience.py | 76 | except Exception as e: | STRING |
| LOW | integration-tests/test_runner_resilience.py | 83 | except Exception as e: | STRING |
| LOW | ui-v2/e2e/helpers/run_flows.py | 172 | except Exception as e: | CODE |
| MEDIUM | ui-v2/e2e/helpers/run_flows.py | 173 | print(f"Error running scenario '{args.scenario}': {e}", file=sys.stderr) | CODE |
| LOW | examples/ai_database_cleanup_with_approval.py | 255 | except Exception as e: | CODE |
| LOW | scripts/backfill_release_notes.py | 321 | except Exception: | CODE |
| LOW | scripts/run-integration-flows.py | 47 | except Exception as e: | CODE |
| MEDIUM | scripts/run-integration-flows.py | 48 | print(f"Error running {script}: {e}") | CODE |
| LOW | scripts/all_links_should_be_ok.py | 38 | except Exception: | CODE |
| LOW | scripts/all_links_should_be_ok.py | 48 | except Exception as exc: | CODE |
| LOW | scripts/wait-for-server.py | 53 | except Exception as exc: | CODE |
| MEDIUM | scripts/prepare_release_notes.py | 89 | print(f"Error generating release notes: {e}") | CODE |
| LOW | scripts/prepare_release_notes.py | 339 | except Exception: | CODE |
| MEDIUM | scripts/prepare_release_notes.py | 452 | print(f"Error: Invalid version format '{version}'. Expected format: X.Y.Z") | CODE |
| MEDIUM | scripts/prepare_release_notes.py | 459 | print(f"Error: Could not parse version '{version}'") | CODE |
| MEDIUM | scripts/prepare_integration_release_notes.py | 58 | print(f"Error running command {' '.join(cmd)}: {e}", file=sys.stderr) | CODE |
| LOW | scripts/prepare_integration_release_notes.py | 122 | except Exception: | CODE |
| MEDIUM | scripts/prepare_integration_release_notes.py | 354 | print(f"Error: Package '{args.package}' not found.", file=sys.stderr) | STRING |
| LOW | scripts/test_unc_paths.py | 64 | except Exception as e: | STRING |
| MEDIUM | scripts/test_unc_paths.py | 65 | print(f"Error: {type(e).__name__}: {e}") | STRING |
| LOW | scripts/generate_mintlify_openapi_docs.py | 113 | except Exception: | CODE |
| MEDIUM | scripts/generate_api_ref.py | 35 | print(f"Error generating API reference: {result.stderr}", file=sys.stderr) | CODE |
| LOW | …integrations/prefect-dbt/prefect_dbt/core/_manifest.py | 619 | except Exception: | CODE |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 743 | except Exception as e: | CODE |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1286 | except Exception as exc: | CODE |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1364 | except Exception: | CODE |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1392 | except Exception as exc: | CODE |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1578 | except Exception: | CODE |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1593 | except Exception as exc: | CODE |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1942 | except Exception: | CODE |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1975 | except Exception: | CODE |
| 484 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 571 | CODE | |
| LOW | tests/test_flows.py | 2086 | CODE | |
| LOW | tests/test_settings.py | 2652 | CODE | |
| LOW | tests/_internal/concurrency/test_cancellation.py | 364 | CODE | |
| LOW | tests/_internal/concurrency/test_cancellation.py | 395 | CODE | |
| LOW | tests/_internal/concurrency/test_cancellation.py | 416 | CODE | |
| LOW | tests/_internal/concurrency/test_cancellation.py | 456 | CODE | |
| LOW | tests/_internal/concurrency/test_cancellation.py | 500 | CODE | |
| LOW | tests/_internal/concurrency/test_cancellation.py | 539 | CODE | |
| LOW | tests/_internal/concurrency/test_cancellation.py | 561 | CODE | |
| LOW | tests/_internal/concurrency/test_cancellation.py | 566 | CODE | |
| LOW | tests/experimental/test_bundles.py | 854 | CODE | |
| LOW | tests/plugins/test_plugins.py | 479 | CODE | |
| LOW | tests/plugins/test_plugins.py | 562 | CODE | |
| LOW | tests/runner/test_control_channel_e2e.py | 63 | CODE | |
| LOW | tests/runner/test__starter_engine.py | 196 | CODE | |
| LOW | tests/runner/test__starter_engine.py | 399 | CODE | |
| LOW | tests/runner/test__starter_engine.py | 433 | CODE | |
| LOW | tests/server/models/test_filters.py | 51 | CODE | |
| LOW | …sts/server/orchestration/api/test_flow_run_graph_v2.py | 41 | CODE | |
| LOW | tests/server/orchestration/api/test_workers.py | 3958 | CODE | |
| LOW | tests/server/orchestration/api/ui/test_task_runs.py | 181 | CODE | |
| LOW | tests/cli/test_start_server.py | 49 | CODE | |
| LOW | tests/cli/test_deploy.py | 2763 | CODE | |
| LOW | tests/cli/test_deploy.py | 2797 | CODE | |
| LOW | tests/cli/test_transfer.py | 30 | CODE | |
| LOW | tests/concurrency/test_leases.py | 108 | CODE | |
| LOW | tests/workers/test_cleanup.py | 886 | CODE | |
| LOW | tests/events/server/triggers/test_flow_run_slas.py | 761 | CODE | |
| LOW | …/events/server/models/test_automation_notifications.py | 121 | CODE | |
| LOW | …s/events/server/actions/test_jinja_templated_action.py | 652 | CODE | |
| LOW | …s/events/server/actions/test_jinja_templated_action.py | 661 | CODE | |
| LOW | tests/infrastructure/provisioners/test_cloud_run.py | 241 | CODE | |
| LOW | tests/infrastructure/provisioners/test_cloud_run.py | 242 | CODE | |
| LOW | tests/infrastructure/provisioners/test_cloud_run_v2.py | 211 | CODE | |
| LOW | tests/infrastructure/provisioners/test_cloud_run_v2.py | 212 | CODE | |
| LOW | tests/infrastructure/provisioners/test_ecs.py | 971 | CODE | |
| LOW | tests/infrastructure/provisioners/test_ecs.py | 986 | CODE | |
| LOW | scripts/generate_settings_ref.py | 13 | CODE | |
| LOW | scripts/generate_settings_ref.py | 55 | CODE | |
| LOW | scripts/backfill_release_notes.py | 102 | CODE | |
| LOW | scripts/prepare_release_notes.py | 104 | CODE | |
| LOW | scripts/prepare_release_notes.py | 345 | CODE | |
| LOW | scripts/prepare_release_notes.py | 399 | CODE | |
| LOW | scripts/prepare_integration_release_notes.py | 167 | CODE | |
| LOW | scripts/prepare_integration_release_notes.py | 361 | CODE | |
| LOW | scripts/generate_cli_docs.py | 97 | CODE | |
| LOW | scripts/generate_example_pages.py | 70 | CODE | |
| LOW | scripts/verify_test_selection.py | 38 | CODE | |
| LOW | scripts/generate_mintlify_openapi_docs.py | 39 | CODE | |
| LOW | scripts/pyright_diff.py | 60 | CODE | |
| LOW | …integrations/prefect-dbt/prefect_dbt/core/_manifest.py | 361 | CODE | |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 795 | CODE | |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 880 | CODE | |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1013 | CODE | |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1095 | CODE | |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1345 | CODE | |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1596 | CODE | |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1711 | CODE | |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1807 | CODE | |
| 374 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/cli/test_api_command.py | 165 | assert route.calls.last.request.headers.get("X-Custom") == "value" | CODE |
| CRITICAL | tests/cli/test_api_command.py | 190 | assert route.calls.last.request.headers.get("X-Custom-1") == "value1" | CODE |
| CRITICAL | tests/cli/test_api_command.py | 191 | assert route.calls.last.request.headers.get("X-Custom-2") == "value2" | CODE |
| CRITICAL | src/integrations/prefect-dbt/tests/cloud/test_jobs.py | 243 | request_body = json.loads(respx_mock.calls.last.request.content.decode()) | CODE |
| CRITICAL | src/integrations/prefect-dbt/tests/cloud/test_jobs.py | 1623 | request_body = json.loads(respx_mock.calls.last.request.content.decode()) | CODE |
| CRITICAL | src/integrations/prefect-dbt/tests/cloud/test_jobs.py | 1650 | request_body = json.loads(respx_mock.calls.last.request.content.decode()) | CODE |
| CRITICAL | …owflake/prefect_snowflake/experimental/workers/spcs.py | 23 | from snowflake.core.exceptions import NotFoundError | CODE |
| CRITICAL⚡ | …efect-snowflake/tests/experimental/test_spcs_worker.py | 1819 | from snowflake.core.exceptions import NotFoundError | CODE |
| CRITICAL | …efect-snowflake/tests/experimental/test_spcs_worker.py | 534 | from snowflake.core.exceptions import NotFoundError | CODE |
| CRITICAL | …efect-snowflake/tests/experimental/test_spcs_worker.py | 1188 | from snowflake.core.exceptions import NotFoundError | CODE |
| CRITICAL | src/integrations/prefect-docker/tests/test_images.py | 34 | client.__enter__.return_value.images.pull.assert_called_once_with( | CODE |
| CRITICAL | src/integrations/prefect-docker/tests/test_images.py | 56 | client.__enter__.return_value.images.pull.assert_called_once_with( | CODE |
| CRITICAL | src/integrations/prefect-docker/tests/test_images.py | 70 | client.__enter__.return_value.images.pull.assert_called_once_with(**pull_kwargs) | CODE |
| CRITICAL | src/integrations/prefect-docker/tests/test_worker.py | 1584 | mock_docker_client.containers.get.return_value.stop.assert_called_once_with( | CODE |
| CRITICAL | …c/integrations/prefect-docker/tests/test_containers.py | 32 | client.__enter__.return_value.containers.create.assert_called_once_with( | CODE |
| CRITICAL | …c/integrations/prefect-docker/tests/test_containers.py | 47 | client.__enter__.return_value.containers.get.assert_called_once_with("42") | CODE |
| CRITICAL | …c/integrations/prefect-docker/tests/test_containers.py | 60 | client.__enter__.return_value.containers.get.assert_called_once_with("42") | CODE |
| CRITICAL | …c/integrations/prefect-docker/tests/test_containers.py | 73 | client.__enter__.return_value.containers.get.assert_called_once_with("42") | CODE |
| CRITICAL | …c/integrations/prefect-docker/tests/test_containers.py | 86 | client.__enter__.return_value.containers.get.assert_called_once_with("42") | CODE |
| CRITICAL | …rations/prefect-docker/tests/deployments/test_steps.py | 197 | mock_docker_client.images.get.return_value.tag.assert_has_calls( | CODE |
| CRITICAL | …rations/prefect-docker/tests/deployments/test_steps.py | 206 | mock_docker_client.images.get.return_value.tag.assert_called_once_with( | CODE |
| CRITICAL | …rations/prefect-docker/tests/deployments/test_steps.py | 654 | mock_docker_client.images.get.return_value.tag.assert_called_once_with( | CODE |
| CRITICAL | …rations/prefect-docker/tests/deployments/test_steps.py | 676 | mock_docker_client.images.get.return_value.tag.assert_called_once_with( | CODE |
| CRITICAL | src/integrations/prefect-azure/tests/conftest.py | 4 | from azure.core.exceptions import ResourceExistsError | CODE |
| CRITICAL | src/integrations/prefect-azure/tests/test_aci_worker.py | 12 | from azure.core.exceptions import HttpResponseError, ResourceNotFoundError | CODE |
| CRITICAL | …/integrations/prefect-azure/tests/test_blob_storage.py | 6 | from azure.core.exceptions import ResourceExistsError | CODE |
| CRITICAL | …efect-azure/tests/experimental/bundles/test_execute.py | 8 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| CRITICAL | …refect-azure/tests/experimental/bundles/test_upload.py | 5 | from azure.core.exceptions import ResourceExistsError | CODE |
| CRITICAL | …tegrations/prefect-azure/prefect_azure/blob_storage.py | 8 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| CRITICAL | …fect-azure/prefect_azure/workers/container_instance.py | 81 | from azure.core.exceptions import HttpResponseError, ResourceNotFoundError | CODE |
| CRITICAL | src/prefect/tasks.py | 186 | context.task.fn.__code__.co_code.hex(), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/docker/test_docker_image.py | 71 | image.push() | CODE |
| HIGH⚡ | tests/docker/test_docker_image.py | 88 | image.push() # should not raise | CODE |
| HIGH⚡ | tests/docker/test_docker_image.py | 217 | image.push() | CODE |
| HIGH⚡ | tests/docker/test_docker_image.py | 233 | image.push() | CODE |
| HIGH | tests/docker/test_docker_image.py | 197 | image.push() | CODE |
| HIGH | tests/server/database/test_migrations.py | 815 | "INSERT INTO flow_run_notification_policy (is_active, state_names, tags, message_template, block_doc | CODE |
| HIGH⚡ | tests/server/orchestration/api/test_work_queues.py | 1617 | when they entered the PENDING state, not start_time (which is null).""" | STRING |
| HIGH | tests/_sdk/test_schema_converter_unions.py | 7 | """Test conversion of nullable (anyOf with null) types.""" | STRING |
| HIGH⚡ | tests/_sdk/test_schema_converter_unions.py | 153 | e.g., anyOf: [ {"type":"array","items":{"anyOf":[str, int]}}, null ] | STRING |
| HIGH | tests/deployment/test_steps.py | 1530 | "echo first && echo second", | STRING |
| HIGH⚡ | src/integrations/prefect-github/prefect_github/user.py | 2356 | privacy: If non-null, filters repositories | STRING |
| HIGH⚡ | src/integrations/prefect-github/prefect_github/user.py | 2360 | is_locked: If non-null, filters repositories | STRING |
| HIGH⚡ | src/integrations/prefect-github/prefect_github/user.py | 2364 | contribution_types: If non-null, include | STRING |
| HIGH | src/integrations/prefect-github/prefect_github/user.py | 532 | privacy: If non-null, filters repositories according to privacy. | STRING |
| HIGH | src/integrations/prefect-github/prefect_github/user.py | 543 | is_locked: If non-null, filters repositories according to | STRING |
| HIGH | src/integrations/prefect-github/prefect_github/user.py | 1143 | privacy: If non-null, filters repositories according to | STRING |
| HIGH | src/integrations/prefect-github/prefect_github/user.py | 1155 | is_locked: If non-null, filters repositories according to | STRING |
| HIGH | src/integrations/prefect-github/prefect_github/user.py | 1163 | is_fork: If non-null, filters repositories according to | STRING |
| HIGH⚡ | …c/integrations/prefect-github/prefect_github/viewer.py | 2108 | privacy: If non-null, filters repositories | STRING |
| HIGH⚡ | …c/integrations/prefect-github/prefect_github/viewer.py | 2112 | is_locked: If non-null, filters repositories | STRING |
| HIGH⚡ | …c/integrations/prefect-github/prefect_github/viewer.py | 2116 | contribution_types: If non-null, include | STRING |
| HIGH | …c/integrations/prefect-github/prefect_github/viewer.py | 476 | privacy: If non-null, filters repositories according to privacy. | STRING |
| HIGH | …c/integrations/prefect-github/prefect_github/viewer.py | 487 | is_locked: If non-null, filters repositories according to | STRING |
| HIGH | …c/integrations/prefect-github/prefect_github/viewer.py | 1021 | privacy: If non-null, filters repositories according to | STRING |
| HIGH | …c/integrations/prefect-github/prefect_github/viewer.py | 1033 | is_locked: If non-null, filters repositories according to | STRING |
| HIGH | …c/integrations/prefect-github/prefect_github/viewer.py | 1041 | is_fork: If non-null, filters repositories according to | STRING |
| HIGH⚡ | …grations/prefect-github/prefect_github/organization.py | 128 | privacy: If non-null, filters teams according to privacy. | STRING |
| HIGH⚡ | …grations/prefect-github/prefect_github/organization.py | 129 | role: If non-null, filters teams according to whether the viewer | STRING |
| HIGH⚡ | …grations/prefect-github/prefect_github/organization.py | 131 | query: If non-null, filters teams with query on team name and team | STRING |
| HIGH | …grations/prefect-github/prefect_github/organization.py | 944 | privacy: If non-null, filters repositories according to | STRING |
| HIGH | …grations/prefect-github/prefect_github/organization.py | 956 | is_locked: If non-null, filters repositories according to | STRING |
| HIGH | …grations/prefect-github/prefect_github/organization.py | 964 | is_fork: If non-null, filters repositories according to | STRING |
| HIGH | …tegrations/prefect-github/prefect_github/repository.py | 439 | privacy: If non-null, filters repositories according to privacy. | STRING |
| HIGH | …tegrations/prefect-github/prefect_github/repository.py | 450 | is_locked: If non-null, filters repositories according to whether | STRING |
| HIGH | …ions/prefect-github/prefect_github/repository_owner.py | 133 | privacy: If non-null, filters repositories according to | STRING |
| HIGH | …ions/prefect-github/prefect_github/repository_owner.py | 145 | is_locked: If non-null, filters repositories according to | STRING |
| HIGH | …ions/prefect-github/prefect_github/repository_owner.py | 153 | is_fork: If non-null, filters repositories according to | STRING |
| HIGH | …c/integrations/prefect-dask/tests/test_task_runners.py | 392 | assert result.equals(pd.Series([3, 6], index=["x", "y"])) | CODE |
| HIGH | …ons/prefect-docker/prefect_docker/deployments/steps.py | 532 | client.api.push( | CODE |
| HIGH | …ons/prefect-docker/prefect_docker/deployments/steps.py | 538 | client.api.push( | CODE |
| HIGH | …grations/prefect-aws/prefect_aws/workers/ecs_worker.py | 325 | "the task when it is launching. If this value is not null, it will " | STRING |
| HIGH | …grations/prefect-aws/prefect_aws/workers/ecs_worker.py | 546 | "not null, it will override the value in the task definition. This value " | STRING |
| HIGH | …grations/prefect-aws/prefect_aws/workers/ecs_worker.py | 607 | "the task when it is launching. If this value is not null, it will " | STRING |
| HIGH | …grations/prefect-aws/prefect_aws/workers/ecs_worker.py | 619 | "If using the 'awsvpc' network mode and this field is null, your default " | STRING |
| HIGH | …tions/prefect-aws/prefect_aws/observers/diagnostics.py | 70 | # --- Container exit code analysis (non-zero or null) ------------------- | COMMENT |
| HIGH⚡ | src/integrations/prefect-shell/tests/test_commands.py | 127 | command="echo $HOME && echo $TEST_VAR", | CODE |
| HIGH | src/prefect/serializers.py | 298 | level: If not null, the level of compression to pass to `compress`. | STRING |
| HIGH | src/prefect/states.py | 463 | If the state result is null, a wrapper exception will be returned with the state | STRING |
| HIGH | src/prefect/states.py | 549 | If the state result is null, a wrapper exception will be returned with the state | STRING |
| HIGH | src/prefect/_internal/buildx.py | 211 | python_on_whales.docker.image.push(full_name) | CODE |
| HIGH | src/prefect/docker/docker_image.py | 162 | events = client.api.push( | CODE |
| HIGH⚡ | src/prefect/server/database/query_components.py | 235 | # if null, no limit will be applied | COMMENT |
| HIGH | …04_09_125712_cc510aec4689_automation_event_follower.py | 48 | "(\n (\n lower(hex(randomblob(4)))\n || '-'\n || lower(hex(randomblob(2)))\n | CODE |
| HIGH | …4_03_13_111316_bacc60edce16_create_csrf_token_toble.py | 35 | "(\n (\n lower(hex(randomblob(4)))\n || '-'\n || lower(hex(randomblob(2)))\n | CODE |
| HIGH | …e/2024_04_03_111618_07ed05dfd4ec_automations_models.py | 58 | "(\n (\n lower(hex(randomblob(4)))\n || '-'\n || lower(hex(randomblob(2)))\n | CODE |
| HIGH | …e/2024_04_03_111618_07ed05dfd4ec_automations_models.py | 120 | "(\n (\n lower(hex(randomblob(4)))\n || '-'\n || lower(hex(randomblob(2)))\n | CODE |
| HIGH | …e/2024_04_03_111618_07ed05dfd4ec_automations_models.py | 175 | "(\n (\n lower(hex(randomblob(4)))\n || '-'\n || lower(hex(randomblob(2)))\n | CODE |
| HIGH | …e/2024_04_03_111618_07ed05dfd4ec_automations_models.py | 246 | "(\n (\n lower(hex(randomblob(4)))\n || '-'\n || lower(hex(randomblob(2)))\n | CODE |
| HIGH | …e/2024_04_10_104304_824e9edafa60_adds_events_tables.py | 37 | "(\n (\n lower(hex(randomblob(4)))\n || '-'\n || lower(hex(randomblob(2)))\n | CODE |
| HIGH | …e/2024_04_10_104304_824e9edafa60_adds_events_tables.py | 111 | "(\n (\n lower(hex(randomblob(4)))\n || '-'\n || lower(hex(randomblob(2)))\n | CODE |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 337 | # Set PREFECT_HOME to a temporary directory to avoid clobbering | COMMENT |
| LOW | tests/test_flow_engine.py | 5043 | # Set heartbeat_frequency to enable heartbeats | COMMENT |
| LOW | tests/test_flow_engine.py | 5108 | # Set heartbeat_frequency to None (disabled) | COMMENT |
| LOW | tests/test_flow_engine.py | 5136 | # Set heartbeat_frequency to None (disabled) | COMMENT |
| LOW | tests/server/orchestration/api/test_bulk_operations.py | 392 | # Set state to cancelled | COMMENT |
| LOW⚡ | tests/server/orchestration/api/test_flow_runs.py | 355 | # Set limit to 50 bytes; even a small payload should fail | COMMENT |
| LOW | tests/server/orchestration/api/test_deployments.py | 3825 | # Set work_queue to None by removing the work_queue relationship | COMMENT |
| LOW | tests/server/services/test_foreman.py | 474 | # Set inactivity_heartbeat_multiple to 0 to immediately mark worker as offline | COMMENT |
| LOW⚡ | tests/cli/test_deploy.py | 3734 | # Check if the deployment was created correctly | COMMENT |
| LOW⚡ | tests/cli/test_deploy.py | 3744 | # Check if the second deployment was not created | COMMENT |
| LOW | tests/cli/test_deploy.py | 3499 | # Check if deployments were created correctly | COMMENT |
| LOW | tests/cli/test_deploy.py | 3676 | # Check if the two deployments were created correctly | COMMENT |
| LOW | tests/cli/test_deploy.py | 3691 | # Check if the third deployment was not created | COMMENT |
| LOW | tests/cli/test_deploy.py | 3797 | # Check if deployments were created correctly and without the provided CLI options | COMMENT |
| LOW | tests/cli/test_deploy.py | 4069 | # Check if the deployment was created correctly | COMMENT |
| LOW | tests/cli/test_deploy.py | 4169 | # Check if the deployment was created correctly | COMMENT |
| LOW | tests/cli/test_deploy.py | 4230 | # Check if the deployment was created correctly | COMMENT |
| LOW | tests/cli/test_deploy.py | 4310 | # Check if the deployment was created correctly | COMMENT |
| LOW | tests/cli/test_deploy.py | 4401 | # Check if the deployments were not created | COMMENT |
| LOW | tests/cli/test_deploy.py | 4478 | # Check if the deployment was created correctly | COMMENT |
| LOW | tests/cli/test_deploy.py | 4605 | # Check if the deployment was created correctly | COMMENT |
| LOW | tests/cli/test_deploy.py | 4742 | # Check if the deployment was created correctly | COMMENT |
| LOW | tests/cli/test_deploy.py | 4789 | # Check if the deployments were created correctly | COMMENT |
| LOW | tests/cli/test_deploy.py | 6674 | # Check if deployments were created correctly | COMMENT |
| LOW⚡ | tests/utilities/test_hashing.py | 59 | # Check if the hash is stable | COMMENT |
| LOW | …/events/server/models/test_automation_notifications.py | 59 | # Check if we're using PostgreSQL | COMMENT |
| LOW | …infrastructure/provisioners/test_container_instance.py | 1326 | None, # Assign identity to registry | CODE |
| LOW | …infrastructure/provisioners/test_container_instance.py | 1634 | None, # Assign identity to registry | CODE |
| LOW | …infrastructure/provisioners/test_container_instance.py | 1973 | None, # Assign identity to registry | CODE |
| LOW | …infrastructure/provisioners/test_container_instance.py | 2322 | None, # Assign identity to registry | CODE |
| LOW | tests/infrastructure/provisioners/test_modal.py | 104 | # Check if the block document exists and has expected values | COMMENT |
| LOW | tests/infrastructure/provisioners/test_modal.py | 112 | # Check if the base job template was updated | COMMENT |
| LOW | tests/infrastructure/provisioners/test_modal.py | 149 | # Check if the base job template was updated | COMMENT |
| LOW | tests/infrastructure/provisioners/test_modal.py | 190 | # Check if the block document exists and has expected values | COMMENT |
| LOW | tests/infrastructure/provisioners/test_modal.py | 198 | # Check if the base job template was updated | COMMENT |
| LOW⚡ | tests/infrastructure/provisioners/test_coiled.py | 101 | # Check if the block document exists and has expected values | COMMENT |
| LOW⚡ | tests/infrastructure/provisioners/test_coiled.py | 108 | # Check if the base job template was updated | COMMENT |
| LOW | tests/infrastructure/provisioners/test_coiled.py | 131 | # Check if the base job template was updated | COMMENT |
| LOW | tests/infrastructure/provisioners/test_coiled.py | 170 | # Check if the block document exists and has expected values | COMMENT |
| LOW | tests/infrastructure/provisioners/test_coiled.py | 177 | # Check if the base job template was updated | COMMENT |
| LOW⚡ | tests/infrastructure/provisioners/test_ecs.py | 85 | # Check if provisioning is needed | COMMENT |
| LOW⚡ | tests/infrastructure/provisioners/test_ecs.py | 224 | # Check if the IAM user exists | COMMENT |
| LOW | tests/infrastructure/provisioners/test_ecs.py | 119 | # Check if the IAM policy exists | COMMENT |
| LOW | tests/infrastructure/provisioners/test_ecs.py | 330 | # Check if the block document exists | COMMENT |
| LOW | load_testing/run-server.sh | 13 | # Check if container exists | COMMENT |
| LOW | examples/ai_data_analyst_with_pydantic_ai.py | 264 | # Display results | COMMENT |
| LOW | examples/ai_data_analyst_with_pydantic_ai.py | 279 | # Check if OpenAI API key is set | COMMENT |
| LOW | scripts/backfill_release_notes.py | 223 | # Check if we need to add spacing | COMMENT |
| LOW | scripts/backfill_release_notes.py | 235 | # Check if we need to add spacing | COMMENT |
| LOW | scripts/prepare_release_notes.py | 231 | # Check if we need to add spacing | COMMENT |
| LOW | scripts/prepare_release_notes.py | 243 | # Check if we need to add spacing | COMMENT |
| LOW | scripts/prepare_integration_release_notes.py | 396 | # Check if file exists to determine if we need frontmatter | COMMENT |
| LOW | client/client_deploy.py | 21 | # Check if the smoke-test work pool exists | COMMENT |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 868 | # Check if any of the test's parents is node_id | COMMENT |
| LOW | src/integrations/prefect-dbt/prefect_dbt/core/runner.py | 912 | # Check if event has a message (cheap attribute access) | COMMENT |
| LOW | src/integrations/prefect-dbt/prefect_dbt/core/runner.py | 1247 | # Check if this is a valid dbt command | COMMENT |
| LOW | …t_kubernetes_integration_tests/test_crash_detection.py | 78 | # Check if we got at least the pending event - but only if we have events | COMMENT |
| LOW | …ions/prefect-kubernetes/prefect_kubernetes/observer.py | 193 | # Check if a corresponding event already exists. If so, we don't need to emit a new one. | COMMENT |
| LOW | …ions/prefect-kubernetes/prefect_kubernetes/observer.py | 707 | # Check if there are any other jobs with this flow run label | COMMENT |
| LOW | …ions/prefect-kubernetes/prefect_kubernetes/observer.py | 715 | # Check if any other job is completed or running | COMMENT |
| 69 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | plans/2026-01-12-deployment-crud-events.md | 28 | # Cloud uses prefect.* prefix for orchestration objects | COMMENT |
| MEDIUM | tests/test_background_tasks.py | 210 | # after orchestration in a way that differs by microseconds, or the | COMMENT |
| MEDIUM | tests/server/models/test_flow_run_states.py | 118 | # Do not start until we are orchestrating in session 1 | COMMENT |
| MEDIUM | tests/server/models/test_flow_run_states.py | 270 | # put the run in a pending state, which succeeds due to injected orchestration | COMMENT |
| MEDIUM | tests/server/models/test_task_run_states.py | 187 | # put the run in a pending state, which succeeds due to injected orchestration | COMMENT |
| MEDIUM | …ion/test_validate_deployment_concurrency_at_running.py | 491 | # Set up two orchestration contexts | COMMENT |
| MEDIUM | …rchestration/test_flow_run_instrumentation_policies.py | 181 | # send the pending state through orchestration so it is written to the DB | COMMENT |
| MEDIUM | …rchestration/test_flow_run_instrumentation_policies.py | 239 | # send the pending state through orchestration so it is written to the DB | COMMENT |
| MEDIUM | tests/server/orchestration/test_core_policy.py | 2334 | # from being accepted, but this orchestration rule is the wrong place to do it | COMMENT |
| MEDIUM | tests/server/orchestration/test_core_policy.py | 4855 | # The orchestration rule should handle the error gracefully | COMMENT |
| MEDIUM | …/orchestration/test_task_concurrency_v2_integration.py | 466 | # Set validated state to completed (normally done by orchestration) | COMMENT |
| MEDIUM | …/orchestration/test_task_concurrency_v2_integration.py | 565 | # Set validated state to completed (normally done by orchestration) | COMMENT |
| MEDIUM | …/orchestration/test_task_concurrency_v2_integration.py | 715 | # Set validated state to completed (normally done by orchestration) | COMMENT |
| MEDIUM⚡ | tests/server/orchestration/api/test_flow_runs.py | 1910 | # A multi-agent environment may attempt to orchestrate a run more than once, | COMMENT |
| MEDIUM⚡ | tests/server/orchestration/api/test_flow_runs.py | 1910 | # A multi-agent environment may attempt to orchestrate a run more than once, | COMMENT |
| MEDIUM | tests/client/test_prefect_client.py | 175 | assert pool._retries == 3 # set in prefect.client.orchestration.get_client() | CODE |
| MEDIUM | tests/client/test_prefect_client.py | 215 | assert pool._retries == 3 # set in prefect.client.orchestration.get_client() | CODE |
| MEDIUM | tests/client/test_prefect_client.py | 247 | assert pool._retries == 3 # set in prefect.client.orchestration.get_client() | CODE |
| MEDIUM | examples/hello_world.py | 12 | # 1. Ship production-ready orchestration code with **zero boilerplate**. | COMMENT |
| MEDIUM | examples/hello_world.py | 76 | # This simple example demonstrates Prefect's core value proposition: taking regular Python code and enhancing it with pr | COMMENT |
| MEDIUM | examples/hello_world.py | 96 | # Prefect lets you orchestrate these operations effortlessly with automatic observability, error handling, and retries. | COMMENT |
| MEDIUM | examples/hello_world.py | 108 | # The `@flow` decorator is your gateway to enterprise-grade orchestration - no complex configuration needed! | COMMENT |
| MEDIUM | examples/hello_world.py | 111 | # For more information about the orchestration concepts demonstrated in this example, see the [Prefect documentation](ht | COMMENT |
| MEDIUM | examples/ai_data_analyst_with_pydantic_ai.py | 344 | # For more on AI orchestration with Prefect: | COMMENT |
| MEDIUM | examples/run_api_sourced_etl.py | 17 | # * **Prefect** wraps the whole thing in battle-tested orchestration: automatic [retries](https://docs.prefect.io/v3/dev | COMMENT |
| MEDIUM | examples/run_api_sourced_etl.py | 42 | # Watch as Prefect orchestrates the ETL pipeline with automatic retries and logging. The flow fetches multiple pages of | COMMENT |
| MEDIUM⚡ | examples/run_api_sourced_etl.py | 121 | # Flow – orchestrate the ETL with optional concurrency | COMMENT |
| MEDIUM | examples/run_api_sourced_etl.py | 171 | # Prefect lets you focus on *data*, not orchestration plumbing – happy ETL-ing! 🎉 | COMMENT |
| MEDIUM | examples/run_dbt_with_prefect.py | 17 | # * **Prefect** wraps the entire workflow in battle-tested orchestration: automatic [retries](https://docs.prefect.io/v3 | COMMENT |
| MEDIUM | examples/run_dbt_with_prefect.py | 37 | # Write three focused Python functions (download project, run dbt commands, orchestrate workflow), add Prefect decorator | COMMENT |
| MEDIUM | examples/run_dbt_with_prefect.py | 45 | # Watch as Prefect orchestrates the complete dbt lifecycle: downloading the project, running models, executing tests, an | COMMENT |
| MEDIUM⚡ | examples/run_dbt_with_prefect.py | 222 | # This flow orchestrates the standard dbt workflow: deps → seed → run → test. | COMMENT |
| MEDIUM | examples/run_dbt_with_prefect.py | 276 | # Traditional dbt orchestration often involves brittle shell scripts, complex YAML configurations, or heavyweight workfl | COMMENT |
| MEDIUM | examples/run_dbt_with_prefect.py | 287 | # To learn more about orchestrating analytics workflows with Prefect, check out: | COMMENT |
| MEDIUM | examples/atproto_dashboard_with_prefect_assets.py | 25 | # * **Flow orchestration** – Coordinate asset materialization with retries and scheduling | COMMENT |
| MEDIUM | examples/simple_web_scraper.py | 88 | # `@flow` elevates a function to a *flow* – the orchestration nucleus that can call | COMMENT |
| MEDIUM | examples/simple_web_scraper.py | 135 | # Happy scraping – and happy orchestrating! 🎉 | COMMENT |
| MEDIUM | benches/bench_tasks.py | 31 | # measuring any other part of orchestration / collection of results | COMMENT |
| MEDIUM | …tions/prefect-aws/tests/observers/test_ecs_observer.py | 2475 | # Can't identify which container is the orchestration one | COMMENT |
| MEDIUM | …tions/prefect-aws/tests/observers/test_ecs_observer.py | 2501 | # Custom orchestration container exits 0, sidecar exits 1. | COMMENT |
| MEDIUM | …grations/prefect-aws/prefect_aws/workers/ecs_worker.py | 406 | # the name to treat as the "orchestration" container. | STRING |
| MEDIUM | …/integrations/prefect-aws/prefect_aws/observers/ecs.py | 877 | # Run diagnosis when the orchestration container failed or when there | COMMENT |
| MEDIUM | …/integrations/prefect-aws/prefect_aws/observers/ecs.py | 979 | # unambiguously the orchestration container (custom | COMMENT |
| MEDIUM | …/integrations/prefect-aws/prefect_aws/observers/ecs.py | 984 | # name — can't distinguish orchestration from sidecars. | COMMENT |
| MEDIUM | src/prefect/context.py | 474 | # In-process suspension request used to stop execution at orchestration | COMMENT |
| MEDIUM | src/prefect/flow_engine.py | 679 | # if orchestrating a run already in a pending state, force orchestration to | COMMENT |
| MEDIUM | src/prefect/flow_engine.py | 1380 | # if orchestrating a run already in a pending state, force orchestration to | COMMENT |
| MEDIUM | src/prefect/task_engine.py | 941 | # if orchestrating a run already in a pending state, force orchestration to | COMMENT |
| MEDIUM | src/prefect/task_engine.py | 1137 | # if orchestrating a run already in a pending state, force orchestration to | COMMENT |
| MEDIUM | src/prefect/task_engine.py | 1572 | # if orchestrating a run already in a pending state, force orchestration to | COMMENT |
| MEDIUM | src/prefect/task_runners.py | 633 | # and its associated orchestration client for tasks that never | COMMENT |
| MEDIUM | src/prefect/runner/_starter_engine.py | 143 | # That responsibility stays with the Runner orchestration layer (or a | COMMENT |
| MEDIUM | src/prefect/server/models/task_runs.py | 544 | # apply orchestration rules and create the new task run state | COMMENT |
| MEDIUM | src/prefect/server/models/flow_runs.py | 623 | # Lock the row to prevent orchestration race conditions | COMMENT |
| MEDIUM | src/prefect/server/models/flow_runs.py | 652 | # apply orchestration rules and create the new flow run state | COMMENT |
| MEDIUM | src/prefect/server/orchestration/core_policy.py | 1759 | # orchestration rules on the initial PENDING state. | COMMENT |
| MEDIUM | src/prefect/server/api/flow_runs.py | 130 | # pass the request version to the orchestration engine to support compatibility code | COMMENT |
| MEDIUM | src/prefect/server/api/flow_runs.py | 845 | # pass the request version to the orchestration engine to support compatibility code | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_assets.py | 1764 | CODE | |
| LOW | tests/test_tasks.py | 2233 | CODE | |
| LOW | tests/test_tasks.py | 5723 | CODE | |
| LOW | tests/test_tasks.py | 5740 | CODE | |
| LOW | tests/test_variables.py | 257 | CODE | |
| LOW | tests/input/test_actions.py | 296 | CODE | |
| LOW | tests/input/test_actions.py | 312 | CODE | |
| LOW | tests/runtime/test_deployment.py | 19 | CODE | |
| LOW | tests/runtime/test_deployment.py | 245 | CODE | |
| LOW | tests/runtime/test_deployment.py | 251 | CODE | |
| LOW | tests/results/test_flow_results.py | 540 | CODE | |
| LOW | tests/engine/reliability/test_deadlocks.py | 20 | CODE | |
| LOW | examples/per_worker_task_concurrency.py | 120 | CODE | |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 597 | CODE | |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 880 | CODE | |
| LOW | …grations/prefect-dbt/prefect_dbt/core/_orchestrator.py | 1807 | CODE | |
| LOW | src/integrations/prefect-dbt/prefect_dbt/core/runner.py | 148 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 103 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 156 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 451 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 477 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 535 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 561 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 619 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 645 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 703 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 729 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 787 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 813 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 871 | CODE | |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/commands.py | 897 | CODE | |
| LOW | src/integrations/prefect-dbt/tests/core/conftest.py | 15 | CODE | |
| LOW | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 44 | CODE | |
| LOW | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 72 | CODE | |
| LOW | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 200 | CODE | |
| LOW | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 1146 | CODE | |
| LOW | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 1270 | CODE | |
| LOW | src/integrations/prefect-gcp/prefect_gcp/bigquery.py | 1392 | CODE | |
| LOW | src/integrations/prefect-gcp/prefect_gcp/utilities.py | 200 | CODE | |
| LOW | src/integrations/prefect-gcp/prefect_gcp/utilities.py | 207 | CODE | |
| LOW | src/integrations/prefect-gcp/prefect_gcp/utilities.py | 214 | CODE | |
| LOW | …rations/prefect-gcp/prefect_gcp/models/cloud_run_v2.py | 169 | CODE | |
| LOW | …rations/prefect-gcp/prefect_gcp/models/cloud_run_v2.py | 222 | CODE | |
| LOW | …rations/prefect-gcp/prefect_gcp/models/cloud_run_v2.py | 248 | CODE | |
| LOW | …ions/prefect-gcp/tests/test_bigquery_async_dispatch.py | 70 | CODE | |
| LOW | …ions/prefect-gcp/tests/test_bigquery_async_dispatch.py | 113 | CODE | |
| LOW | …ions/prefect-gcp/tests/test_bigquery_async_dispatch.py | 156 | CODE | |
| LOW | …ions/prefect-gcp/tests/test_bigquery_async_dispatch.py | 201 | CODE | |
| LOW | …ions/prefect-gcp/tests/test_bigquery_async_dispatch.py | 250 | CODE | |
| LOW | src/integrations/prefect-gcp/tests/test_bigquery.py | 113 | CODE | |
| LOW | src/integrations/prefect-gcp/tests/test_bigquery.py | 129 | CODE | |
| LOW | src/integrations/prefect-gcp/tests/test_bigquery.py | 150 | CODE | |
| LOW | …prefect-gcp/tests/test_cloud_storage_async_dispatch.py | 56 | CODE | |
| LOW | …prefect-gcp/tests/test_cloud_storage_async_dispatch.py | 95 | CODE | |
| LOW | …prefect-gcp/tests/test_cloud_storage_async_dispatch.py | 136 | CODE | |
| LOW | …prefect-gcp/tests/test_cloud_storage_async_dispatch.py | 175 | CODE | |
| LOW | …prefect-gcp/tests/test_cloud_storage_async_dispatch.py | 218 | CODE | |
| LOW | …refect-gcp/tests/test_secret_manager_async_dispatch.py | 54 | CODE | |
| LOW | …refect-gcp/tests/test_secret_manager_async_dispatch.py | 92 | CODE | |
| LOW | …refect-gcp/tests/test_secret_manager_async_dispatch.py | 125 | CODE | |
| 161 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_logging.py | 1013 | def set_client(self, client: PrefectClient) -> None: | STRING |
| LOW | tests/workers/test_base_worker.py | 3269 | async def update_work_pool(*args: Any, **kwargs: Any) -> None: | CODE |
| LOW | integration-tests/test_setup_logging.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/generate_example_pages.py | 180 | async def update_docs_json(examples: list[Example]) -> None: | STRING |
| LOW | src/integrations/prefect-dbt/prefect_dbt/__init__.py | 19 | __all__ = [ | CODE |
| LOW | …integrations/prefect-dbt/prefect_dbt/core/_manifest.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/integrations/prefect-dbt/prefect_dbt/core/__init__.py | 5 | __all__ = ["DbtHookContext", "PrefectDbtRunner", "PrefectDbtSettings"] | CODE |
| LOW⚡ | …/integrations/prefect-dbt/prefect_dbt/core/_tracker.py | 103 | def set_task_result(self, node_id: str, result: Any) -> None: | CODE |
| LOW⚡ | …/integrations/prefect-dbt/prefect_dbt/core/_tracker.py | 111 | def set_node_dependencies(self, node_id: str, dependencies: list[str]) -> None: | CODE |
| LOW⚡ | …/integrations/prefect-dbt/prefect_dbt/core/_tracker.py | 119 | def set_task_run_id(self, node_id: str, task_run_id: UUID) -> None: | CODE |
| LOW⚡ | …/integrations/prefect-dbt/prefect_dbt/core/_tracker.py | 127 | def set_task_run_name(self, node_id: str, task_run_name: str) -> None: | CODE |
| LOW | …c/integrations/prefect-dbt/prefect_dbt/cli/__init__.py | 35 | __all__ = [ | CODE |
| LOW | src/integrations/prefect-gcp/prefect_gcp/decorators.py | 27 | __all__ = ["cloud_run", "vertex_ai"] | CODE |
| LOW | …tions/prefect-gcp/prefect_gcp/experimental/__init__.py | 12 | __all__ = ["cloud_run", "vertex_ai"] | CODE |
| LOW | …ons/prefect-gcp/prefect_gcp/experimental/decorators.py | 13 | __all__ = ["cloud_run", "vertex_ai"] | CODE |
| LOW | …prefect-gcp/prefect_gcp/experimental/bundles/upload.py | 17 | __all__ = ["UploadBundleToGcsOutput", "main", "upload_bundle_to_gcs"] | CODE |
| LOW | …refect-gcp/prefect_gcp/experimental/bundles/execute.py | 13 | __all__ = ["execute_bundle_from_gcs", "main"] | CODE |
| LOW | …efect-gcp/prefect_gcp/experimental/bundles/__init__.py | 17 | __all__ = ["upload_bundle_to_gcs", "execute_bundle_from_gcs"] | CODE |
| LOW | …c/integrations/prefect-email/prefect_email/__init__.py | 7 | __all__ = ["EmailServerCredentials", "SMTPServer", "SMTPType", "email_send_message"] | CODE |
| LOW | …ns/prefect-kubernetes/prefect_kubernetes/decorators.py | 26 | __all__ = ["kubernetes"] | CODE |
| LOW | …kubernetes/prefect_kubernetes/experimental/__init__.py | 13 | __all__ = ["kubernetes"] | CODE |
| LOW | …bernetes/prefect_kubernetes/experimental/decorators.py | 13 | __all__ = ["kubernetes"] | CODE |
| LOW | …integrations/prefect-github/prefect_github/__init__.py | 6 | __all__ = ["GitHubCredentials", "GitHubRepository"] | CODE |
| LOW | …tegrations/prefect-docker/prefect_docker/decorators.py | 20 | __all__ = ["docker"] | CODE |
| LOW | …prefect-docker/prefect_docker/experimental/__init__.py | 12 | __all__ = ["docker"] | CODE |
| LOW | …efect-docker/prefect_docker/experimental/decorators.py | 13 | __all__ = ["docker"] | CODE |
| LOW | …integrations/prefect-gitlab/prefect_gitlab/__init__.py | 6 | __all__ = ["GitLabRepository", "GitLabCredentials"] | CODE |
| LOW | …integrations/prefect-aws/infra/worker/service_stack.py | 410 | def _setup_autoscaling(self) -> None: | CODE |
| LOW | src/integrations/prefect-aws/prefect_aws/__init__.py | 9 | __all__ = [ | CODE |
| LOW | src/integrations/prefect-aws/prefect_aws/decorators.py | 50 | __all__ = ["ecs"] | CODE |
| LOW | …tions/prefect-aws/prefect_aws/experimental/__init__.py | 12 | __all__ = ["ecs"] | CODE |
| LOW | …ons/prefect-aws/prefect_aws/experimental/decorators.py | 13 | __all__ = ["ecs"] | CODE |
| LOW | …prefect-aws/prefect_aws/experimental/bundles/upload.py | 17 | __all__ = ["UploadResult", "main", "upload_bundle_to_s3"] | CODE |
| LOW | …refect-aws/prefect_aws/experimental/bundles/execute.py | 18 | __all__ = [ | CODE |
| LOW | …tegrations/prefect-aws/prefect_aws/workers/__init__.py | 3 | __all__ = ["ECSWorker"] | CODE |
| LOW | …ntegrations/prefect-aws/prefect_aws/bundles/execute.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ations/prefect-bitbucket/prefect_bitbucket/__init__.py | 8 | __all__ = ["BitBucketCredentials", "BitBucketRepository"] | CODE |
| LOW | …egrations/prefect-redis/prefect_redis/lease_storage.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | …c/integrations/prefect-azure/prefect_azure/__init__.py | 12 | __all__ = [ | CODE |
| LOW | …integrations/prefect-azure/prefect_azure/decorators.py | 26 | __all__ = ["azure_container_instance"] | CODE |
| LOW | …s/prefect-azure/prefect_azure/experimental/__init__.py | 12 | __all__ = ["azure_container_instance"] | CODE |
| LOW | …prefect-azure/prefect_azure/experimental/decorators.py | 13 | __all__ = ["azure_container_instance"] | CODE |
| LOW | …ect-azure/prefect_azure/experimental/bundles/upload.py | 17 | __all__ = [ | CODE |
| LOW | …ct-azure/prefect_azure/experimental/bundles/execute.py | 16 | __all__ = ["execute_bundle_from_azure_blob_storage", "main"] | CODE |
| LOW | …t-azure/prefect_azure/experimental/bundles/__init__.py | 19 | __all__ = [ | CODE |
| LOW | …fect-azure/prefect_azure/workers/container_instance.py | 137 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/prefect/plugins.py | 40 | __all__ = [ | CODE |
| LOW | src/prefect/__init__.py | 177 | __all__ = [ | CODE |
| LOW | src/prefect/context.py | 758 | def update_tracked_assets(self) -> None: | CODE |
| LOW | src/prefect/automations.py | 45 | __all__ = [ | CODE |
| LOW | src/prefect/main.py | 66 | __all__ = [ | CODE |
| LOW | src/prefect/blocks/fields.py | 3 | __all__ = ["SecretDict"] | CODE |
| LOW | src/prefect/blocks/__init__.py | 7 | __all__ = ["notifications", "system", "webhook"] | CODE |
| LOW | src/prefect/_internal/control_listener.py | 65 | def _set_intent(value: Intent) -> None: | CODE |
| LOW | src/prefect/_internal/compatibility/backports.py | 11 | __all__ = ["tomllib"] | CODE |
| LOW | src/prefect/_internal/plugins/startup.py | 126 | __all__ = ["run_startup_hooks", "HookContext", "HookSpec", "SetupResult"] | CODE |
| LOW | src/prefect/_internal/concurrency/calls.py | 291 | def set_timeout(self, timeout: Optional[float] = None) -> None: | CODE |
| LOW | src/prefect/_internal/concurrency/calls.py | 302 | def set_runner(self, portal: "Portal") -> None: | CODE |
| LOW | src/prefect/_internal/analytics/__init__.py | 73 | __all__ = [ | CODE |
| LOW | src/prefect/settings/__init__.py | 46 | __all__ = [ # noqa: F822 | CODE |
| 86 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …omations/automations-wizard/automation-wizard.test.tsx | 639 | // Step 1: Trigger | COMMENT |
| LOW⚡ | …omations/automations-wizard/automation-wizard.test.tsx | 645 | // Step 2: Actions | COMMENT |
| LOW⚡ | …omations/automations-wizard/automation-wizard.test.tsx | 655 | // Step 3: Details | COMMENT |
| LOW⚡ | examples/resume_flow_run_on_pr_merge.py | 26 | # ## Step 1: Create a Prefect webhook | COMMENT |
| LOW⚡ | examples/resume_flow_run_on_pr_merge.py | 51 | # ## Step 2: Configure GitHub webhook | COMMENT |
| LOW⚡ | examples/resume_flow_run_on_pr_merge.py | 61 | # ## Step 3: Create an automation | COMMENT |
| LOW | examples/atproto_dashboard_with_prefect_assets.py | 67 | # ### Step 1: Fetch Raw Data | COMMENT |
| LOW⚡ | examples/atproto_dashboard_with_prefect_assets.py | 88 | # ### Step 2: Process the Data | COMMENT |
| LOW | examples/atproto_dashboard_with_prefect_assets.py | 116 | # ### Step 3: Create Analytics | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1264 | # Step 1: full build — populate cache | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1267 | # Step 2: change root SQL | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1270 | # Step 3: selective run — only leaf | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1277 | # Step 4: full build — root/mid rebuild, leaf must NOT cache-hit | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1283 | # Step 1: all succeed | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1287 | # Step 3: leaf re-executes (cache miss — upstream key changed) | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1290 | # Step 4: root/mid re-execute (new file content); leaf must also | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1315 | # Step 1: change root SQL | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1318 | # Step 2: selective run — only leaf | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1325 | # Step 3: selective run — only root and mid (rebuild upstream) | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1332 | # Step 4: selective run — only leaf again | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1343 | # Step 2: leaf executes (cache miss) | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1345 | # Step 3: root and mid execute | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1348 | # Step 4: leaf must re-execute (NOT cache-hit from step 2) | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1409 | # Step 1: full build — populates execution state for all nodes | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1412 | # Step 2: change A's SQL | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1415 | # Step 3: selective run — only C | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1422 | # Step 4: selective run — only D | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1433 | # Step 1: all succeed | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1435 | # Step 3: C executes (salted upstream keys since A changed) | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1437 | # Step 4: D must re-execute, NOT cache-hit, because C was | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1515 | # Step 1: full build — all succeed, execution state populated | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1518 | # Step 2: change mid's SQL so the cache key changes, | COMMENT |
| LOW | …ntegrations/prefect-slack/prefect_slack/credentials.py | 107 | # failures. This is not available in older versions, so we need to check if the | COMMENT |
| LOW | …integrations/prefect-kubernetes/tests/test_observer.py | 877 | # Step 1: Pod is Pending (no issues yet) | COMMENT |
| LOW | …integrations/prefect-kubernetes/tests/test_observer.py | 911 | # Step 2: Pod is still Pending but now has ImagePullBackOff | COMMENT |
| LOW | …integrations/prefect-kubernetes/tests/test_observer.py | 982 | # Step 1: Pod is Pending and Unschedulable | COMMENT |
| LOW | …integrations/prefect-kubernetes/tests/test_observer.py | 1017 | # Step 2: Pod transitions to Running (problem resolved) | COMMENT |
| LOW | …integrations/prefect-kubernetes/tests/test_observer.py | 1072 | # Step 1: CrashLoopBackOff | COMMENT |
| LOW | …integrations/prefect-kubernetes/tests/test_observer.py | 1105 | # Step 2: Pod terminates with OOMKilled | COMMENT |
| LOW⚡ | src/integrations/prefect-redis/tests/test_ordering.py | 416 | # Step 1: Follower parks itself | COMMENT |
| LOW⚡ | src/integrations/prefect-redis/tests/test_ordering.py | 423 | # Step 2: Leader completes, claiming the follower | COMMENT |
| LOW⚡ | src/integrations/prefect-redis/tests/test_ordering.py | 431 | # Step 3: Simulate follower's double-check path | COMMENT |
| LOW⚡ | src/integrations/prefect-redis/tests/test_ordering.py | 443 | # Step 4: Verify event data is STILL available for the leader | COMMENT |
| LOW⚡ | src/prefect/runner/runner.py | 1644 | # Step 1: client | COMMENT |
| LOW⚡ | src/prefect/runner/runner.py | 1691 | # Step 4: Construct client-dependent services after client is started | COMMENT |
| LOW⚡ | src/prefect/runner/runner.py | 1742 | # Step 5: runs_task_group | COMMENT |
| LOW | src/prefect/runner/runner.py | 1797 | # Step 6: Enter observer context manager last | COMMENT |
| LOW⚡ | src/prefect/runner/_flow_run_executor.py | 164 | # Step 6: remove handle from process_manager | COMMENT |
| LOW⚡ | src/prefect/runner/_flow_run_executor.py | 168 | # Step 7: interpret exit code and propose terminal state | COMMENT |
| LOW⚡ | src/prefect/runner/_flow_run_executor.py | 293 | # Step 4: CancellationManager | COMMENT |
| LOW⚡ | src/prefect/runner/_flow_run_executor.py | 303 | # Step 5: Observer enters LAST (starts websocket/polling) | COMMENT |
| LOW | src/prefect/runner/_flow_run_executor.py | 132 | # Step 2: already-cancelled precheck | COMMENT |
| LOW | src/prefect/runner/_flow_run_executor.py | 184 | # Step 8: run crashed hooks | COMMENT |
| LOW | src/prefect/runner/_flow_run_executor.py | 247 | # Step 1: client | COMMENT |
| LOW | src/prefect/runner/_flow_run_executor.py | 267 | # Step 2: ProcessManager with observer add/remove callbacks | COMMENT |
| LOW | src/prefect/runner/_flow_run_executor.py | 278 | # Step 3: StateProposer, placeholder HookRunner, EventEmitter | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …omations/automations-wizard/automation-wizard.test.tsx | 639 | // Step 1: Trigger | COMMENT |
| LOW⚡ | …omations/automations-wizard/automation-wizard.test.tsx | 645 | // Step 2: Actions | COMMENT |
| LOW⚡ | …omations/automations-wizard/automation-wizard.test.tsx | 655 | // Step 3: Details | COMMENT |
| LOW⚡ | examples/resume_flow_run_on_pr_merge.py | 26 | # ## Step 1: Create a Prefect webhook | COMMENT |
| LOW⚡ | examples/resume_flow_run_on_pr_merge.py | 51 | # ## Step 2: Configure GitHub webhook | COMMENT |
| LOW⚡ | examples/resume_flow_run_on_pr_merge.py | 61 | # ## Step 3: Create an automation | COMMENT |
| LOW | examples/atproto_dashboard_with_prefect_assets.py | 67 | # ### Step 1: Fetch Raw Data | COMMENT |
| LOW⚡ | examples/atproto_dashboard_with_prefect_assets.py | 88 | # ### Step 2: Process the Data | COMMENT |
| LOW | examples/atproto_dashboard_with_prefect_assets.py | 116 | # ### Step 3: Create Analytics | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1264 | # Step 1: full build — populate cache | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1267 | # Step 2: change root SQL | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1270 | # Step 3: selective run — only leaf | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1277 | # Step 4: full build — root/mid rebuild, leaf must NOT cache-hit | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1283 | # Step 1: all succeed | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1287 | # Step 3: leaf re-executes (cache miss — upstream key changed) | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1290 | # Step 4: root/mid re-execute (new file content); leaf must also | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1315 | # Step 1: change root SQL | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1318 | # Step 2: selective run — only leaf | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1325 | # Step 3: selective run — only root and mid (rebuild upstream) | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1332 | # Step 4: selective run — only leaf again | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1343 | # Step 2: leaf executes (cache miss) | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1345 | # Step 3: root and mid execute | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1348 | # Step 4: leaf must re-execute (NOT cache-hit from step 2) | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1409 | # Step 1: full build — populates execution state for all nodes | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1412 | # Step 2: change A's SQL | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1415 | # Step 3: selective run — only C | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1422 | # Step 4: selective run — only D | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1433 | # Step 1: all succeed | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1435 | # Step 3: C executes (salted upstream keys since A changed) | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1437 | # Step 4: D must re-execute, NOT cache-hit, because C was | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1515 | # Step 1: full build — all succeed, execution state populated | COMMENT |
| LOW⚡ | …ions/prefect-dbt/tests/core/test_orchestrator_cache.py | 1518 | # Step 2: change mid's SQL so the cache key changes, | COMMENT |
| LOW | …integrations/prefect-kubernetes/tests/test_observer.py | 877 | # Step 1: Pod is Pending (no issues yet) | COMMENT |
| LOW | …integrations/prefect-kubernetes/tests/test_observer.py | 911 | # Step 2: Pod is still Pending but now has ImagePullBackOff | COMMENT |
| LOW | …integrations/prefect-kubernetes/tests/test_observer.py | 982 | # Step 1: Pod is Pending and Unschedulable | COMMENT |
| LOW | …integrations/prefect-kubernetes/tests/test_observer.py | 1017 | # Step 2: Pod transitions to Running (problem resolved) | COMMENT |
| LOW | …integrations/prefect-kubernetes/tests/test_observer.py | 1072 | # Step 1: CrashLoopBackOff | COMMENT |
| LOW | …integrations/prefect-kubernetes/tests/test_observer.py | 1105 | # Step 2: Pod terminates with OOMKilled | COMMENT |
| LOW⚡ | src/integrations/prefect-redis/tests/test_ordering.py | 416 | # Step 1: Follower parks itself | COMMENT |
| LOW⚡ | src/integrations/prefect-redis/tests/test_ordering.py | 423 | # Step 2: Leader completes, claiming the follower | COMMENT |
| LOW⚡ | src/integrations/prefect-redis/tests/test_ordering.py | 431 | # Step 3: Simulate follower's double-check path | COMMENT |
| LOW⚡ | src/integrations/prefect-redis/tests/test_ordering.py | 443 | # Step 4: Verify event data is STILL available for the leader | COMMENT |
| LOW⚡ | src/prefect/runner/runner.py | 1644 | # Step 1: client | COMMENT |
| LOW⚡ | src/prefect/runner/runner.py | 1691 | # Step 4: Construct client-dependent services after client is started | COMMENT |
| LOW⚡ | src/prefect/runner/runner.py | 1742 | # Step 5: runs_task_group | COMMENT |
| LOW | src/prefect/runner/runner.py | 1797 | # Step 6: Enter observer context manager last | COMMENT |
| LOW⚡ | src/prefect/runner/_flow_run_executor.py | 164 | # Step 6: remove handle from process_manager | COMMENT |
| LOW⚡ | src/prefect/runner/_flow_run_executor.py | 168 | # Step 7: interpret exit code and propose terminal state | COMMENT |
| LOW⚡ | src/prefect/runner/_flow_run_executor.py | 293 | # Step 4: CancellationManager | COMMENT |
| LOW⚡ | src/prefect/runner/_flow_run_executor.py | 303 | # Step 5: Observer enters LAST (starts websocket/polling) | COMMENT |
| LOW | src/prefect/runner/_flow_run_executor.py | 132 | # Step 2: already-cancelled precheck | COMMENT |
| LOW | src/prefect/runner/_flow_run_executor.py | 184 | # Step 8: run crashed hooks | COMMENT |
| LOW | src/prefect/runner/_flow_run_executor.py | 247 | # Step 1: client | COMMENT |
| LOW | src/prefect/runner/_flow_run_executor.py | 267 | # Step 2: ProcessManager with observer add/remove callbacks | COMMENT |
| LOW | src/prefect/runner/_flow_run_executor.py | 278 | # Step 3: StateProposer, placeholder HookRunner, EventEmitter | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 41 | # fires a `UserWarning: The NumPy module was reloaded`, which our | COMMENT |
| LOW | tests/conftest.py | 581 | yield | COMMENT |
| LOW | tests/events/server/triggers/test_flow_run_slas.py | 801 | COMMENT | |
| LOW | docs/.vale.ini | 21 | mdx = md | COMMENT |
| LOW | …ork-pool-page-header/work-pool-page-header.stories.tsx | 101 | }, | COMMENT |
| LOW | …ork-pool-page-header/work-pool-page-header.stories.tsx | 121 | // ...mockWorkPool, | COMMENT |
| LOW | ui-v2/src/hooks/use-debounce-callback.tsx | 61 | // type SearchProps { | COMMENT |
| LOW | ui-v2/src/hooks/use-debounce-callback.tsx | 81 | // /> | COMMENT |
| LOW | examples/hello_world.py | 1 | # --- | COMMENT |
| LOW | examples/hello_world.py | 61 | hello(name) | COMMENT |
| LOW | examples/hello_world.py | 81 | # For instance, change the greeting message in the `hello` function to a different message and run the flow again. | COMMENT |
| LOW | examples/hello_world.py | 101 | # | COMMENT |
| LOW | examples/ai_data_analyst_with_pydantic_ai.py | 1 | # --- | COMMENT |
| LOW | examples/ai_data_analyst_with_pydantic_ai.py | 21 | # 3. Uses Python tools to calculate statistics and detect anomalies | COMMENT |
| LOW | examples/ai_data_analyst_with_pydantic_ai.py | 281 | print("❌ Error: OPENAI_API_KEY environment variable not set") | COMMENT |
| LOW | examples/ai_data_analyst_with_pydantic_ai.py | 301 | # ```bash | COMMENT |
| LOW | examples/ai_data_analyst_with_pydantic_ai.py | 321 | # - All operations respect 60s timeout | COMMENT |
| LOW | examples/ai_data_analyst_with_pydantic_ai.py | 341 | # 4. Trigger a run from the UI (http://localhost:4200) or CLI | COMMENT |
| LOW | examples/run_api_sourced_etl.py | 1 | # --- | COMMENT |
| LOW | examples/run_api_sourced_etl.py | 21 | # In this article you will: | COMMENT |
| LOW | examples/run_api_sourced_etl.py | 41 | # | COMMENT |
| LOW | examples/run_api_sourced_etl.py | 141 | # ## Run it! | COMMENT |
| LOW | examples/run_api_sourced_etl.py | 161 | # 4. The CSV was written to disk and a preview printed locally (the flow's `log_prints=True` flag logs messages inside t | COMMENT |
| LOW | examples/run_dbt_with_prefect.py | 1 | # --- | COMMENT |
| LOW | examples/run_dbt_with_prefect.py | 21 | # > **Note**: This example uses **dbt Core** (the open-source CLI). For dbt Cloud integration, see the [dbt Cloud guide] | COMMENT |
| LOW | examples/run_dbt_with_prefect.py | 41 | # ### Running the example locally | COMMENT |
| LOW | examples/run_dbt_with_prefect.py | 261 | # | COMMENT |
| LOW | examples/run_dbt_with_prefect.py | 281 | # - **Event-Driven**: Automatic Prefect events for dbt node status changes enable advanced monitoring and alerting | COMMENT |
| LOW | examples/resume_flow_run_on_pr_merge.py | 1 | # --- | COMMENT |
| LOW | examples/resume_flow_run_on_pr_merge.py | 21 | # | COMMENT |
| LOW | examples/resume_flow_run_on_pr_merge.py | 41 | # } | COMMENT |
| LOW | examples/resume_flow_run_on_pr_merge.py | 61 | # ## Step 3: Create an automation | COMMENT |
| LOW | examples/resume_flow_run_on_pr_merge.py | 101 | if __name__ == "__main__": | COMMENT |
| LOW | examples/resume_flow_run_on_pr_merge.py | 121 | # 2. **Webhook transforms event**: The Jinja template extracts the flow run ID from the PR body and creates a Prefect ev | COMMENT |
| LOW | examples/atproto_dashboard_with_prefect_assets.py | 1 | # --- | COMMENT |
| LOW | examples/atproto_dashboard_with_prefect_assets.py | 21 | # * **`@materialize` decorator** – Transform functions into versioned, cacheable data assets | COMMENT |
| LOW | examples/atproto_dashboard_with_prefect_assets.py | 41 | # # Follow README for setup and configuration | COMMENT |
| LOW | examples/atproto_dashboard_with_prefect_assets.py | 181 | COMMENT | |
| LOW | examples/atproto_dashboard_with_prefect_assets.py | 201 | # 3. **Storage Integration** | COMMENT |
| LOW | examples/atproto_dashboard_with_prefect_assets.py | 221 | # - dbt transformations with DuckDB | COMMENT |
| LOW | examples/ai_database_cleanup_with_approval.py | 1 | # --- | COMMENT |
| LOW | examples/ai_database_cleanup_with_approval.py | 21 | # [github.com/zzstoatzz/prefect-mcp-server-demo](https://github.com/zzstoatzz/prefect-mcp-server-demo) | COMMENT |
| LOW | examples/simple_web_scraper.py | 1 | # --- | COMMENT |
| LOW | examples/simple_web_scraper.py | 21 | # | COMMENT |
| LOW | examples/simple_web_scraper.py | 121 | # 2. Applied retry logic to the network call – a flaky connection would auto-retry up to 3 times. | COMMENT |
| LOW | examples/per_worker_task_concurrency.py | 1 | # --- | COMMENT |
| LOW | examples/per_worker_task_concurrency.py | 21 | # ## Example: Image processing with ML inference | COMMENT |
| LOW | examples/per_worker_task_concurrency.py | 121 | COMMENT | |
| LOW | examples/per_worker_task_concurrency.py | 141 | # prefect work-pool create ml-pool --type process | COMMENT |
| LOW | examples/per_worker_task_concurrency.py | 161 | # | COMMENT |
| LOW | examples/per_worker_task_concurrency.py | 181 | # 1. **GCLs are server-coordinated** — The Prefect server tracks who holds what | COMMENT |
| LOW | scripts/wait-for-healthy-container.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .github/workflows/codeql-analysis.yml | 21 | # │ ┌───────────── hour (0 - 23) | COMMENT |
| LOW | .github/workflows/codspeed-benchmarks.yaml | 61 | with: | COMMENT |
| LOW | …egrations/prefect-dbt/prefect_dbt/cloud/credentials.py | 141 | # "packageName": "tpch", | COMMENT |
| LOW | …integrations/prefect-dask/prefect_dask/task_runners.py | 21 | for number in range(highest_number): | COMMENT |
| LOW | …efect-aws/prefect_aws/experimental/bundles/__init__.py | 1 | # Eagerly import the legacy submodules so that | COMMENT |
| LOW | …c/integrations/prefect-ray/prefect_ray/task_runners.py | 21 | for number in range(highest_number): | COMMENT |
| LOW | …c/integrations/prefect-redis/prefect_redis/ordering.py | 41 | # How long we'll wait for an in-flight event to be processed for follower handling, | COMMENT |
| LOW | …c/integrations/prefect-redis/prefect_redis/ordering.py | 281 | # 3. Follower checks processing -> False | COMMENT |
| 18 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ui/package-lock.json | 6488 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", | CODE |
| MEDIUM | ui/package-lock.json | 11912 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", | CODE |
| MEDIUM | tests/testing/test_utilites.py | 156 | # Use test harness which starts background threads | COMMENT |
| MEDIUM | tests/testing/test_utilites.py | 173 | Regression test for issue #19342 - running the test harness multiple times | STRING |
| MEDIUM | tests/testing/test_utilites.py | 186 | # Run the test harness twice - the second run would fail with the bug | COMMENT |
| MEDIUM | tests/public/flows/test_flow_crashes.py | 267 | # this here, but we do not have robust testing utilities for deployed runs yet. | COMMENT |
| LOW | tests/events/client/test_events_subscriber.py | 98 | # The base subscriber for OSS will just use the API URL, which is set to a | COMMENT |
| LOW | tests/logging/test_logs_subscriber.py | 127 | # The base subscriber for OSS will just use the API URL, which is set to a | COMMENT |
| MEDIUM⚡ | ui-v2/src/routes/runs/index.tsx | 476 | // Use useQuery for paginated flow runs to leverage placeholderData: keepPreviousData | COMMENT |
| MEDIUM⚡ | ui-v2/src/routes/runs/index.tsx | 482 | // Use useQuery for paginated task runs to leverage placeholderData: keepPreviousData | COMMENT |
| MEDIUM⚡ | ui-v2/src/routes/runs/index.tsx | 487 | // Use useQuery for flow run history (scatter plot) to leverage placeholderData: keepPreviousData | COMMENT |
| MEDIUM | ui-v2/src/routes/flows/index.tsx | 104 | // Use useQuery for paginated flows to leverage placeholderData: keepPreviousData | COMMENT |
| MEDIUM | ui-v2/src/routes/flows/flow.$id.tsx | 335 | // Use useQuery for deployments to leverage placeholderData: keepPreviousData | COMMENT |
| MEDIUM | ui-v2/src/routes/flows/flow.$id.tsx | 360 | // Use useQuery for paginated flow runsto leverage placeholderData: keepPreviousData | COMMENT |
| MEDIUM | examples/run_dbt_with_prefect.py | 19 | # The result? Your analytics team gets reliable, observable data pipelines that leverage the strengths of both platforms | COMMENT |
| MEDIUM | src/integrations/prefect-dbt/tests/core/test_tracker.py | 491 | """Test a comprehensive workflow with multiple nodes and dependencies.""" | STRING |
| LOW | …grations/prefect-aws/prefect_aws/workers/ecs_worker.py | 1423 | # Ensure the key is removed entirely, not just set to None | STRING |
| LOW | src/integrations/prefect-azure/tests/test_aci_worker.py | 447 | # If no entrypoint is provided, just use the command | COMMENT |
| LOW | src/prefect/flow_engine.py | 2226 | # parameters, in that case just return the parameters as-is. | COMMENT |
| LOW | src/prefect/_internal/schemas/validators.py | 372 | # rrule would just create different garbage. The real validator | COMMENT |
| MEDIUM | src/prefect/_internal/concurrency/event_loop.py | 56 | # result of the call. We wrap the call with a future to facilitate retrieval. | COMMENT |
| MEDIUM | src/prefect/server/models/block_schemas.py | 658 | # ones first (and to facilitate getting the newest one with `limit=1`). | COMMENT |
| LOW | src/prefect/server/models/work_queues.py | 93 | # work pool was created. We can just return it. | COMMENT |
| LOW | src/prefect/_sdk/schema_converter.py | 93 | # Handle allOf (intersection - we just use the first one with useful info) | COMMENT |
| MEDIUM | src/prefect/_sdk/renderer.py | 435 | # Use importlib.resources.files() for robust package resource access | COMMENT |
| LOW | src/prefect/utilities/asyncutils/__init__.py | 402 | # In a sync context and there is no event loop; just create an event loop | COMMENT |
| LOW | src/prefect/utilities/templating/__init__.py | 174 | # If there are no values, we can just use the template | COMMENT |
| MEDIUM | src/prefect/testing/utilities.py | 170 | # it after the harness exits, then register the harness server under | COMMENT |
| LOW | src/prefect/bundles/_ignore_filter.py | 197 | # Can't make relative - just use name | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/cli/test_work_pool.py | 750 | "Hello world lorem ipsum", | CODE |
| LOW⚡ | tests/cli/test_work_pool.py | 758 | assert client_res.description == "Hello world lorem ipsum" | CODE |
| LOW | tests/cli/cloud/test_cloud.py | 1024 | PREFECT_API_KEY: "fake-key", | CODE |
| LOW | tests/cli/cloud/test_cloud.py | 1045 | PREFECT_API_KEY: "fake-key", | CODE |
| LOW | tests/cli/cloud/test_cloud.py | 1075 | PREFECT_API_KEY: "fake-key", | CODE |
| LOW | tests/cli/cloud/test_cloud.py | 1096 | PREFECT_API_KEY: "fake-key", | CODE |
| LOW | tests/cli/cloud/test_cloud.py | 1123 | PREFECT_API_KEY: "fake-key", | CODE |
| LOW | tests/cli/cloud/test_cloud.py | 1144 | PREFECT_API_KEY: "fake-key", | CODE |
| LOW | tests/cli/cloud/test_cloud.py | 1176 | PREFECT_API_KEY: "fake-key", | CODE |
| LOW | tests/cli/cloud/test_cloud.py | 1234 | PREFECT_API_KEY: "fake-key", | CODE |
| LOW | tests/cli/cloud/test_cloud.py | 1309 | PREFECT_API_KEY: "fake-key", | CODE |
| LOW | tests/cli/cloud/test_cloud.py | 1345 | PREFECT_API_KEY: "fake-key", | CODE |
| LOW | tests/client/test_base_client.py | 936 | "Prefect-Csrf-Token": "fake-token", | CODE |
| LOW | tests/client/test_base_client.py | 1038 | "Prefect-Csrf-Token": "fake-token", | CODE |
| LOW | integration-tests/test_task_worker.py | 22 | CLIENT_DUMMY_API_KEY = "dummy-key-should-be-ignored" | CODE |
| LOW | ui-v2/src/components/schemas/schema-form.test.tsx | 91 | name: { type: "string", default: "John Doe" }, | CODE |
| LOW | ui-v2/src/components/schemas/schema-form.test.tsx | 109 | expect(spy).toHaveBeenCalledWith({ name: "John Doe" }); | CODE |
| LOW | ui-v2/src/components/schemas/readme.md | 79 | By default, the form will use the `default` property to set the initial value of all fields when the form is rendered. I | CODE |
| LOW | ui-v2/src/components/schemas/readme.md | 85 | name: { type: "string", title: "Name", default: "John Doe" }, | CODE |
| LOW | …/src/components/schemas/stories/properties.stories.tsx | 80 | default: "John Doe", | CODE |
| LOW | …/src/components/schemas/stories/properties.stories.tsx | 588 | name: "John Doe", | CODE |
| LOW | …uns/flow-run-details-page/flow-run-details.stories.tsx | 25 | display_value: "John Doe", | CODE |
| LOW | …w-runs/flow-run-details-page/flow-run-details.test.tsx | 135 | display_value: "John Doe", | CODE |
| LOW | …w-runs/flow-run-details-page/flow-run-details.test.tsx | 145 | expect(screen.getByText("John Doe")).toBeInTheDocument(); | CODE |
| LOW⚡ | …c/integrations/prefect-gcp/tests/test_cloud_storage.py | 270 | "name": ["John Doe", "Jane Doe", "Johny", "Jane"], | CODE |
| LOW⚡ | …c/integrations/prefect-gcp/tests/test_cloud_storage.py | 270 | "name": ["John Doe", "Jane Doe", "Johny", "Jane"], | CODE |
| LOW⚡ | src/integrations/prefect-docker/tests/test_worker.py | 1337 | "prefect.resource.name": "fake-name", | CODE |
| LOW⚡ | src/integrations/prefect-docker/tests/test_worker.py | 1346 | "prefect.resource.name": "fake-name", | CODE |
| LOW⚡ | src/integrations/prefect-docker/tests/test_worker.py | 1355 | "prefect.resource.name": "fake-name", | CODE |
| LOW | src/integrations/prefect-docker/tests/test_worker.py | 56 | "Name": "fake-name", | CODE |
| LOW | src/integrations/prefect-docker/tests/test_worker.py | 1256 | "Docker container fake-name was marked for removal before logs " | CODE |
| LOW | src/integrations/prefect-docker/tests/test_worker.py | 1267 | assert "Docker container fake-name was marked for removal" in caplog.text | CODE |
| LOW | src/integrations/prefect-docker/tests/test_worker.py | 1283 | " fake-name." in caplog.text | CODE |
| LOW | …rations/prefect-docker/tests/deployments/test_steps.py | 55 | "Name": "fake-name", | CODE |
| LOW | src/integrations/prefect-aws/tests/test_plugins.py | 63 | mock_client.generate_db_auth_token.return_value = "fake-token" | CODE |
| LOW | src/integrations/prefect-aws/tests/test_plugins.py | 76 | assert token == "fake-token" | CODE |
| LOW | src/integrations/prefect-aws/tests/test_utilities.py | 44 | {"op": "add", "path": "/contact/address", "value": "123 Main St"}, | CODE |
| LOW | …tegrations/prefect-aws/tests/deployments/test_steps.py | 375 | "minio_root_user": "fake_user", | CODE |
| LOW | src/integrations/prefect-aws/prefect_aws/utilities.py | 89 | {"op": "add", "path": "/contact/address", "value": "123 Main St"}, | STRING |
| LOW⚡ | …tegrations/prefect-bitbucket/tests/test_credentials.py | 57 | token="dummy-token", username="devops.team+ci@scalefocus.com" | CODE |
| LOW | …s/prefect-databricks/prefect_databricks/models/jobs.py | 862 | examples=[{"age": 35, "name": "John Doe"}], | CODE |
| LOW | …s/prefect-databricks/prefect_databricks/models/jobs.py | 2535 | examples=[{"age": 35, "name": "John Doe"}], | CODE |
| LOW | …s/prefect-databricks/prefect_databricks/models/jobs.py | 3913 | "base_parameters": {"age": "35", "name": "John Doe"}, | CODE |
| LOW | …s/prefect-databricks/prefect_databricks/models/jobs.py | 4342 | "base_parameters": {"age": "35", "name": "John Doe"}, | CODE |
| LOW⚡ | src/integrations/prefect-azure/tests/test_plugins.py | 33 | token.token = "fake-token" | CODE |
| LOW⚡ | src/integrations/prefect-azure/tests/test_plugins.py | 74 | assert token == "fake-token" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/blocks/test_core.py | 1706 | def do_stuff(self, thing: str): | CODE |
| LOW⚡ | tests/_internal/compatibility/test_async_dispatch.py | 23 | def my_function() -> None: | CODE |
| LOW⚡ | tests/_internal/compatibility/test_async_dispatch.py | 36 | def my_function() -> None: | CODE |
| LOW⚡ | tests/_internal/compatibility/test_async_dispatch.py | 50 | def my_function() -> None: | CODE |
| LOW⚡ | tests/_internal/compatibility/test_async_dispatch.py | 73 | def my_method(cls) -> str: | CODE |
| LOW⚡ | tests/_internal/compatibility/test_async_dispatch.py | 90 | def my_method(cls) -> str: | CODE |
| LOW⚡ | tests/_internal/compatibility/test_async_dispatch.py | 106 | def my_function() -> None: | CODE |
| LOW⚡ | tests/_internal/compatibility/test_async_dispatch.py | 118 | def my_function() -> None: | CODE |
| LOW | tests/_internal/compatibility/test_async_dispatch.py | 234 | def my_function() -> str: | CODE |
| LOW | tests/_internal/compatibility/test_async_dispatch.py | 255 | def my_function() -> str: | CODE |
| LOW | tests/_internal/compatibility/test_async_dispatch.py | 276 | def my_function() -> str: | CODE |
| LOW | tests/_internal/compatibility/test_async_dispatch.py | 297 | def my_function() -> str: | CODE |
| LOW | tests/_internal/pydantic/test_validated_func.py | 506 | def process_data(model: MyModel, count: int = 0) -> dict: | CODE |
| LOW | tests/telemetry/test_run_telemetry.py | 55 | async def run_task(task, task_run_id, parameters, engine_type): | CODE |
| LOW | ui-v2/public/mockServiceWorker.js | 122 | async function handleRequest(event, requestId) { | CODE |
| LOW⚡ | examples/atproto_dashboard_with_prefect_assets.py | 97 | def process_data(raw_data: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW | …/integrations/prefect-dbt/prefect_dbt/core/_tracker.py | 145 | def run_task(): | CODE |
| LOW | src/prefect/task_engine.py | 1845 | def run_task( | CODE |
| LOW | src/prefect/task_engine.py | 1858 | def run_task( | CODE |
| LOW | src/prefect/task_engine.py | 1870 | def run_task( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | .github/workflows/agents-md-update.yml | 304 | This PR was generated by Claude Code analyzing the diff from the latest push to main and updating any stale AG | CODE |
| HIGH | .github/workflows/docs-update.yml | 151 | This PR was generated by Claude Code analyzing source code changes and updating any stale documentation. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/simple_web_scraper.py | 15 | # In this example you will: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/integrations/prefect-aws/README.md | 200 | -e PREFECT_API_KEY=your-api-key \ | CODE |