prefect-client 3.3.2.dev1__tar.gz → 3.3.3.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.3.2.dev1 → prefect_client-3.3.3.dev1}/PKG-INFO +1 -1
- prefect_client-3.3.3.dev1/src/prefect/_build_info.py +5 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/compatibility/deprecated.py +1 -1
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/pydantic/v2_schema.py +1 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/blocks/core.py +9 -12
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/__init__.py +5 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_deployments/client.py +51 -16
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/schemas/actions.py +20 -1
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/schemas/objects.py +11 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/schemas/responses.py +26 -1
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/context.py +2 -1
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/related.py +5 -3
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/flows.py +2 -1
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/runner/runner.py +2 -18
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/schedules.py +2 -2
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/flow_runs.py +15 -14
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/run_history.py +1 -1
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/ui/task_runs.py +21 -1
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/base.py +1 -1
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/root.py +10 -5
- prefect_client-3.3.2.dev1/src/prefect/_build_info.py +0 -5
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/.gitignore +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/LICENSE +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/README.md +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/pyproject.toml +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/.prefectignore +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/__main__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_experimental/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_experimental/bundles.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_experimental/lineage.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_experimental/sla/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_experimental/sla/client.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_experimental/sla/objects.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/_logging.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/compatibility/migration.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/concurrency/cancellation.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/concurrency/services.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/integrations.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/pytz.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/retries.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/schemas/bases.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_internal/schemas/validators.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_result_records.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_vendor/croniter/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_vendor/croniter/croniter.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_waiters.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/agent.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/artifacts.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/automations.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/blocks/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/blocks/abstract.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/blocks/fields.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/blocks/notifications.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/blocks/redis.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/blocks/system.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/blocks/webhook.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/cache_policies.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/base.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/cloud.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/collections.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/constants.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_automations/client.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_flows/client.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_logs/client.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_variables/client.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/base.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/routes.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/schemas/filters.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/subscriptions.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/types/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/types/flexible_schedule_list.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/utilities.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/_asyncio.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/_events.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/context.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/services.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/sync.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/v1/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/v1/_asyncio.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/v1/_events.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/v1/asyncio.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/v1/context.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/v1/services.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/concurrency/v1/sync.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/deployments/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/deployments/base.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/deployments/deployments.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/deployments/flow_runs.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/deployments/runner.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/deployments/schedules.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/deployments/steps/core.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/docker/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/docker/docker_image.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/engine.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/actions.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/cli/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/cli/automations.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/clients.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/filters.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/schemas/automations.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/schemas/events.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/utilities.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/events/worker.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/exceptions.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/filesystems.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/flow_engine.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/flow_runs.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/futures.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/infrastructure/base.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/input/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/input/actions.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/input/run_input.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/locking/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/locking/filesystem.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/locking/memory.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/locking/protocol.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/logging/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/logging/configuration.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/logging/filters.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/logging/formatters.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/logging/handlers.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/logging/highlighters.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/logging/loggers.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/logging/logging.yml +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/main.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/plugins.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/py.typed +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/results.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/runner/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/runner/server.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/runner/storage.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/runner/submit.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/runner/utils.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/runtime/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/runtime/deployment.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/runtime/flow_run.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/runtime/task_run.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/serializers.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/admin.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/artifacts.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/automations.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/block_capabilities.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/block_documents.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/block_schemas.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/block_types.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/clients.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/collections.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/concurrency_limits.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/csrf_token.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/dependencies.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/deployments.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/events.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/flow_run_notification_policies.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/flow_run_states.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/flows.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/logs.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/middleware.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/root.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/saved_searches.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/server.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/task_run_states.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/task_runs.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/task_workers.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/templates.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/ui/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/ui/flow_runs.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/ui/flows.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/ui/schemas.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/validation.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/variables.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/work_queues.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/workers.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/constants.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/context.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/legacy.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/api.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/cli.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/client.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/cloud.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/deployments.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/experiments.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/flows.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/internal.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/logging.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/results.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/runner.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/server/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/server/api.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/server/database.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/server/deployments.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/server/ephemeral.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/server/events.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/server/root.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/server/services.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/server/tasks.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/server/ui.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/tasks.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/testing.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/models/worker.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/profiles.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/profiles.toml +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/settings/sources.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/states.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/task_engine.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/task_runners.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/task_runs.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/task_worker.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/tasks.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/telemetry/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/telemetry/bootstrap.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/telemetry/instrumentation.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/telemetry/logging.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/telemetry/processors.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/telemetry/run_telemetry.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/telemetry/services.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/transactions.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/types/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/types/_datetime.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/types/entrypoint.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/_deprecated.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/_engine.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/_git.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/annotations.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/asyncutils.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/callables.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/collections.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/compat.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/context.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/dispatch.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/engine.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/filesystem.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/generics.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/hashing.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/importtools.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/math.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/names.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/processutils.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/pydantic.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/services.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/slugify.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/templating.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/text.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/timeout.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/urls.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/utilities/visualization.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/variables.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/workers/__init__.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/workers/base.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/workers/block.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/workers/cloud.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/workers/process.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/workers/server.py +0 -0
- {prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/workers/utilities.py +0 -0
@@ -255,7 +255,7 @@ def deprecated_field(
|
|
255
255
|
|
256
256
|
cls_init(__pydantic_self__, **data)
|
257
257
|
|
258
|
-
field = __pydantic_self__.model_fields.get(name)
|
258
|
+
field = __pydantic_self__.__class__.model_fields.get(name)
|
259
259
|
if field is not None:
|
260
260
|
json_schema_extra = field.json_schema_extra or {}
|
261
261
|
|
@@ -18,6 +18,7 @@ from typing import (
|
|
18
18
|
Optional,
|
19
19
|
TypeVar,
|
20
20
|
Union,
|
21
|
+
cast,
|
21
22
|
get_origin,
|
22
23
|
)
|
23
24
|
from uuid import UUID, uuid4
|
@@ -169,14 +170,13 @@ def _collect_secret_fields(
|
|
169
170
|
return
|
170
171
|
|
171
172
|
if type_ in (SecretStr, SecretBytes) or (
|
172
|
-
isinstance(type_, type)
|
173
|
+
isinstance(type_, type) # type: ignore[unnecessaryIsInstance]
|
173
174
|
and getattr(type_, "__module__", None) == "pydantic.types"
|
174
175
|
and getattr(type_, "__name__", None) == "Secret"
|
175
176
|
):
|
176
177
|
secrets.append(name)
|
177
178
|
elif type_ == SecretDict:
|
178
|
-
# Append .* to field name to signify that all values under
|
179
|
-
# field are secret and should be obfuscated.
|
179
|
+
# Append .* to field name to signify that all values under a given key are secret and should be obfuscated.
|
180
180
|
secrets.append(f"{name}.*")
|
181
181
|
elif Block.is_block_class(type_):
|
182
182
|
secrets.extend(
|
@@ -1501,14 +1501,7 @@ class Block(BaseModel, ABC):
|
|
1501
1501
|
if "$defs" in schema:
|
1502
1502
|
schema["definitions"] = schema.pop("$defs")
|
1503
1503
|
|
1504
|
-
|
1505
|
-
if "additionalProperties" in schema:
|
1506
|
-
schema.pop("additionalProperties")
|
1507
|
-
|
1508
|
-
for _, definition in schema.get("definitions", {}).items():
|
1509
|
-
if "additionalProperties" in definition:
|
1510
|
-
definition.pop("additionalProperties")
|
1511
|
-
|
1504
|
+
schema = remove_nested_keys(["additionalProperties"], schema)
|
1512
1505
|
return schema
|
1513
1506
|
|
1514
1507
|
@classmethod
|
@@ -1521,6 +1514,7 @@ class Block(BaseModel, ABC):
|
|
1521
1514
|
context: dict[str, Any] | None = None,
|
1522
1515
|
) -> Self:
|
1523
1516
|
if isinstance(obj, dict):
|
1517
|
+
obj = cast(dict[str, Any], obj)
|
1524
1518
|
extra_serializer_fields = {
|
1525
1519
|
"_block_document_id",
|
1526
1520
|
"_block_document_name",
|
@@ -1530,7 +1524,10 @@ class Block(BaseModel, ABC):
|
|
1530
1524
|
obj.pop(field, None)
|
1531
1525
|
|
1532
1526
|
return super().model_validate(
|
1533
|
-
obj,
|
1527
|
+
obj,
|
1528
|
+
strict=strict,
|
1529
|
+
from_attributes=from_attributes,
|
1530
|
+
context=context,
|
1534
1531
|
)
|
1535
1532
|
|
1536
1533
|
def model_dump(
|
{prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/orchestration/__init__.py
RENAMED
@@ -1,3 +1,4 @@
|
|
1
|
+
from __future__ import annotations
|
1
2
|
import asyncio
|
2
3
|
import base64
|
3
4
|
import datetime
|
@@ -1164,6 +1165,10 @@ class PrefectClient(
|
|
1164
1165
|
def client_version(self) -> str:
|
1165
1166
|
return prefect.__version__
|
1166
1167
|
|
1168
|
+
@property
|
1169
|
+
def loop(self) -> asyncio.AbstractEventLoop | None:
|
1170
|
+
return self._loop
|
1171
|
+
|
1167
1172
|
async def raise_for_api_version_mismatch(self) -> None:
|
1168
1173
|
# Cloud is always compatible as a server
|
1169
1174
|
if self.server_type == ServerType.CLOUD:
|
@@ -29,6 +29,7 @@ if TYPE_CHECKING:
|
|
29
29
|
from prefect.client.schemas.objects import (
|
30
30
|
ConcurrencyOptions,
|
31
31
|
DeploymentSchedule,
|
32
|
+
VersionInfo,
|
32
33
|
)
|
33
34
|
from prefect.client.schemas.responses import (
|
34
35
|
DeploymentResponse,
|
@@ -48,6 +49,7 @@ class DeploymentClient(BaseClient):
|
|
48
49
|
flow_id: "UUID",
|
49
50
|
name: str,
|
50
51
|
version: str | None = None,
|
52
|
+
version_info: "VersionInfo | None" = None,
|
51
53
|
schedules: list["DeploymentScheduleCreate"] | None = None,
|
52
54
|
concurrency_limit: int | None = None,
|
53
55
|
concurrency_options: "ConcurrencyOptions | None" = None,
|
@@ -65,6 +67,9 @@ class DeploymentClient(BaseClient):
|
|
65
67
|
pull_steps: list[dict[str, Any]] | None = None,
|
66
68
|
enforce_parameter_schema: bool | None = None,
|
67
69
|
job_variables: dict[str, Any] | None = None,
|
70
|
+
branch: str | None = None,
|
71
|
+
base: UUID | None = None,
|
72
|
+
root: UUID | None = None,
|
68
73
|
) -> "UUID":
|
69
74
|
"""
|
70
75
|
Create a deployment.
|
@@ -99,6 +104,7 @@ class DeploymentClient(BaseClient):
|
|
99
104
|
flow_id=flow_id,
|
100
105
|
name=name,
|
101
106
|
version=version,
|
107
|
+
version_info=version_info,
|
102
108
|
parameters=dict(parameters or {}),
|
103
109
|
tags=list(tags or []),
|
104
110
|
work_queue_name=work_queue_name,
|
@@ -115,6 +121,9 @@ class DeploymentClient(BaseClient):
|
|
115
121
|
concurrency_options=concurrency_options,
|
116
122
|
pull_steps=pull_steps,
|
117
123
|
enforce_parameter_schema=enforce_parameter_schema,
|
124
|
+
branch=branch,
|
125
|
+
base=base,
|
126
|
+
root=root,
|
118
127
|
)
|
119
128
|
|
120
129
|
if work_pool_name is not None:
|
@@ -123,20 +132,29 @@ class DeploymentClient(BaseClient):
|
|
123
132
|
# Exclude newer fields that are not set to avoid compatibility issues
|
124
133
|
exclude = {
|
125
134
|
field
|
126
|
-
for field in [
|
135
|
+
for field in [
|
136
|
+
"work_pool_name",
|
137
|
+
"work_queue_name",
|
138
|
+
]
|
127
139
|
if field not in deployment_create.model_fields_set
|
128
140
|
}
|
129
141
|
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
142
|
+
exclude_if_none = [
|
143
|
+
"paused",
|
144
|
+
"pull_steps",
|
145
|
+
"enforce_parameter_schema",
|
146
|
+
"version_info",
|
147
|
+
"branch",
|
148
|
+
"base",
|
149
|
+
"root",
|
150
|
+
]
|
135
151
|
|
136
|
-
|
137
|
-
|
152
|
+
for field in exclude_if_none:
|
153
|
+
if getattr(deployment_create, field) is None:
|
154
|
+
exclude.add(field)
|
138
155
|
|
139
156
|
json = deployment_create.model_dump(mode="json", exclude=exclude)
|
157
|
+
|
140
158
|
response = self.request(
|
141
159
|
"POST",
|
142
160
|
"/deployments/",
|
@@ -593,6 +611,7 @@ class DeploymentAsyncClient(BaseAsyncClient):
|
|
593
611
|
flow_id: "UUID",
|
594
612
|
name: str,
|
595
613
|
version: str | None = None,
|
614
|
+
version_info: "VersionInfo | None" = None,
|
596
615
|
schedules: list["DeploymentScheduleCreate"] | None = None,
|
597
616
|
concurrency_limit: int | None = None,
|
598
617
|
concurrency_options: "ConcurrencyOptions | None" = None,
|
@@ -610,6 +629,9 @@ class DeploymentAsyncClient(BaseAsyncClient):
|
|
610
629
|
pull_steps: list[dict[str, Any]] | None = None,
|
611
630
|
enforce_parameter_schema: bool | None = None,
|
612
631
|
job_variables: dict[str, Any] | None = None,
|
632
|
+
branch: str | None = None,
|
633
|
+
base: UUID | None = None,
|
634
|
+
root: UUID | None = None,
|
613
635
|
) -> "UUID":
|
614
636
|
"""
|
615
637
|
Create a deployment.
|
@@ -644,6 +666,7 @@ class DeploymentAsyncClient(BaseAsyncClient):
|
|
644
666
|
flow_id=flow_id,
|
645
667
|
name=name,
|
646
668
|
version=version,
|
669
|
+
version_info=version_info,
|
647
670
|
parameters=dict(parameters or {}),
|
648
671
|
tags=list(tags or []),
|
649
672
|
work_queue_name=work_queue_name,
|
@@ -660,6 +683,9 @@ class DeploymentAsyncClient(BaseAsyncClient):
|
|
660
683
|
concurrency_options=concurrency_options,
|
661
684
|
pull_steps=pull_steps,
|
662
685
|
enforce_parameter_schema=enforce_parameter_schema,
|
686
|
+
branch=branch,
|
687
|
+
base=base,
|
688
|
+
root=root,
|
663
689
|
)
|
664
690
|
|
665
691
|
if work_pool_name is not None:
|
@@ -668,20 +694,29 @@ class DeploymentAsyncClient(BaseAsyncClient):
|
|
668
694
|
# Exclude newer fields that are not set to avoid compatibility issues
|
669
695
|
exclude = {
|
670
696
|
field
|
671
|
-
for field in [
|
697
|
+
for field in [
|
698
|
+
"work_pool_name",
|
699
|
+
"work_queue_name",
|
700
|
+
]
|
672
701
|
if field not in deployment_create.model_fields_set
|
673
702
|
}
|
674
703
|
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
704
|
+
exclude_if_none = [
|
705
|
+
"paused",
|
706
|
+
"pull_steps",
|
707
|
+
"enforce_parameter_schema",
|
708
|
+
"version_info",
|
709
|
+
"branch",
|
710
|
+
"base",
|
711
|
+
"root",
|
712
|
+
]
|
680
713
|
|
681
|
-
|
682
|
-
|
714
|
+
for field in exclude_if_none:
|
715
|
+
if getattr(deployment_create, field) is None:
|
716
|
+
exclude.add(field)
|
683
717
|
|
684
718
|
json = deployment_create.model_dump(mode="json", exclude=exclude)
|
719
|
+
|
685
720
|
response = await self.request(
|
686
721
|
"POST",
|
687
722
|
"/deployments/",
|
{prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/schemas/actions.py
RENAMED
@@ -253,13 +253,29 @@ class DeploymentCreate(ActionBaseModel):
|
|
253
253
|
infrastructure_document_id: Optional[UUID] = Field(default=None)
|
254
254
|
description: Optional[str] = Field(default=None)
|
255
255
|
path: Optional[str] = Field(default=None)
|
256
|
-
version: Optional[str] = Field(default=None)
|
257
256
|
entrypoint: Optional[str] = Field(default=None)
|
258
257
|
job_variables: dict[str, Any] = Field(
|
259
258
|
default_factory=dict,
|
260
259
|
description="Overrides to apply to flow run infrastructure at runtime.",
|
261
260
|
)
|
262
261
|
|
262
|
+
# Versionining
|
263
|
+
version: Optional[str] = Field(default=None)
|
264
|
+
version_info: Optional[objects.VersionInfo] = Field(
|
265
|
+
default=None, description="Version information for the deployment."
|
266
|
+
)
|
267
|
+
|
268
|
+
# Branching
|
269
|
+
branch: Optional[str] = Field(
|
270
|
+
default=None, description="The branch of the deployment."
|
271
|
+
)
|
272
|
+
base: Optional[UUID] = Field(
|
273
|
+
default=None, description="The base deployment of the deployment."
|
274
|
+
)
|
275
|
+
root: Optional[UUID] = Field(
|
276
|
+
default=None, description="The root deployment of the deployment."
|
277
|
+
)
|
278
|
+
|
263
279
|
def check_valid_configuration(self, base_job_template: dict[str, Any]) -> None:
|
264
280
|
"""Check that the combination of base_job_template defaults
|
265
281
|
and job_variables conforms to the specified schema.
|
@@ -289,6 +305,9 @@ class DeploymentUpdate(ActionBaseModel):
|
|
289
305
|
return remove_old_deployment_fields(values)
|
290
306
|
|
291
307
|
version: Optional[str] = Field(default=None)
|
308
|
+
version_info: Optional[objects.VersionInfo] = Field(
|
309
|
+
default=None, description="Version information for the deployment."
|
310
|
+
)
|
292
311
|
description: Optional[str] = Field(default=None)
|
293
312
|
parameters: Optional[dict[str, Any]] = Field(
|
294
313
|
default=None,
|
{prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/schemas/objects.py
RENAMED
@@ -1102,6 +1102,11 @@ class DeploymentSchedule(ObjectBaseModel):
|
|
1102
1102
|
)
|
1103
1103
|
|
1104
1104
|
|
1105
|
+
class VersionInfo(PrefectBaseModel, extra="allow"):
|
1106
|
+
type: str = Field(default=..., description="The type of version info.")
|
1107
|
+
version: str = Field(default=..., description="The version of the deployment.")
|
1108
|
+
|
1109
|
+
|
1105
1110
|
class Deployment(ObjectBaseModel):
|
1106
1111
|
"""An ORM representation of deployment data."""
|
1107
1112
|
|
@@ -1109,6 +1114,12 @@ class Deployment(ObjectBaseModel):
|
|
1109
1114
|
version: Optional[str] = Field(
|
1110
1115
|
default=None, description="An optional version for the deployment."
|
1111
1116
|
)
|
1117
|
+
version_id: Optional[UUID] = Field(
|
1118
|
+
default=None, description="The ID of the current version of the deployment."
|
1119
|
+
)
|
1120
|
+
version_info: Optional[VersionInfo] = Field(
|
1121
|
+
default=None, description="A description of this version of the deployment."
|
1122
|
+
)
|
1112
1123
|
description: Optional[str] = Field(
|
1113
1124
|
default=None, description="A description for the deployment."
|
1114
1125
|
)
|
{prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/client/schemas/responses.py
RENAMED
@@ -1,5 +1,5 @@
|
|
1
1
|
import datetime
|
2
|
-
from typing import Any, ClassVar, Generic, Optional, TypeVar, Union
|
2
|
+
from typing import TYPE_CHECKING, Any, ClassVar, Generic, Optional, TypeVar, Union
|
3
3
|
from uuid import UUID
|
4
4
|
|
5
5
|
from pydantic import ConfigDict, Field
|
@@ -12,6 +12,9 @@ from prefect.types import DateTime, KeyValueLabelsField
|
|
12
12
|
from prefect.utilities.collections import AutoEnum
|
13
13
|
from prefect.utilities.names import generate_slug
|
14
14
|
|
15
|
+
if TYPE_CHECKING:
|
16
|
+
from prefect.events.schemas.events import RelatedResource
|
17
|
+
|
15
18
|
T = TypeVar("T")
|
16
19
|
|
17
20
|
|
@@ -308,6 +311,12 @@ class DeploymentResponse(ObjectBaseModel):
|
|
308
311
|
version: Optional[str] = Field(
|
309
312
|
default=None, description="An optional version for the deployment."
|
310
313
|
)
|
314
|
+
version_id: Optional[UUID] = Field(
|
315
|
+
default=None, description="The ID of the current version of the deployment."
|
316
|
+
)
|
317
|
+
version_info: Optional[objects.VersionInfo] = Field(
|
318
|
+
default=None, description="A description of this version of the deployment."
|
319
|
+
)
|
311
320
|
description: Optional[str] = Field(
|
312
321
|
default=None, description="A description for the deployment."
|
313
322
|
)
|
@@ -420,6 +429,22 @@ class DeploymentResponse(ObjectBaseModel):
|
|
420
429
|
description="Current status of the deployment.",
|
421
430
|
)
|
422
431
|
|
432
|
+
def as_related_resource(self, role: str = "deployment") -> "RelatedResource":
|
433
|
+
from prefect.events.schemas.events import RelatedResource
|
434
|
+
|
435
|
+
labels = {
|
436
|
+
"prefect.resource.id": f"prefect.deployment.{self.id}",
|
437
|
+
"prefect.resource.role": role,
|
438
|
+
"prefect.resource.name": self.name,
|
439
|
+
}
|
440
|
+
|
441
|
+
if self.version_id and self.version_info:
|
442
|
+
labels["prefect.deployment.version-id"] = str(self.version_id)
|
443
|
+
labels["prefect.deployment.version-type"] = self.version_info.type
|
444
|
+
labels["prefect.deployment.version"] = self.version_info.version
|
445
|
+
|
446
|
+
return RelatedResource(labels)
|
447
|
+
|
423
448
|
|
424
449
|
class MinimalConcurrencyLimitResponse(PrefectBaseModel):
|
425
450
|
model_config: ClassVar[ConfigDict] = ConfigDict(extra="ignore")
|
@@ -6,6 +6,7 @@ These contexts should never be directly mutated by the user.
|
|
6
6
|
For more user-accessible information about the current run, see [`prefect.runtime`](../runtime/flow_run).
|
7
7
|
"""
|
8
8
|
|
9
|
+
import asyncio
|
9
10
|
import os
|
10
11
|
import sys
|
11
12
|
import warnings
|
@@ -294,7 +295,7 @@ class AsyncClientContext(ContextModel):
|
|
294
295
|
@asynccontextmanager
|
295
296
|
async def get_or_create(cls) -> AsyncGenerator[Self, None]:
|
296
297
|
ctx = cls.get()
|
297
|
-
if ctx:
|
298
|
+
if ctx and asyncio.get_running_loop() is ctx.client.loop:
|
298
299
|
yield ctx
|
299
300
|
else:
|
300
301
|
async with cls() as ctx:
|
@@ -33,7 +33,7 @@ RESOURCE_CACHE: RelatedResourceCache = {}
|
|
33
33
|
|
34
34
|
def tags_as_related_resources(tags: Iterable[str]) -> List[RelatedResource]:
|
35
35
|
return [
|
36
|
-
RelatedResource
|
36
|
+
RelatedResource(
|
37
37
|
{
|
38
38
|
"prefect.resource.id": f"prefect.tag.{tag}",
|
39
39
|
"prefect.resource.role": "tag",
|
@@ -44,9 +44,11 @@ def tags_as_related_resources(tags: Iterable[str]) -> List[RelatedResource]:
|
|
44
44
|
|
45
45
|
|
46
46
|
def object_as_related_resource(kind: str, role: str, object: Any) -> RelatedResource:
|
47
|
-
|
47
|
+
if as_related_resource := getattr(object, "as_related_resource", None):
|
48
|
+
return as_related_resource(role=role)
|
48
49
|
|
49
|
-
|
50
|
+
resource_id = f"prefect.{kind}.{object.id}"
|
51
|
+
return RelatedResource(
|
50
52
|
{
|
51
53
|
"prefect.resource.id": resource_id,
|
52
54
|
"prefect.resource.role": role,
|
@@ -636,7 +636,8 @@ class Flow(Generic[P, R]):
|
|
636
636
|
cast_parameters = {
|
637
637
|
k: v
|
638
638
|
for k, v in dict(iter(model)).items()
|
639
|
-
if k in model.model_fields_set
|
639
|
+
if k in model.model_fields_set
|
640
|
+
or type(model).model_fields[k].default_factory
|
640
641
|
}
|
641
642
|
return cast_parameters
|
642
643
|
|
@@ -1158,15 +1158,7 @@ class Runner:
|
|
1158
1158
|
|
1159
1159
|
flow, deployment = await self._get_flow_and_deployment(flow_run)
|
1160
1160
|
if deployment:
|
1161
|
-
related.append(
|
1162
|
-
RelatedResource(
|
1163
|
-
{
|
1164
|
-
"prefect.resource.id": f"prefect.deployment.{deployment.id}",
|
1165
|
-
"prefect.resource.role": "deployment",
|
1166
|
-
"prefect.resource.name": deployment.name,
|
1167
|
-
}
|
1168
|
-
)
|
1169
|
-
)
|
1161
|
+
related.append(deployment.as_related_resource())
|
1170
1162
|
tags.extend(deployment.tags)
|
1171
1163
|
if flow:
|
1172
1164
|
related.append(
|
@@ -1211,15 +1203,7 @@ class Runner:
|
|
1211
1203
|
related: list[RelatedResource] = []
|
1212
1204
|
tags: list[str] = []
|
1213
1205
|
if deployment:
|
1214
|
-
related.append(
|
1215
|
-
RelatedResource(
|
1216
|
-
{
|
1217
|
-
"prefect.resource.id": f"prefect.deployment.{deployment.id}",
|
1218
|
-
"prefect.resource.role": "deployment",
|
1219
|
-
"prefect.resource.name": deployment.name,
|
1220
|
-
}
|
1221
|
-
)
|
1222
|
-
)
|
1206
|
+
related.append(deployment.as_related_resource())
|
1223
1207
|
tags.extend(deployment.tags)
|
1224
1208
|
if flow:
|
1225
1209
|
related.append(
|
@@ -47,7 +47,7 @@ class Schedule:
|
|
47
47
|
anchor_date: datetime.datetime = dataclasses.field(
|
48
48
|
default_factory=partial(datetime.datetime.now, tz=datetime.timezone.utc)
|
49
49
|
)
|
50
|
-
day_or: bool =
|
50
|
+
day_or: bool = True
|
51
51
|
active: bool = True
|
52
52
|
parameters: dict[str, Any] = dataclasses.field(default_factory=dict)
|
53
53
|
slug: str | None = None
|
@@ -73,7 +73,7 @@ def Cron(
|
|
73
73
|
cron: str,
|
74
74
|
/,
|
75
75
|
timezone: str | None = None,
|
76
|
-
day_or: bool =
|
76
|
+
day_or: bool = True,
|
77
77
|
active: bool = True,
|
78
78
|
parameters: dict[str, Any] | None = None,
|
79
79
|
slug: str | None = None,
|
@@ -181,12 +181,12 @@ async def update_flow_run(
|
|
181
181
|
|
182
182
|
@router.post("/count")
|
183
183
|
async def count_flow_runs(
|
184
|
-
flows: schemas.filters.FlowFilter = None,
|
185
|
-
flow_runs: schemas.filters.FlowRunFilter = None,
|
186
|
-
task_runs: schemas.filters.TaskRunFilter = None,
|
187
|
-
deployments: schemas.filters.DeploymentFilter = None,
|
188
|
-
work_pools: schemas.filters.WorkPoolFilter = None,
|
189
|
-
work_pool_queues: schemas.filters.WorkQueueFilter = None,
|
184
|
+
flows: Optional[schemas.filters.FlowFilter] = None,
|
185
|
+
flow_runs: Optional[schemas.filters.FlowRunFilter] = None,
|
186
|
+
task_runs: Optional[schemas.filters.TaskRunFilter] = None,
|
187
|
+
deployments: Optional[schemas.filters.DeploymentFilter] = None,
|
188
|
+
work_pools: Optional[schemas.filters.WorkPoolFilter] = None,
|
189
|
+
work_pool_queues: Optional[schemas.filters.WorkQueueFilter] = None,
|
190
190
|
db: PrefectDBInterface = Depends(provide_database_interface),
|
191
191
|
) -> int:
|
192
192
|
"""
|
@@ -279,12 +279,12 @@ async def flow_run_history(
|
|
279
279
|
json_schema_extra={"format": "time-delta"},
|
280
280
|
alias="history_interval_seconds",
|
281
281
|
),
|
282
|
-
flows: schemas.filters.FlowFilter = None,
|
283
|
-
flow_runs: schemas.filters.FlowRunFilter = None,
|
284
|
-
task_runs: schemas.filters.TaskRunFilter = None,
|
285
|
-
deployments: schemas.filters.DeploymentFilter = None,
|
286
|
-
work_pools: schemas.filters.WorkPoolFilter = None,
|
287
|
-
work_queues: schemas.filters.WorkQueueFilter = None,
|
282
|
+
flows: Optional[schemas.filters.FlowFilter] = None,
|
283
|
+
flow_runs: Optional[schemas.filters.FlowRunFilter] = None,
|
284
|
+
task_runs: Optional[schemas.filters.TaskRunFilter] = None,
|
285
|
+
deployments: Optional[schemas.filters.DeploymentFilter] = None,
|
286
|
+
work_pools: Optional[schemas.filters.WorkPoolFilter] = None,
|
287
|
+
work_queues: Optional[schemas.filters.WorkQueueFilter] = None,
|
288
288
|
db: PrefectDBInterface = Depends(provide_database_interface),
|
289
289
|
) -> List[schemas.responses.HistoryResponse]:
|
290
290
|
"""
|
@@ -293,6 +293,7 @@ async def flow_run_history(
|
|
293
293
|
if isinstance(history_interval, float):
|
294
294
|
history_interval = datetime.timedelta(seconds=history_interval)
|
295
295
|
|
296
|
+
assert isinstance(history_interval, datetime.timedelta)
|
296
297
|
if history_interval < datetime.timedelta(seconds=1):
|
297
298
|
raise HTTPException(
|
298
299
|
status.HTTP_422_UNPROCESSABLE_ENTITY,
|
@@ -351,8 +352,8 @@ async def read_flow_run_graph_v1(
|
|
351
352
|
@router.get("/{id:uuid}/graph-v2", tags=["Flow Run Graph"])
|
352
353
|
async def read_flow_run_graph_v2(
|
353
354
|
flow_run_id: UUID = Path(..., description="The flow run id", alias="id"),
|
354
|
-
since:
|
355
|
-
default=jsonable_encoder(
|
355
|
+
since: datetime.datetime = Query(
|
356
|
+
default=jsonable_encoder(datetime.datetime.min),
|
356
357
|
description="Only include runs that start or end after this time.",
|
357
358
|
),
|
358
359
|
db: PrefectDBInterface = Depends(provide_database_interface),
|
{prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/run_history.py
RENAMED
@@ -36,7 +36,7 @@ async def run_history(
|
|
36
36
|
deployments: Optional[schemas.filters.DeploymentFilter] = None,
|
37
37
|
work_pools: Optional[schemas.filters.WorkPoolFilter] = None,
|
38
38
|
work_queues: Optional[schemas.filters.WorkQueueFilter] = None,
|
39
|
-
) ->
|
39
|
+
) -> list[schemas.responses.HistoryResponse]:
|
40
40
|
"""
|
41
41
|
Produce a history of runs aggregated by interval and state
|
42
42
|
"""
|
{prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/server/api/ui/task_runs.py
RENAMED
@@ -1,8 +1,9 @@
|
|
1
1
|
from datetime import datetime
|
2
2
|
from typing import TYPE_CHECKING, List, Optional
|
3
|
+
from uuid import UUID
|
3
4
|
|
4
5
|
import sqlalchemy as sa
|
5
|
-
from fastapi import Depends, HTTPException, status
|
6
|
+
from fastapi import Depends, HTTPException, Path, status
|
6
7
|
from pydantic import Field, model_serializer
|
7
8
|
|
8
9
|
import prefect.server.schemas as schemas
|
@@ -173,3 +174,22 @@ async def read_task_run_counts_by_state(
|
|
173
174
|
task_run_filter=task_runs,
|
174
175
|
deployment_filter=deployments,
|
175
176
|
)
|
177
|
+
|
178
|
+
|
179
|
+
@router.get("/{id}")
|
180
|
+
async def read_task_run_with_flow_run_name(
|
181
|
+
task_run_id: UUID = Path(..., description="The task run id", alias="id"),
|
182
|
+
db: PrefectDBInterface = Depends(provide_database_interface),
|
183
|
+
) -> schemas.ui.UITaskRun:
|
184
|
+
"""
|
185
|
+
Get a task run by id.
|
186
|
+
"""
|
187
|
+
async with db.session_context() as session:
|
188
|
+
task_run = await models.task_runs.read_task_run_with_flow_run_name(
|
189
|
+
session=session, task_run_id=task_run_id
|
190
|
+
)
|
191
|
+
|
192
|
+
if not task_run:
|
193
|
+
raise HTTPException(status.HTTP_404_NOT_FOUND, detail="Task not found")
|
194
|
+
|
195
|
+
return schemas.ui.UITaskRun.model_validate(task_run)
|
@@ -134,7 +134,7 @@ class PrefectBaseSettings(BaseSettings):
|
|
134
134
|
def ser_model(
|
135
135
|
self, handler: SerializerFunctionWrapHandler, info: SerializationInfo
|
136
136
|
) -> Any:
|
137
|
-
jsonable_self = handler(self)
|
137
|
+
jsonable_self: dict[str, Any] = handler(self)
|
138
138
|
# iterate over fields to ensure child models that have been updated are also included
|
139
139
|
for key in type(self).model_fields.keys():
|
140
140
|
if info.exclude and key in info.exclude:
|
@@ -276,12 +276,17 @@ class Settings(PrefectBaseSettings):
|
|
276
276
|
for r in restore_defaults or []:
|
277
277
|
path = r.accessor.split(".")
|
278
278
|
model = self
|
279
|
+
model_cls = model.__class__
|
280
|
+
model_fields = model_cls.model_fields
|
279
281
|
for key in path[:-1]:
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
282
|
+
model_field = model_fields[key]
|
283
|
+
model_cls = model_field.annotation
|
284
|
+
if model_cls is None:
|
285
|
+
raise ValueError(f"Invalid setting path: {r.accessor}")
|
286
|
+
model_fields = model_cls.model_fields
|
287
|
+
|
288
|
+
model_field = model_fields[path[-1]]
|
289
|
+
assert model_field is not None, f"Invalid setting path: {r.accessor}"
|
285
290
|
if hasattr(model_field, "default"):
|
286
291
|
default = model_field.default
|
287
292
|
elif (
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_experimental/__init__.py
RENAMED
File without changes
|
{prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_experimental/bundles.py
RENAMED
File without changes
|
{prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_experimental/lineage.py
RENAMED
File without changes
|
{prefect_client-3.3.2.dev1 → prefect_client-3.3.3.dev1}/src/prefect/_experimental/sla/__init__.py
RENAMED
File without changes
|