prefect-client 3.7.2.dev1__tar.gz → 3.7.2.dev3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/PKG-INFO +1 -1
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/AGENTS.md +1 -0
- prefect_client-3.7.2.dev3/src/prefect/_build_info.py +5 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/automations.py +2 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/blocks/notifications.py +18 -2
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/bundles/__init__.py +16 -1
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/bundles/_zip_builder.py +32 -25
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/__init__.py +2 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/actions.py +7 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_scheduled_run_poller.py +1 -3
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/clients.py +3 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/workers.py +412 -14
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/templating/__init__.py +25 -4
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/_worker_channel/_protocol.py +4 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/_worker_channel/_sync.py +31 -11
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/base.py +1 -3
- prefect_client-3.7.2.dev1/src/prefect/_build_info.py +0 -5
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/.gitignore +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/LICENSE +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/README.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/hatch_build.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/pyproject.toml +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/.prefectignore +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/__main__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_experimental/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_experimental/_launchers.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_experimental/bundles/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_experimental/bundles/execute.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_experimental/plugins/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_experimental/plugins/apply.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_experimental/plugins/manager.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_experimental/plugins/spec.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_experimental/sla/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_experimental/sla/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_experimental/sla/objects.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_flow_run_suspension.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/_logging.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/analytics/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/analytics/ci_detection.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/analytics/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/analytics/device_id.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/analytics/emit.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/analytics/enabled.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/analytics/events.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/analytics/milestones.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/analytics/notice.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/analytics/service.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/ast_utils.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/buildx.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/compatibility/backports.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/compatibility/blocks.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/compatibility/deprecated.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/compatibility/deprecated_paths.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/compatibility/migration.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/compatibility/starlette.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/concurrency/cancellation.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/concurrency/services.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/control_listener.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/deprecated.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/engine.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/git.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/infrastructure_exit_codes.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/installation.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/integrations.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/launchers.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/lazy.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/metrics.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/observability.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/observers.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/plugins/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/plugins/apply.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/plugins/collections.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/plugins/diagnostics.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/plugins/manager.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/plugins/spec.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/plugins/startup.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/pydantic/validated_func.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/pytz.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/result_records.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/retries.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/schema.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/schemas/bases.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/schemas/validators.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/send_entrypoint_logs.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/states.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/testing.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/urls.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/uuid7.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/version_checking.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/versioning.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/waiters.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_internal/websockets.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_sdk/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_sdk/fetcher.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_sdk/generator.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_sdk/models.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_sdk/naming.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_sdk/renderer.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_sdk/schema_converter.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_sdk/templates/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_sdk/templates/sdk.py.jinja +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_sdk/types.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_sdk/unions.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_vendor/croniter/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/_vendor/croniter/croniter.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/agent.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/analytics/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/artifacts.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/assets/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/assets/core.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/assets/materialize.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/blocks/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/blocks/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/blocks/abstract.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/blocks/core.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/blocks/fields.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/blocks/redis.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/blocks/system.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/blocks/webhook.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/bundles/_file_collector.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/bundles/_ignore_filter.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/bundles/_path_resolver.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/bundles/_zip_extractor.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/bundles/execute.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/cache_policies.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/attribution.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/base.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/cloud.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/collections.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/constants.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_automations/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_deployments/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_events/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_events/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_flows/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_logs/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_variables/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/base.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/orchestration/routes.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/schemas/actions.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/schemas/events.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/schemas/filters.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/schemas/objects.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/schemas/responses.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/schemas/worker_channel.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/subscriptions.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/types/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/types/flexible_schedule_list.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/client/utilities.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/_asyncio.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/_events.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/_leases.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/_sync.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/context.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/services.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/sync.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/v1/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/v1/_asyncio.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/v1/_events.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/v1/asyncio.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/v1/context.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/v1/services.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/concurrency/v1/sync.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/context.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/deployments/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/deployments/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/deployments/base.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/deployments/deployments.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/deployments/flow_runs.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/deployments/runner.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/deployments/schedules.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/deployments/steps/core.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/docker/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/docker/_buildx.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/docker/docker_image.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/engine.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/clients.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/filters.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/related.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/schemas/automations.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/schemas/events.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/subscribers.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/utilities.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/events/worker.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/exceptions.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/filesystems.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/flow_engine.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/flow_runs.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/flows.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/futures.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/infrastructure/base.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/input/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/input/actions.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/input/run_input.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/locking/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/locking/_filelock.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/locking/filesystem.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/locking/memory.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/locking/protocol.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/logging/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/logging/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/logging/clients.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/logging/configuration.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/logging/filters.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/logging/formatters.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/logging/handlers.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/logging/highlighters.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/logging/loggers.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/logging/logging.yml +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/main.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/plugins.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/py.typed +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/results.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_cancel_finalizer.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_cancellation_manager.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_control_channel.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_deployment_registry.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_event_emitter.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_flow_resolver.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_flow_run_executor.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_hook_runner.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_limit_manager.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_process_manager.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_starter_bundle.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_starter_direct.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_starter_engine.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_state_proposer.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_workspace_resolver.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_workspace_starter.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/runner.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/server.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/storage.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runtime/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runtime/deployment.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runtime/flow_run.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runtime/task_run.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/schedules.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/serializers.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/admin.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/artifacts.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/automations.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/background_workers.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/block_capabilities.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/block_documents.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/block_schemas.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/block_types.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/collections.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/concurrency_limits.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/csrf_token.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/dependencies.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/deployments.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/events.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/flow_run_states.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/flow_runs.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/flows.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/logs.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/middleware.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/root.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/run_history.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/saved_searches.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/server.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/task_run_states.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/task_runs.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/task_workers.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/templates.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/ui/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/ui/flow_runs.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/ui/flows.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/ui/schemas.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/ui/task_runs.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/validation.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/variables.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/server/api/work_queues.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/base.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/constants.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/context.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/legacy.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/_defaults.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/api.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/cli.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/client.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/cloud.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/deployments.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/events.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/experiments.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/flows.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/internal.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/logging.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/plugins.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/results.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/root.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/runner.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/api.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/concurrency.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/database.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/deployments.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/docket.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/ephemeral.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/events.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/logs.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/root.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/services.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/tasks.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/server/ui.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/tasks.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/telemetry.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/testing.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/models/worker.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/profiles.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/profiles.toml +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/settings/sources.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/states.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/task_engine.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/task_runners.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/task_runs.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/task_worker.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/tasks.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/telemetry/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/telemetry/run_telemetry.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/transactions.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/types/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/types/_concurrency.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/types/_datetime.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/types/entrypoint.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/types/names.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/annotations.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/asyncutils/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/asyncutils/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/callables/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/callables/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/collections.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/compat.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/context.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/dispatch.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/engine/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/engine/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/filesystem/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/filesystem/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/generics.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/hashing.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/importtools.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/math.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/names.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/processutils/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/processutils/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/pydantic.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/schema_tools/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/services.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/slugify.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/templating/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/text.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/timeout.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/urls.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/utilities/visualization.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/variables.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/_cleanup.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/_cleanup_handlers.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/_worker_channel/__init__.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/_worker_channel/_state.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/_worker_channel/_transport.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/block.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/cloud.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/process.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/server.py +0 -0
- {prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/workers/utilities.py +0 -0
|
@@ -30,6 +30,7 @@ There is no formal public/private boundary beyond the `_` prefix convention. Mod
|
|
|
30
30
|
- **`ProcessPoolTaskRunner` instances may be deserialized without `__init__` running.** When a runner is pickled and restored in a subprocess, `__init__` is not called, so instance attributes set there may be absent. Access any such attribute via `getattr(self, "_attr", default)` rather than `self._attr` directly — both in the property getter and in `duplicate()`. The `subprocess_message_processor_factories` property demonstrates the required pattern.
|
|
31
31
|
- **`ThreadPoolTaskRunner` is cloudpickled when a flow run is dispatched to a subprocess.** `threading.Lock` and other non-picklable thread primitives must be dropped in `__getstate__` and rebuilt in `__setstate__`. Any new instance state added to this class must be evaluated for picklability.
|
|
32
32
|
- **Nested task submissions on a bounded `ThreadPoolTaskRunner` can deadlock.** When a worker task submits children and blocks on `.result()` while all `max_workers` threads are busy, the pool starves. `_warn_if_nested_submit_would_deadlock` detects this and emits a one-time warning — preserve this detection when changing pool management.
|
|
33
|
+
- **Result storage resolves through three tiers, potentially making an API call.** `get_default_result_storage()` checks: (1) `PREFECT_DEFAULT_RESULT_STORAGE_BLOCK` setting, (2) server-configured default block (API call to the server's Configuration store), (3) local storage path. The API call is silently suppressed on any HTTP error. Engines use `_get_default_persist_result()` — not `should_persist_result()` — at context setup time to auto-enable persistence when a server default block is configured. Do not swap `_get_default_persist_result()` back to `should_persist_result()` in engine initialization paths; `should_persist_result()` does not consult the server default.
|
|
33
34
|
- **`ResultRecordMetadata` tolerates unknown serializer types.** When loading persisted metadata, an unrecognized serializer `type` is converted to an `UnknownSerializer` placeholder rather than raising `ValidationError`. This allows inspecting result metadata when the serializer implementation is unavailable in the current environment. However, known serializer types with invalid fields still raise `ValidationError`. `UnknownSerializer.dumps()` and `UnknownSerializer.loads()` raise `RuntimeError` — the tolerance is for inspection only, not actual serialization/deserialization.
|
|
34
35
|
- **Flow-run suspension is enforced at orchestration boundaries.** Suspension is delivered via `FlowRunSuspensionRequest` and raised with `raise_if_flow_run_suspension_requested()`. When changing engines, futures, task runners, or generator execution, check before returning control to flow user code or proposing a flow state that could leave `Suspended`; keep sync/async paths aligned and avoid per-boundary API reads.
|
|
35
36
|
|
|
@@ -11,6 +11,7 @@ from prefect.events.actions import (
|
|
|
11
11
|
CancelFlowRun,
|
|
12
12
|
ChangeFlowRunState,
|
|
13
13
|
DeclareIncident,
|
|
14
|
+
DeleteFlowRun,
|
|
14
15
|
DoNothing,
|
|
15
16
|
PauseAutomation,
|
|
16
17
|
PauseDeployment,
|
|
@@ -61,6 +62,7 @@ __all__ = [
|
|
|
61
62
|
"PauseDeployment",
|
|
62
63
|
"ResumeDeployment",
|
|
63
64
|
"CancelFlowRun",
|
|
65
|
+
"DeleteFlowRun",
|
|
64
66
|
"ChangeFlowRunState",
|
|
65
67
|
"PauseWorkQueue",
|
|
66
68
|
"ResumeWorkQueue",
|
|
@@ -57,7 +57,15 @@ class AbstractAppriseNotificationBlock(NotificationBlock, ABC):
|
|
|
57
57
|
body: str,
|
|
58
58
|
subject: str | None = None,
|
|
59
59
|
) -> None:
|
|
60
|
-
|
|
60
|
+
apprise_logger = logging.getLogger("apprise")
|
|
61
|
+
root_logger = logging.getLogger()
|
|
62
|
+
|
|
63
|
+
if apprise_logger.level == logging.NOTSET:
|
|
64
|
+
log_level = root_logger.getEffectiveLevel()
|
|
65
|
+
else:
|
|
66
|
+
log_level = max(apprise_logger.level, root_logger.getEffectiveLevel())
|
|
67
|
+
|
|
68
|
+
with LogEavesdropper("apprise", level=log_level) as eavesdropper:
|
|
61
69
|
result = await self._apprise_client.async_notify( # pyright: ignore[reportUnknownMemberType] incomplete type hints in apprise
|
|
62
70
|
body=body,
|
|
63
71
|
title=subject or "",
|
|
@@ -72,7 +80,15 @@ class AbstractAppriseNotificationBlock(NotificationBlock, ABC):
|
|
|
72
80
|
body: str,
|
|
73
81
|
subject: str | None = None,
|
|
74
82
|
) -> None:
|
|
75
|
-
|
|
83
|
+
apprise_logger = logging.getLogger("apprise")
|
|
84
|
+
root_logger = logging.getLogger()
|
|
85
|
+
|
|
86
|
+
if apprise_logger.level == logging.NOTSET:
|
|
87
|
+
log_level = root_logger.getEffectiveLevel()
|
|
88
|
+
else:
|
|
89
|
+
log_level = max(apprise_logger.level, root_logger.getEffectiveLevel())
|
|
90
|
+
|
|
91
|
+
with LogEavesdropper("apprise", level=log_level) as eavesdropper:
|
|
76
92
|
result = self._apprise_client.notify( # pyright: ignore[reportUnknownMemberType] incomplete type hints in apprise
|
|
77
93
|
body=body,
|
|
78
94
|
title=subject or "",
|
|
@@ -593,8 +593,23 @@ def execute_bundle_in_subprocess(
|
|
|
593
593
|
|
|
594
594
|
# Install dependencies if necessary
|
|
595
595
|
if dependencies := bundle.get("dependencies"):
|
|
596
|
+
dep_lines = [line.strip() for line in dependencies.split("\n") if line.strip()]
|
|
597
|
+
validated_deps: list[str] = []
|
|
598
|
+
for dep_line in dep_lines:
|
|
599
|
+
if dep_line.startswith("-"):
|
|
600
|
+
raise ValueError(
|
|
601
|
+
f"Invalid dependency (command-line flags are not allowed): {dep_line!r}"
|
|
602
|
+
)
|
|
603
|
+
try:
|
|
604
|
+
Requirement(dep_line)
|
|
605
|
+
except InvalidRequirement as e:
|
|
606
|
+
raise ValueError(
|
|
607
|
+
f"Invalid PEP 508 dependency specifier: {dep_line!r}"
|
|
608
|
+
) from e
|
|
609
|
+
validated_deps.append(dep_line)
|
|
610
|
+
|
|
596
611
|
subprocess.check_call(
|
|
597
|
-
[_get_uv_path(), "pip", "install", *
|
|
612
|
+
[_get_uv_path(), "pip", "install", *validated_deps],
|
|
598
613
|
# Copy the current environment to ensure we install into the correct venv
|
|
599
614
|
env=os.environ,
|
|
600
615
|
)
|
|
@@ -11,6 +11,7 @@ from __future__ import annotations
|
|
|
11
11
|
import hashlib
|
|
12
12
|
import logging
|
|
13
13
|
import shutil
|
|
14
|
+
import struct
|
|
14
15
|
import tempfile
|
|
15
16
|
import zipfile
|
|
16
17
|
from dataclasses import dataclass
|
|
@@ -32,7 +33,8 @@ class ZipResult:
|
|
|
32
33
|
|
|
33
34
|
Attributes:
|
|
34
35
|
zip_path: Path to the temporary zip file.
|
|
35
|
-
sha256_hash:
|
|
36
|
+
sha256_hash: SHA256 hex digest of the canonical bundled file contents
|
|
37
|
+
(paths, modes, and bytes), not the raw zip archive bytes.
|
|
36
38
|
storage_key: Content-addressed storage key in format "files/{hash}.zip".
|
|
37
39
|
size_bytes: Size of the zip file in bytes.
|
|
38
40
|
"""
|
|
@@ -95,16 +97,40 @@ class ZipBuilder:
|
|
|
95
97
|
self._temp_dir = tempfile.mkdtemp(prefix="prefect-zip-")
|
|
96
98
|
zip_path = Path(self._temp_dir) / "files.zip"
|
|
97
99
|
|
|
98
|
-
# Build the zip
|
|
100
|
+
# Build the zip and compute the content hash in a single pass so
|
|
101
|
+
# that every file is read exactly once, avoiding race conditions
|
|
102
|
+
# where a source file could change between the zip write and the
|
|
103
|
+
# hash computation.
|
|
104
|
+
hasher = hashlib.sha256()
|
|
105
|
+
hasher.update(b"prefect-bundle-files-v1\0")
|
|
106
|
+
|
|
99
107
|
with zipfile.ZipFile(zip_path, "w", compression=zipfile.ZIP_DEFLATED) as zf:
|
|
100
108
|
for file_path in sorted_files:
|
|
101
|
-
# Compute relative path with forward slashes
|
|
102
109
|
rel_path = file_path.relative_to(self.base_dir)
|
|
103
110
|
arcname = str(rel_path).replace("\\", "/")
|
|
104
|
-
zf.write(file_path, arcname)
|
|
105
111
|
|
|
106
|
-
|
|
107
|
-
|
|
112
|
+
file_stat = file_path.stat()
|
|
113
|
+
|
|
114
|
+
arcname_bytes = arcname.encode("utf-8")
|
|
115
|
+
hasher.update(struct.pack(">I", len(arcname_bytes)))
|
|
116
|
+
hasher.update(arcname_bytes)
|
|
117
|
+
hasher.update(struct.pack(">I", file_stat.st_mode & 0xFFFF))
|
|
118
|
+
hasher.update(struct.pack(">Q", file_stat.st_size))
|
|
119
|
+
|
|
120
|
+
zip_info = zipfile.ZipInfo.from_file(file_path, arcname)
|
|
121
|
+
zip_info.compress_type = zipfile.ZIP_DEFLATED
|
|
122
|
+
with (
|
|
123
|
+
file_path.open("rb") as src,
|
|
124
|
+
zf.open(zip_info, "w") as dest,
|
|
125
|
+
):
|
|
126
|
+
while True:
|
|
127
|
+
chunk = src.read(HASH_CHUNK_SIZE)
|
|
128
|
+
if not chunk:
|
|
129
|
+
break
|
|
130
|
+
dest.write(chunk)
|
|
131
|
+
hasher.update(chunk)
|
|
132
|
+
|
|
133
|
+
sha256_hash = hasher.hexdigest()
|
|
108
134
|
|
|
109
135
|
# Get file size
|
|
110
136
|
size_bytes = zip_path.stat().st_size
|
|
@@ -123,25 +149,6 @@ class ZipBuilder:
|
|
|
123
149
|
size_bytes=size_bytes,
|
|
124
150
|
)
|
|
125
151
|
|
|
126
|
-
def _compute_hash(self, zip_path: Path) -> str:
|
|
127
|
-
"""
|
|
128
|
-
Compute SHA256 hash of a file using chunked reading.
|
|
129
|
-
|
|
130
|
-
Args:
|
|
131
|
-
zip_path: Path to the file to hash.
|
|
132
|
-
|
|
133
|
-
Returns:
|
|
134
|
-
Lowercase hex digest of the SHA256 hash.
|
|
135
|
-
"""
|
|
136
|
-
hasher = hashlib.sha256()
|
|
137
|
-
with open(zip_path, "rb") as f:
|
|
138
|
-
while True:
|
|
139
|
-
chunk = f.read(HASH_CHUNK_SIZE)
|
|
140
|
-
if not chunk:
|
|
141
|
-
break
|
|
142
|
-
hasher.update(chunk)
|
|
143
|
-
return hasher.hexdigest()
|
|
144
|
-
|
|
145
152
|
def _emit_size_warning(
|
|
146
153
|
self, zip_path: Path, files: list[Path], size_bytes: int
|
|
147
154
|
) -> None:
|
|
@@ -31,6 +31,7 @@ from .actions import (
|
|
|
31
31
|
ResumeDeployment,
|
|
32
32
|
ChangeFlowRunState,
|
|
33
33
|
CancelFlowRun,
|
|
34
|
+
DeleteFlowRun,
|
|
34
35
|
SuspendFlowRun,
|
|
35
36
|
CallWebhook,
|
|
36
37
|
SendNotification,
|
|
@@ -78,6 +79,7 @@ __all__ = [
|
|
|
78
79
|
"ResumeDeployment",
|
|
79
80
|
"ChangeFlowRunState",
|
|
80
81
|
"CancelFlowRun",
|
|
82
|
+
"DeleteFlowRun",
|
|
81
83
|
"SuspendFlowRun",
|
|
82
84
|
"CallWebhook",
|
|
83
85
|
"SendNotification",
|
|
@@ -126,6 +126,12 @@ class CancelFlowRun(Action):
|
|
|
126
126
|
type: Literal["cancel-flow-run"] = "cancel-flow-run"
|
|
127
127
|
|
|
128
128
|
|
|
129
|
+
class DeleteFlowRun(Action):
|
|
130
|
+
"""Deletes a flow run associated with the trigger"""
|
|
131
|
+
|
|
132
|
+
type: Literal["delete-flow-run"] = "delete-flow-run"
|
|
133
|
+
|
|
134
|
+
|
|
129
135
|
class ResumeFlowRun(Action):
|
|
130
136
|
"""Resumes a flow run associated with the trigger"""
|
|
131
137
|
|
|
@@ -294,6 +300,7 @@ ActionTypes: TypeAlias = Union[
|
|
|
294
300
|
ResumeDeployment,
|
|
295
301
|
ResumeFlowRun,
|
|
296
302
|
CancelFlowRun,
|
|
303
|
+
DeleteFlowRun,
|
|
297
304
|
ChangeFlowRunState,
|
|
298
305
|
PauseWorkQueue,
|
|
299
306
|
ResumeWorkQueue,
|
{prefect_client-3.7.2.dev1 → prefect_client-3.7.2.dev3}/src/prefect/runner/_scheduled_run_poller.py
RENAMED
|
@@ -126,7 +126,6 @@ class ScheduledRunPoller:
|
|
|
126
126
|
),
|
|
127
127
|
)
|
|
128
128
|
|
|
129
|
-
submitted_ids: set[UUID] = set()
|
|
130
129
|
for flow_run in submittable_flow_runs:
|
|
131
130
|
if flow_run.id in self._submitting_flow_run_ids:
|
|
132
131
|
continue
|
|
@@ -135,13 +134,12 @@ class ScheduledRunPoller:
|
|
|
135
134
|
except anyio.WouldBlock:
|
|
136
135
|
break # sorted: no earlier run fits
|
|
137
136
|
self._submitting_flow_run_ids.add(flow_run.id)
|
|
138
|
-
submitted_ids.add(flow_run.id)
|
|
139
137
|
task_group.start_soon(self._submit_run, flow_run, task_group, slot_token)
|
|
140
138
|
|
|
141
139
|
skipped_count = sum(
|
|
142
140
|
1
|
|
143
141
|
for r in submittable_flow_runs
|
|
144
|
-
if r.id not in self._submitting_flow_run_ids
|
|
142
|
+
if r.id not in self._submitting_flow_run_ids
|
|
145
143
|
)
|
|
146
144
|
if skipped_count > 0:
|
|
147
145
|
self._logger.info("%d scheduled runs skipped (at capacity)", skipped_count)
|
|
@@ -93,6 +93,9 @@ class OrchestrationClient(BaseClient):
|
|
|
93
93
|
async def read_flow_run_raw(self, flow_run_id: UUID) -> Response:
|
|
94
94
|
return await self._http_client.get(f"/flow_runs/{flow_run_id}")
|
|
95
95
|
|
|
96
|
+
async def delete_flow_run(self, flow_run_id: UUID) -> Response:
|
|
97
|
+
return await self._http_client.delete(f"/flow_runs/{flow_run_id}")
|
|
98
|
+
|
|
96
99
|
async def read_task_run_raw(self, task_run_id: UUID) -> Response:
|
|
97
100
|
return await self._http_client.get(f"/task_runs/{task_run_id}")
|
|
98
101
|
|