prefect-client 3.4.24.dev4__tar.gz → 3.4.25.dev1__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.4.24.dev4 → prefect_client-3.4.25.dev1}/PKG-INFO +1 -1
- prefect_client-3.4.25.dev1/src/prefect/_build_info.py +5 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/runner.py +3 -3
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/flow_engine.py +20 -6
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/runner.py +26 -5
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/concurrency_limits_v2.py +17 -6
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/base.py +1 -1
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/states.py +122 -10
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/workers/base.py +25 -3
- prefect_client-3.4.24.dev4/src/prefect/_build_info.py +0 -5
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/.gitignore +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/LICENSE +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/README.md +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/pyproject.toml +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/.prefectignore +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/AGENTS.md +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/__main__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/bundles/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/bundles/execute.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/plugins/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/plugins/apply.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/plugins/manager.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/plugins/spec.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/sla/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/sla/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/sla/objects.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/_logging.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/compatibility/blocks.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/compatibility/deprecated.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/compatibility/migration.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/compatibility/starlette.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/cancellation.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/services.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/installation.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/integrations.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pytz.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/retries.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/schemas/bases.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/schemas/validators.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/uuid7.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/websockets.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_result_records.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_vendor/croniter/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_vendor/croniter/croniter.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_versioning.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_waiters.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/agent.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/artifacts.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/assets/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/assets/core.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/assets/materialize.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/automations.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/abstract.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/core.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/fields.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/notifications.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/redis.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/system.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/webhook.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/cache_policies.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/base.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/cloud.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/collections.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/constants.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_automations/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_deployments/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_flows/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_logs/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_variables/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/base.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/routes.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/actions.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/filters.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/objects.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/responses.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/subscriptions.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/types/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/types/flexible_schedule_list.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/utilities.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/_asyncio.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/_events.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/_leases.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/context.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/services.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/sync.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/_asyncio.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/_events.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/asyncio.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/context.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/services.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/sync.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/context.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/base.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/deployments.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/flow_runs.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/schedules.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/steps/core.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/docker/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/docker/docker_image.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/engine.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/actions.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/cli/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/cli/automations.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/clients.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/filters.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/related.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/schemas/automations.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/schemas/events.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/subscribers.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/utilities.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/worker.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/exceptions.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/filesystems.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/flow_runs.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/flows.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/futures.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/base.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/input/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/input/actions.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/input/run_input.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/locking/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/locking/filesystem.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/locking/memory.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/locking/protocol.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/clients.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/configuration.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/filters.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/formatters.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/handlers.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/highlighters.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/loggers.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/logging.yml +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/main.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/plugins.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/py.typed +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/results.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/_observers.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/server.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/storage.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/submit.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/utils.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runtime/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runtime/deployment.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runtime/flow_run.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runtime/task_run.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/schedules.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/serializers.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/admin.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/artifacts.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/automations.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/block_capabilities.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/block_documents.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/block_schemas.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/block_types.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/clients.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/collections.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/concurrency_limits.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/csrf_token.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/dependencies.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/deployments.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/events.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/flow_run_states.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/flow_runs.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/flows.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/logs.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/middleware.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/root.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/run_history.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/saved_searches.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/server.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/task_run_states.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/task_runs.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/task_workers.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/templates.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/ui/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/ui/flow_runs.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/ui/flows.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/ui/schemas.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/ui/task_runs.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/validation.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/variables.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/work_queues.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/workers.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/constants.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/context.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/legacy.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/_defaults.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/api.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/cli.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/client.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/cloud.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/deployments.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/experiments.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/flows.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/internal.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/logging.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/results.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/root.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/runner.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/api.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/concurrency.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/database.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/deployments.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/ephemeral.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/events.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/logs.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/root.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/services.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/tasks.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/ui.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/tasks.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/testing.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/worker.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/profiles.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/profiles.toml +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/sources.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/task_engine.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/task_runners.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/task_runs.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/task_worker.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/tasks.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/telemetry/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/telemetry/run_telemetry.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/transactions.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/types/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/types/_concurrency.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/types/_datetime.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/types/_schema.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/types/entrypoint.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/types/names.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/_ast.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/_deprecated.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/_engine.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/_git.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/annotations.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/asyncutils.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/callables.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/collections.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/compat.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/context.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/dispatch.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/engine.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/filesystem.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/generics.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/hashing.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/importtools.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/math.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/names.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/processutils.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/pydantic.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/services.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/slugify.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/templating.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/text.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/timeout.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/urls.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/visualization.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/variables.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/workers/__init__.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/workers/block.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/workers/cloud.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/workers/process.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/workers/server.py +0 -0
- {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/workers/utilities.py +0 -0
|
@@ -861,7 +861,7 @@ class RunnerDeployment(BaseModel):
|
|
|
861
861
|
concurrency_options = None
|
|
862
862
|
|
|
863
863
|
deployment = cls(
|
|
864
|
-
name=
|
|
864
|
+
name=name,
|
|
865
865
|
flow_name=flow_name or flow.name,
|
|
866
866
|
schedules=constructed_schedules,
|
|
867
867
|
concurrency_limit=concurrency_limit,
|
|
@@ -982,7 +982,7 @@ class RunnerDeployment(BaseModel):
|
|
|
982
982
|
)
|
|
983
983
|
|
|
984
984
|
deployment = cls(
|
|
985
|
-
name=
|
|
985
|
+
name=name,
|
|
986
986
|
flow_name=flow_name or flow.name,
|
|
987
987
|
schedules=constructed_schedules,
|
|
988
988
|
concurrency_limit=concurrency_limit,
|
|
@@ -1106,7 +1106,7 @@ class RunnerDeployment(BaseModel):
|
|
|
1106
1106
|
flow = load_flow_from_entrypoint(full_entrypoint)
|
|
1107
1107
|
|
|
1108
1108
|
deployment = cls(
|
|
1109
|
-
name=
|
|
1109
|
+
name=name,
|
|
1110
1110
|
flow_name=flow_name or flow.name,
|
|
1111
1111
|
schedules=constructed_schedules,
|
|
1112
1112
|
concurrency_limit=concurrency_limit,
|
|
@@ -731,9 +731,16 @@ class FlowRunEngine(BaseFlowRunEngine[P, R]):
|
|
|
731
731
|
# Do not capture generator exits as crashes
|
|
732
732
|
raise
|
|
733
733
|
except BaseException as exc:
|
|
734
|
-
#
|
|
735
|
-
self.
|
|
736
|
-
|
|
734
|
+
# We don't want to crash a flow run if the user code finished executing
|
|
735
|
+
if self.flow_run.state and not self.flow_run.state.is_final():
|
|
736
|
+
# BaseExceptions are caught and handled as crashes
|
|
737
|
+
self.handle_crash(exc)
|
|
738
|
+
raise
|
|
739
|
+
else:
|
|
740
|
+
self.logger.debug(
|
|
741
|
+
"BaseException was raised after user code finished executing",
|
|
742
|
+
exc_info=exc,
|
|
743
|
+
)
|
|
737
744
|
finally:
|
|
738
745
|
# If debugging, use the more complete `repr` than the usual `str` description
|
|
739
746
|
display_state = (
|
|
@@ -1305,9 +1312,16 @@ class AsyncFlowRunEngine(BaseFlowRunEngine[P, R]):
|
|
|
1305
1312
|
# Do not capture generator exits as crashes
|
|
1306
1313
|
raise
|
|
1307
1314
|
except BaseException as exc:
|
|
1308
|
-
#
|
|
1309
|
-
|
|
1310
|
-
|
|
1315
|
+
# We don't want to crash a flow run if the user code finished executing
|
|
1316
|
+
if self.flow_run.state and not self.flow_run.state.is_final():
|
|
1317
|
+
# BaseExceptions are caught and handled as crashes
|
|
1318
|
+
await self.handle_crash(exc)
|
|
1319
|
+
raise
|
|
1320
|
+
else:
|
|
1321
|
+
self.logger.debug(
|
|
1322
|
+
"BaseException was raised after user code finished executing",
|
|
1323
|
+
exc_info=exc,
|
|
1324
|
+
)
|
|
1311
1325
|
finally:
|
|
1312
1326
|
# If debugging, use the more complete `repr` than the usual `str` description
|
|
1313
1327
|
display_state = (
|
|
@@ -1373,10 +1373,19 @@ class Runner:
|
|
|
1373
1373
|
f"Flow run process exited with non-zero status code {exit_code}.",
|
|
1374
1374
|
)
|
|
1375
1375
|
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1376
|
+
try:
|
|
1377
|
+
api_flow_run = await self._client.read_flow_run(flow_run_id=flow_run.id)
|
|
1378
|
+
terminal_state = api_flow_run.state
|
|
1379
|
+
if terminal_state and terminal_state.is_crashed():
|
|
1380
|
+
await self._run_on_crashed_hooks(
|
|
1381
|
+
flow_run=flow_run, state=terminal_state
|
|
1382
|
+
)
|
|
1383
|
+
except ObjectNotFound:
|
|
1384
|
+
# Flow run was deleted - log it but don't crash the runner
|
|
1385
|
+
run_logger = self._get_flow_run_logger(flow_run)
|
|
1386
|
+
run_logger.debug(
|
|
1387
|
+
f"Flow run '{flow_run.id}' was deleted before final state could be checked"
|
|
1388
|
+
)
|
|
1380
1389
|
|
|
1381
1390
|
return exit_code
|
|
1382
1391
|
|
|
@@ -1444,6 +1453,11 @@ class Runner:
|
|
|
1444
1453
|
except Abort:
|
|
1445
1454
|
# Flow run already marked as failed
|
|
1446
1455
|
pass
|
|
1456
|
+
except ObjectNotFound:
|
|
1457
|
+
# Flow run was deleted - log it but don't crash the runner
|
|
1458
|
+
run_logger.debug(
|
|
1459
|
+
f"Flow run '{flow_run.id}' was deleted before state could be updated"
|
|
1460
|
+
)
|
|
1447
1461
|
except Exception:
|
|
1448
1462
|
run_logger.exception(f"Failed to update state of flow run '{flow_run.id}'")
|
|
1449
1463
|
else:
|
|
@@ -1468,7 +1482,14 @@ class Runner:
|
|
|
1468
1482
|
)
|
|
1469
1483
|
return
|
|
1470
1484
|
|
|
1471
|
-
|
|
1485
|
+
try:
|
|
1486
|
+
await self._client.set_flow_run_state(flow_run.id, state, force=True)
|
|
1487
|
+
except ObjectNotFound:
|
|
1488
|
+
# Flow run was deleted - log it but don't crash the runner
|
|
1489
|
+
run_logger = self._get_flow_run_logger(flow_run)
|
|
1490
|
+
run_logger.debug(
|
|
1491
|
+
f"Flow run '{flow_run.id}' was deleted before it could be marked as cancelled"
|
|
1492
|
+
)
|
|
1472
1493
|
|
|
1473
1494
|
async def _run_on_cancellation_hooks(
|
|
1474
1495
|
self,
|
|
@@ -411,13 +411,24 @@ async def renew_concurrency_lease(
|
|
|
411
411
|
),
|
|
412
412
|
) -> None:
|
|
413
413
|
lease_storage = get_concurrency_lease_storage()
|
|
414
|
-
lease = await lease_storage.read_lease(lease_id)
|
|
415
|
-
if not lease:
|
|
416
|
-
raise HTTPException(
|
|
417
|
-
status_code=status.HTTP_404_NOT_FOUND, detail="Lease not found"
|
|
418
|
-
)
|
|
419
414
|
|
|
420
|
-
|
|
415
|
+
# Atomically renew the lease (checks existence and updates index in single operation)
|
|
416
|
+
renewed = await lease_storage.renew_lease(
|
|
421
417
|
lease_id=lease_id,
|
|
422
418
|
ttl=timedelta(seconds=lease_duration),
|
|
423
419
|
)
|
|
420
|
+
|
|
421
|
+
# Handle the three possible return values:
|
|
422
|
+
# - True: lease successfully renewed
|
|
423
|
+
# - False: lease not found or expired
|
|
424
|
+
# - None: legacy implementation (check lease existence to determine success)
|
|
425
|
+
lease = None
|
|
426
|
+
if renewed is None:
|
|
427
|
+
# Legacy implementation returned None - check if lease actually exists
|
|
428
|
+
lease = await lease_storage.read_lease(lease_id)
|
|
429
|
+
|
|
430
|
+
if renewed is False or (renewed is None and lease is None):
|
|
431
|
+
raise HTTPException(
|
|
432
|
+
status_code=status.HTTP_410_GONE,
|
|
433
|
+
detail="Lease not found - it may have expired or been revoked",
|
|
434
|
+
)
|
|
@@ -268,7 +268,7 @@ def _to_environment_variable_value(
|
|
|
268
268
|
value: list[object] | set[object] | tuple[object] | Any,
|
|
269
269
|
) -> str:
|
|
270
270
|
if isinstance(value, (list, set, tuple)):
|
|
271
|
-
return ",".join(str(v) for v in value)
|
|
271
|
+
return ",".join(str(v) for v in sorted(value, key=str))
|
|
272
272
|
if isinstance(value, dict):
|
|
273
273
|
return json.dumps(value)
|
|
274
274
|
return str(value)
|
|
@@ -14,6 +14,7 @@ import httpx
|
|
|
14
14
|
from opentelemetry import propagate
|
|
15
15
|
from typing_extensions import TypeGuard
|
|
16
16
|
|
|
17
|
+
from prefect._internal.compatibility.async_dispatch import async_dispatch
|
|
17
18
|
from prefect.client.schemas.objects import State, StateDetails, StateType
|
|
18
19
|
from prefect.exceptions import (
|
|
19
20
|
CancelledRun,
|
|
@@ -28,7 +29,6 @@ from prefect.exceptions import (
|
|
|
28
29
|
from prefect.logging.loggers import get_logger, get_run_logger
|
|
29
30
|
from prefect.types._datetime import now
|
|
30
31
|
from prefect.utilities.annotations import BaseAnnotation
|
|
31
|
-
from prefect.utilities.asyncutils import sync_compatible
|
|
32
32
|
from prefect.utilities.collections import ensure_iterable
|
|
33
33
|
|
|
34
34
|
if TYPE_CHECKING:
|
|
@@ -154,7 +154,7 @@ async def _get_state_result(
|
|
|
154
154
|
if raise_on_failure and (
|
|
155
155
|
state.is_crashed() or state.is_failed() or state.is_cancelled()
|
|
156
156
|
):
|
|
157
|
-
raise await
|
|
157
|
+
raise await aget_state_exception(state)
|
|
158
158
|
|
|
159
159
|
if isinstance(state.data, ResultRecordMetadata):
|
|
160
160
|
result = await _get_state_result_data_with_retries(
|
|
@@ -165,7 +165,7 @@ async def _get_state_result(
|
|
|
165
165
|
|
|
166
166
|
elif state.data is None:
|
|
167
167
|
if state.is_failed() or state.is_crashed() or state.is_cancelled():
|
|
168
|
-
return await
|
|
168
|
+
return await aget_state_exception(state)
|
|
169
169
|
else:
|
|
170
170
|
raise MissingResult(
|
|
171
171
|
"State data is missing. "
|
|
@@ -442,9 +442,10 @@ async def return_value_to_state(
|
|
|
442
442
|
return Completed(data=result_record)
|
|
443
443
|
|
|
444
444
|
|
|
445
|
-
|
|
446
|
-
async def get_state_exception(state: State) -> BaseException:
|
|
445
|
+
async def aget_state_exception(state: State) -> BaseException:
|
|
447
446
|
"""
|
|
447
|
+
Get the exception from a state asynchronously.
|
|
448
|
+
|
|
448
449
|
If not given a FAILED or CRASHED state, this raise a value error.
|
|
449
450
|
|
|
450
451
|
If the state result is a state, its exception will be returned.
|
|
@@ -507,13 +508,114 @@ async def get_state_exception(state: State) -> BaseException:
|
|
|
507
508
|
|
|
508
509
|
elif isinstance(result, State):
|
|
509
510
|
# Return the exception from the inner state
|
|
510
|
-
return await
|
|
511
|
+
return await aget_state_exception(result)
|
|
512
|
+
|
|
513
|
+
elif is_state_iterable(result):
|
|
514
|
+
# Return the first failure
|
|
515
|
+
for state in result:
|
|
516
|
+
if state.is_failed() or state.is_crashed() or state.is_cancelled():
|
|
517
|
+
return await aget_state_exception(state)
|
|
518
|
+
|
|
519
|
+
raise ValueError(
|
|
520
|
+
"Failed state result was an iterable of states but none were failed."
|
|
521
|
+
)
|
|
522
|
+
|
|
523
|
+
else:
|
|
524
|
+
raise TypeError(
|
|
525
|
+
f"Unexpected result for failed state: {result!r} —— "
|
|
526
|
+
f"{type(result).__name__} cannot be resolved into an exception"
|
|
527
|
+
)
|
|
528
|
+
|
|
529
|
+
|
|
530
|
+
@async_dispatch(aget_state_exception)
|
|
531
|
+
def get_state_exception(state: State) -> BaseException:
|
|
532
|
+
"""
|
|
533
|
+
Get the exception from a state.
|
|
534
|
+
|
|
535
|
+
If not given a FAILED or CRASHED state, this raise a value error.
|
|
536
|
+
|
|
537
|
+
If the state result is a state, its exception will be returned.
|
|
538
|
+
|
|
539
|
+
If the state result is an iterable of states, the exception of the first failure
|
|
540
|
+
will be returned.
|
|
541
|
+
|
|
542
|
+
If the state result is a string, a wrapper exception will be returned with the
|
|
543
|
+
string as the message.
|
|
544
|
+
|
|
545
|
+
If the state result is null, a wrapper exception will be returned with the state
|
|
546
|
+
message attached.
|
|
547
|
+
|
|
548
|
+
If the state result is not of a known type, a `TypeError` will be returned.
|
|
549
|
+
|
|
550
|
+
When a wrapper exception is returned, the type will be:
|
|
551
|
+
- `FailedRun` if the state type is FAILED.
|
|
552
|
+
- `CrashedRun` if the state type is CRASHED.
|
|
553
|
+
- `CancelledRun` if the state type is CANCELLED.
|
|
554
|
+
"""
|
|
555
|
+
from prefect._result_records import (
|
|
556
|
+
ResultRecord,
|
|
557
|
+
ResultRecordMetadata,
|
|
558
|
+
)
|
|
559
|
+
from prefect.results import ResultStore, resolve_result_storage
|
|
560
|
+
|
|
561
|
+
if state.is_failed():
|
|
562
|
+
wrapper = FailedRun
|
|
563
|
+
default_message = "Run failed."
|
|
564
|
+
elif state.is_crashed():
|
|
565
|
+
wrapper = CrashedRun
|
|
566
|
+
default_message = "Run crashed."
|
|
567
|
+
elif state.is_cancelled():
|
|
568
|
+
wrapper = CancelledRun
|
|
569
|
+
default_message = "Run cancelled."
|
|
570
|
+
else:
|
|
571
|
+
raise ValueError(f"Expected failed or crashed state got {state!r}.")
|
|
572
|
+
|
|
573
|
+
if isinstance(state.data, ResultRecord):
|
|
574
|
+
result = state.data.result
|
|
575
|
+
elif isinstance(state.data, ResultRecordMetadata):
|
|
576
|
+
# Inline sync version of _from_metadata
|
|
577
|
+
metadata = state.data
|
|
578
|
+
if metadata.storage_block_id is None:
|
|
579
|
+
storage_block = None
|
|
580
|
+
else:
|
|
581
|
+
storage_block = resolve_result_storage(
|
|
582
|
+
metadata.storage_block_id, _sync=True
|
|
583
|
+
)
|
|
584
|
+
store = ResultStore(
|
|
585
|
+
result_storage=storage_block, serializer=metadata.serializer
|
|
586
|
+
)
|
|
587
|
+
if metadata.storage_key is None:
|
|
588
|
+
raise ValueError(
|
|
589
|
+
"storage_key is required to hydrate a result record from metadata"
|
|
590
|
+
)
|
|
591
|
+
record = store.read(metadata.storage_key)
|
|
592
|
+
result = record.result
|
|
593
|
+
elif state.data is None:
|
|
594
|
+
result = None
|
|
595
|
+
else:
|
|
596
|
+
result = state.data
|
|
597
|
+
|
|
598
|
+
if result is None:
|
|
599
|
+
return wrapper(state.message or default_message)
|
|
600
|
+
|
|
601
|
+
if isinstance(result, Exception):
|
|
602
|
+
return result
|
|
603
|
+
|
|
604
|
+
elif isinstance(result, BaseException):
|
|
605
|
+
return result
|
|
606
|
+
|
|
607
|
+
elif isinstance(result, str):
|
|
608
|
+
return wrapper(result)
|
|
609
|
+
|
|
610
|
+
elif isinstance(result, State):
|
|
611
|
+
# Return the exception from the inner state
|
|
612
|
+
return get_state_exception(result)
|
|
511
613
|
|
|
512
614
|
elif is_state_iterable(result):
|
|
513
615
|
# Return the first failure
|
|
514
616
|
for state in result:
|
|
515
617
|
if state.is_failed() or state.is_crashed() or state.is_cancelled():
|
|
516
|
-
return
|
|
618
|
+
return get_state_exception(state)
|
|
517
619
|
|
|
518
620
|
raise ValueError(
|
|
519
621
|
"Failed state result was an iterable of states but none were failed."
|
|
@@ -526,15 +628,25 @@ async def get_state_exception(state: State) -> BaseException:
|
|
|
526
628
|
)
|
|
527
629
|
|
|
528
630
|
|
|
529
|
-
|
|
530
|
-
|
|
631
|
+
async def araise_state_exception(state: State) -> None:
|
|
632
|
+
"""
|
|
633
|
+
Given a FAILED or CRASHED state, raise the contained exception asynchronously.
|
|
634
|
+
"""
|
|
635
|
+
if not (state.is_failed() or state.is_crashed() or state.is_cancelled()):
|
|
636
|
+
return None
|
|
637
|
+
|
|
638
|
+
raise await aget_state_exception(state)
|
|
639
|
+
|
|
640
|
+
|
|
641
|
+
@async_dispatch(araise_state_exception)
|
|
642
|
+
def raise_state_exception(state: State) -> None:
|
|
531
643
|
"""
|
|
532
644
|
Given a FAILED or CRASHED state, raise the contained exception.
|
|
533
645
|
"""
|
|
534
646
|
if not (state.is_failed() or state.is_crashed() or state.is_cancelled()):
|
|
535
647
|
return None
|
|
536
648
|
|
|
537
|
-
raise
|
|
649
|
+
raise get_state_exception(state)
|
|
538
650
|
|
|
539
651
|
|
|
540
652
|
def is_state_iterable(obj: Any) -> TypeGuard[Iterable[State]]:
|
|
@@ -1334,10 +1334,20 @@ class BaseWorker(abc.ABC, Generic[C, V, R]):
|
|
|
1334
1334
|
def _release_limit_slot(self, flow_run_id: UUID) -> None:
|
|
1335
1335
|
"""
|
|
1336
1336
|
Frees up a slot taken by the given flow run id.
|
|
1337
|
+
|
|
1338
|
+
This method gracefully handles cases where the slot has already been released
|
|
1339
|
+
to prevent worker crashes from double-release scenarios.
|
|
1337
1340
|
"""
|
|
1338
1341
|
if self._limiter:
|
|
1339
|
-
|
|
1340
|
-
|
|
1342
|
+
try:
|
|
1343
|
+
self._limiter.release_on_behalf_of(flow_run_id)
|
|
1344
|
+
self._logger.debug("Limit slot released for flow run '%s'", flow_run_id)
|
|
1345
|
+
except RuntimeError:
|
|
1346
|
+
# Slot was already released - this can happen in certain error paths
|
|
1347
|
+
# where multiple cleanup attempts occur. Log it but don't crash.
|
|
1348
|
+
self._logger.debug(
|
|
1349
|
+
"Limit slot for flow run '%s' was already released", flow_run_id
|
|
1350
|
+
)
|
|
1341
1351
|
|
|
1342
1352
|
def get_status(self) -> dict[str, Any]:
|
|
1343
1353
|
"""
|
|
@@ -1464,6 +1474,11 @@ class BaseWorker(abc.ABC, Generic[C, V, R]):
|
|
|
1464
1474
|
except Abort:
|
|
1465
1475
|
# Flow run already marked as failed
|
|
1466
1476
|
pass
|
|
1477
|
+
except ObjectNotFound:
|
|
1478
|
+
# Flow run was deleted - log it but don't crash the worker
|
|
1479
|
+
run_logger.debug(
|
|
1480
|
+
f"Flow run '{flow_run.id}' was deleted before state could be updated"
|
|
1481
|
+
)
|
|
1467
1482
|
except Exception:
|
|
1468
1483
|
run_logger.exception(f"Failed to update state of flow run '{flow_run.id}'")
|
|
1469
1484
|
else:
|
|
@@ -1486,7 +1501,14 @@ class BaseWorker(abc.ABC, Generic[C, V, R]):
|
|
|
1486
1501
|
# does not need to explicitly set the type
|
|
1487
1502
|
state = Cancelled(**state_updates)
|
|
1488
1503
|
|
|
1489
|
-
|
|
1504
|
+
try:
|
|
1505
|
+
await self.client.set_flow_run_state(flow_run.id, state, force=True)
|
|
1506
|
+
except ObjectNotFound:
|
|
1507
|
+
# Flow run was deleted - log it but don't crash the worker
|
|
1508
|
+
run_logger = self.get_flow_run_logger(flow_run)
|
|
1509
|
+
run_logger.debug(
|
|
1510
|
+
f"Flow run '{flow_run.id}' was deleted before it could be marked as cancelled"
|
|
1511
|
+
)
|
|
1490
1512
|
|
|
1491
1513
|
# Do not remove the flow run from the cancelling set immediately because
|
|
1492
1514
|
# the API caches responses for the `read_flow_runs` and we do not want to
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/plugins/apply.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/plugins/spec.py
RENAMED
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/sla/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/sla/client.py
RENAMED
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/sla/objects.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/api.py
RENAMED
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/calls.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/installation.py
RENAMED
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/integrations.py
RENAMED
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pydantic/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pydantic/schemas.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/schemas/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/schemas/bases.py
RENAMED
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/schemas/fields.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/websockets.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_vendor/croniter/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_vendor/croniter/croniter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/notifications.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|