prefect-client 3.4.1.dev5__tar.gz → 3.4.2.dev2__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.1.dev5 → prefect_client-3.4.2.dev2}/PKG-INFO +2 -1
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/pyproject.toml +1 -0
- prefect_client-3.4.2.dev2/src/prefect/_build_info.py +5 -0
- prefect_client-3.4.2.dev2/src/prefect/_internal/compatibility/blocks.py +27 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/schemas/bases.py +11 -1
- prefect_client-3.4.2.dev2/src/prefect/_internal/uuid7.py +11 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/schemas/objects.py +12 -7
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/filters.py +25 -11
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/schemas/automations.py +3 -1
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/schemas/events.py +3 -2
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/results.py +24 -35
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/workers.py +3 -2
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/task_runners.py +2 -1
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/task_worker.py +95 -14
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/tasks.py +8 -3
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/types/__init__.py +2 -2
- prefect_client-3.4.1.dev5/src/prefect/_build_info.py +0 -5
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/.gitignore +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/LICENSE +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/README.md +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/.prefectignore +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/__main__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_experimental/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_experimental/bundles/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_experimental/bundles/execute.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_experimental/lineage.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_experimental/sla/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_experimental/sla/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_experimental/sla/objects.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/_logging.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/compatibility/deprecated.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/compatibility/migration.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/concurrency/cancellation.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/concurrency/services.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/integrations.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/pytz.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/retries.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/schemas/validators.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_result_records.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_vendor/croniter/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_vendor/croniter/croniter.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_versioning.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_waiters.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/agent.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/artifacts.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/automations.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/blocks/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/blocks/abstract.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/blocks/core.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/blocks/fields.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/blocks/notifications.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/blocks/redis.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/blocks/system.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/blocks/webhook.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/cache_policies.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/base.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/cloud.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/collections.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/constants.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_automations/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_deployments/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_flows/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_logs/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_variables/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/base.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/orchestration/routes.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/schemas/actions.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/schemas/filters.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/schemas/responses.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/subscriptions.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/types/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/types/flexible_schedule_list.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/utilities.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/_asyncio.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/_events.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/context.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/services.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/sync.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/v1/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/v1/_asyncio.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/v1/_events.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/v1/asyncio.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/v1/context.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/v1/services.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/concurrency/v1/sync.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/context.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/deployments/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/deployments/base.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/deployments/deployments.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/deployments/flow_runs.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/deployments/runner.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/deployments/schedules.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/deployments/steps/core.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/docker/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/docker/docker_image.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/engine.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/actions.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/cli/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/cli/automations.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/clients.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/related.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/utilities.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/worker.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/exceptions.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/filesystems.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/flow_engine.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/flow_runs.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/flows.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/futures.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/infrastructure/base.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/input/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/input/actions.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/input/run_input.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/locking/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/locking/filesystem.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/locking/memory.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/locking/protocol.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/logging/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/logging/configuration.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/logging/filters.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/logging/formatters.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/logging/handlers.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/logging/highlighters.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/logging/loggers.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/logging/logging.yml +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/main.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/plugins.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/py.typed +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/runner/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/runner/_observers.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/runner/runner.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/runner/server.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/runner/storage.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/runner/submit.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/runner/utils.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/runtime/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/runtime/deployment.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/runtime/flow_run.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/runtime/task_run.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/schedules.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/serializers.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/admin.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/artifacts.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/automations.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/block_capabilities.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/block_documents.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/block_schemas.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/block_types.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/clients.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/collections.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/concurrency_limits.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/csrf_token.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/dependencies.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/deployments.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/events.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/flow_run_states.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/flow_runs.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/flows.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/logs.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/middleware.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/root.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/run_history.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/saved_searches.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/server.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/task_run_states.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/task_runs.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/task_workers.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/templates.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/ui/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/ui/flow_runs.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/ui/flows.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/ui/schemas.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/ui/task_runs.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/validation.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/variables.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/server/api/work_queues.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/base.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/constants.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/context.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/legacy.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/api.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/cli.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/client.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/cloud.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/deployments.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/experiments.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/flows.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/internal.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/logging.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/results.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/root.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/runner.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/server/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/server/api.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/server/database.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/server/deployments.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/server/ephemeral.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/server/events.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/server/root.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/server/services.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/server/tasks.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/server/ui.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/tasks.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/testing.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/models/worker.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/profiles.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/profiles.toml +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/settings/sources.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/states.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/task_engine.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/task_runs.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/telemetry/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/telemetry/bootstrap.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/telemetry/instrumentation.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/telemetry/logging.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/telemetry/processors.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/telemetry/run_telemetry.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/telemetry/services.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/transactions.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/types/_datetime.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/types/entrypoint.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/types/names.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/_ast.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/_deprecated.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/_engine.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/_git.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/annotations.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/asyncutils.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/callables.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/collections.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/compat.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/context.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/dispatch.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/engine.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/filesystem.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/generics.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/hashing.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/importtools.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/math.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/names.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/processutils.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/pydantic.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/services.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/slugify.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/templating.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/text.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/timeout.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/urls.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/utilities/visualization.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/variables.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/workers/__init__.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/workers/base.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/workers/block.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/workers/cloud.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/workers/process.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/workers/server.py +0 -0
- {prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/workers/utilities.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: prefect-client
|
3
|
-
Version: 3.4.
|
3
|
+
Version: 3.4.2.dev2
|
4
4
|
Summary: Workflow orchestration and management.
|
5
5
|
Project-URL: Changelog, https://github.com/PrefectHQ/prefect/releases
|
6
6
|
Project-URL: Documentation, https://docs.prefect.io
|
@@ -60,6 +60,7 @@ Requires-Dist: sniffio<2.0.0,>=1.3.0
|
|
60
60
|
Requires-Dist: toml>=0.10.0
|
61
61
|
Requires-Dist: typing-extensions<5.0.0,>=4.10.0
|
62
62
|
Requires-Dist: ujson<6.0.0,>=5.8.0
|
63
|
+
Requires-Dist: uuid7>=0.1.0
|
63
64
|
Requires-Dist: uvicorn!=0.29.0,>=0.14.0
|
64
65
|
Requires-Dist: websockets<16.0,>=13.0
|
65
66
|
Requires-Dist: whenever<0.9.0,>=0.7.3; python_version >= '3.13'
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import inspect
|
2
|
+
from typing import Any, Union
|
3
|
+
|
4
|
+
from prefect.filesystems import NullFileSystem, WritableFileSystem
|
5
|
+
|
6
|
+
|
7
|
+
async def call_explicitly_async_block_method(
|
8
|
+
block: Union[WritableFileSystem, NullFileSystem],
|
9
|
+
method: str,
|
10
|
+
args: tuple[Any, ...],
|
11
|
+
kwargs: dict[str, Any],
|
12
|
+
) -> Any:
|
13
|
+
"""
|
14
|
+
TODO: remove this once we have explicit async methods on all storage blocks
|
15
|
+
|
16
|
+
see https://github.com/PrefectHQ/prefect/issues/15008
|
17
|
+
"""
|
18
|
+
if hasattr(block, f"a{method}"): # explicit async method
|
19
|
+
return await getattr(block, f"a{method}")(*args, **kwargs)
|
20
|
+
elif hasattr(getattr(block, method, None), "aio"): # sync_compatible
|
21
|
+
return await getattr(block, method).aio(block, *args, **kwargs)
|
22
|
+
else: # should not happen in prefect, but users can override impls
|
23
|
+
maybe_coro = getattr(block, method)(*args, **kwargs)
|
24
|
+
if inspect.isawaitable(maybe_coro):
|
25
|
+
return await maybe_coro
|
26
|
+
else:
|
27
|
+
return maybe_coro
|
{prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/_internal/schemas/bases.py
RENAMED
@@ -10,6 +10,7 @@ from pydantic import BaseModel, ConfigDict, Field
|
|
10
10
|
from rich.repr import RichReprResult
|
11
11
|
from typing_extensions import Self
|
12
12
|
|
13
|
+
from prefect._internal.uuid7 import uuid7
|
13
14
|
from prefect.types._datetime import (
|
14
15
|
DateTime,
|
15
16
|
human_friendly_diff,
|
@@ -100,7 +101,7 @@ class PrefectBaseModel(BaseModel):
|
|
100
101
|
|
101
102
|
class IDBaseModel(PrefectBaseModel):
|
102
103
|
"""
|
103
|
-
A PrefectBaseModel with
|
104
|
+
A PrefectBaseModel with a randomly-generated UUID ID value.
|
104
105
|
|
105
106
|
The ID is reset on copy() and not included in equality comparisons.
|
106
107
|
"""
|
@@ -109,6 +110,15 @@ class IDBaseModel(PrefectBaseModel):
|
|
109
110
|
id: UUID = Field(default_factory=uuid4)
|
110
111
|
|
111
112
|
|
113
|
+
class TimeSeriesBaseModel(IDBaseModel):
|
114
|
+
"""
|
115
|
+
A PrefectBaseModel with a time-oriented UUIDv7 ID value. Used for models that
|
116
|
+
operate like timeseries, such as runs, states, and logs.
|
117
|
+
"""
|
118
|
+
|
119
|
+
id: UUID = Field(default_factory=uuid7)
|
120
|
+
|
121
|
+
|
112
122
|
class ObjectBaseModel(IDBaseModel):
|
113
123
|
"""
|
114
124
|
A PrefectBaseModel with an auto-generated UUID ID value and created /
|
{prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/client/schemas/objects.py
RENAMED
@@ -15,7 +15,7 @@ from typing import (
|
|
15
15
|
Union,
|
16
16
|
overload,
|
17
17
|
)
|
18
|
-
from uuid import UUID
|
18
|
+
from uuid import UUID
|
19
19
|
|
20
20
|
import orjson
|
21
21
|
from pydantic import (
|
@@ -36,7 +36,11 @@ from typing_extensions import Literal, Self, TypeVar
|
|
36
36
|
|
37
37
|
from prefect._internal.compatibility.async_dispatch import async_dispatch
|
38
38
|
from prefect._internal.compatibility.migration import getattr_migration
|
39
|
-
from prefect._internal.schemas.bases import
|
39
|
+
from prefect._internal.schemas.bases import (
|
40
|
+
ObjectBaseModel,
|
41
|
+
PrefectBaseModel,
|
42
|
+
TimeSeriesBaseModel,
|
43
|
+
)
|
40
44
|
from prefect._internal.schemas.fields import CreatedBy, UpdatedBy
|
41
45
|
from prefect._internal.schemas.validators import (
|
42
46
|
get_or_create_run_name,
|
@@ -48,6 +52,7 @@ from prefect._internal.schemas.validators import (
|
|
48
52
|
validate_not_negative,
|
49
53
|
validate_parent_and_ref_diff,
|
50
54
|
)
|
55
|
+
from prefect._internal.uuid7 import uuid7
|
51
56
|
from prefect._result_records import ResultRecordMetadata
|
52
57
|
from prefect.client.schemas.schedules import SCHEDULE_TYPES
|
53
58
|
from prefect.settings import PREFECT_CLOUD_API_URL, PREFECT_CLOUD_UI_URL
|
@@ -184,7 +189,7 @@ def data_discriminator(x: Any) -> str:
|
|
184
189
|
return "Any"
|
185
190
|
|
186
191
|
|
187
|
-
class State(ObjectBaseModel, Generic[R]):
|
192
|
+
class State(TimeSeriesBaseModel, ObjectBaseModel, Generic[R]):
|
188
193
|
"""
|
189
194
|
The state of a run.
|
190
195
|
"""
|
@@ -415,7 +420,7 @@ class State(ObjectBaseModel, Generic[R]):
|
|
415
420
|
"""
|
416
421
|
return self.model_copy(
|
417
422
|
update={
|
418
|
-
"id":
|
423
|
+
"id": uuid7(),
|
419
424
|
"created": now("UTC"),
|
420
425
|
"updated": now("UTC"),
|
421
426
|
"timestamp": now("UTC"),
|
@@ -511,7 +516,7 @@ class FlowRunPolicy(PrefectBaseModel):
|
|
511
516
|
return values
|
512
517
|
|
513
518
|
|
514
|
-
class FlowRun(ObjectBaseModel):
|
519
|
+
class FlowRun(TimeSeriesBaseModel, ObjectBaseModel):
|
515
520
|
name: str = Field(
|
516
521
|
default_factory=lambda: generate_slug(2),
|
517
522
|
description=(
|
@@ -767,7 +772,7 @@ class Constant(TaskRunInput):
|
|
767
772
|
type: str
|
768
773
|
|
769
774
|
|
770
|
-
class TaskRun(ObjectBaseModel):
|
775
|
+
class TaskRun(TimeSeriesBaseModel, ObjectBaseModel):
|
771
776
|
name: str = Field(
|
772
777
|
default_factory=lambda: generate_slug(2), examples=["my-task-run"]
|
773
778
|
)
|
@@ -1307,7 +1312,7 @@ class SavedSearch(ObjectBaseModel):
|
|
1307
1312
|
)
|
1308
1313
|
|
1309
1314
|
|
1310
|
-
class Log(ObjectBaseModel):
|
1315
|
+
class Log(TimeSeriesBaseModel, ObjectBaseModel):
|
1311
1316
|
"""An ORM representation of log data."""
|
1312
1317
|
|
1313
1318
|
name: str = Field(default=..., description="The logger name.")
|
@@ -1,5 +1,7 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
1
3
|
import datetime
|
2
|
-
from typing import Optional
|
4
|
+
from typing import Optional, Union
|
3
5
|
from uuid import UUID
|
4
6
|
|
5
7
|
from pydantic import Field
|
@@ -43,11 +45,21 @@ class EventDataFilter(PrefectBaseModel, extra="forbid"): # type: ignore[call-ar
|
|
43
45
|
"""A base class for filtering event data."""
|
44
46
|
|
45
47
|
def get_filters(self) -> list["EventDataFilter"]:
|
46
|
-
filters: list[
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
48
|
+
filters: list[EventDataFilter] = []
|
49
|
+
for filter in [
|
50
|
+
getattr(self, name) for name in self.__class__.model_fields.keys()
|
51
|
+
]:
|
52
|
+
# Any embedded list of filters are flattened and thus ANDed together
|
53
|
+
subfilters: list[EventDataFilter] = (
|
54
|
+
filter if isinstance(filter, list) else [filter]
|
55
|
+
)
|
56
|
+
|
57
|
+
for subfilter in subfilters:
|
58
|
+
if not isinstance(subfilter, EventDataFilter):
|
59
|
+
continue
|
60
|
+
|
61
|
+
filters.append(subfilter)
|
62
|
+
|
51
63
|
return filters
|
52
64
|
|
53
65
|
def includes(self, event: Event) -> bool:
|
@@ -233,18 +245,20 @@ class EventFilter(EventDataFilter):
|
|
233
245
|
default=None,
|
234
246
|
description="Filter criteria for the event name",
|
235
247
|
)
|
236
|
-
any_resource: Optional[EventAnyResourceFilter] = Field(
|
237
|
-
default=None,
|
238
|
-
description="Filter criteria for any resource involved in the event",
|
239
|
-
)
|
240
248
|
resource: Optional[EventResourceFilter] = Field(
|
241
249
|
default=None,
|
242
250
|
description="Filter criteria for the resource of the event",
|
243
251
|
)
|
244
|
-
related: Optional[EventRelatedFilter] = Field(
|
252
|
+
related: Optional[Union[EventRelatedFilter, list[EventRelatedFilter]]] = Field(
|
245
253
|
default=None,
|
246
254
|
description="Filter criteria for the related resources of the event",
|
247
255
|
)
|
256
|
+
any_resource: Optional[
|
257
|
+
Union[EventAnyResourceFilter, list[EventAnyResourceFilter]]
|
258
|
+
] = Field(
|
259
|
+
default=None,
|
260
|
+
description="Filter criteria for any resource involved in the event",
|
261
|
+
)
|
248
262
|
id: EventIDFilter = Field(
|
249
263
|
default_factory=lambda: EventIDFilter(id=[]),
|
250
264
|
description="Filter criteria for the events' ID",
|
{prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/schemas/automations.py
RENAMED
@@ -1,3 +1,5 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
1
3
|
import abc
|
2
4
|
import textwrap
|
3
5
|
from datetime import timedelta
|
@@ -103,7 +105,7 @@ class ResourceTrigger(Trigger, abc.ABC):
|
|
103
105
|
default_factory=lambda: ResourceSpecification.model_validate({}),
|
104
106
|
description="Labels for resources which this trigger will match.",
|
105
107
|
)
|
106
|
-
match_related: ResourceSpecification = Field(
|
108
|
+
match_related: Union[ResourceSpecification, list[ResourceSpecification]] = Field(
|
107
109
|
default_factory=lambda: ResourceSpecification.model_validate({}),
|
108
110
|
description="Labels for related resources which this trigger will match.",
|
109
111
|
)
|
{prefect_client-3.4.1.dev5 → prefect_client-3.4.2.dev2}/src/prefect/events/schemas/events.py
RENAMED
@@ -13,7 +13,7 @@ from typing import (
|
|
13
13
|
Tuple,
|
14
14
|
Union,
|
15
15
|
)
|
16
|
-
from uuid import UUID
|
16
|
+
from uuid import UUID
|
17
17
|
|
18
18
|
from pydantic import (
|
19
19
|
AfterValidator,
|
@@ -26,6 +26,7 @@ from typing_extensions import Annotated, Self
|
|
26
26
|
|
27
27
|
import prefect.types._datetime
|
28
28
|
from prefect._internal.schemas.bases import PrefectBaseModel
|
29
|
+
from prefect._internal.uuid7 import uuid7
|
29
30
|
from prefect.logging import get_logger
|
30
31
|
from prefect.settings import (
|
31
32
|
PREFECT_EVENTS_MAXIMUM_LABELS_PER_RESOURCE,
|
@@ -135,7 +136,7 @@ class Event(PrefectBaseModel):
|
|
135
136
|
description="An open-ended set of data describing what happened",
|
136
137
|
)
|
137
138
|
id: UUID = Field(
|
138
|
-
default_factory=
|
139
|
+
default_factory=uuid7,
|
139
140
|
description="The client-provided identifier of this event",
|
140
141
|
)
|
141
142
|
follows: Optional[UUID] = Field(
|
@@ -1,11 +1,11 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
import asyncio
|
4
|
-
import inspect
|
5
4
|
import os
|
6
5
|
import socket
|
7
6
|
import threading
|
8
7
|
import uuid
|
8
|
+
from datetime import datetime
|
9
9
|
from functools import partial
|
10
10
|
from operator import methodcaller
|
11
11
|
from pathlib import Path
|
@@ -34,6 +34,8 @@ from typing_extensions import ParamSpec, Self
|
|
34
34
|
import prefect
|
35
35
|
import prefect.types._datetime
|
36
36
|
from prefect._internal.compatibility.async_dispatch import async_dispatch
|
37
|
+
from prefect._internal.compatibility.blocks import call_explicitly_async_block_method
|
38
|
+
from prefect._internal.compatibility.deprecated import deprecated_callable
|
37
39
|
from prefect._internal.concurrency.event_loop import get_running_loop
|
38
40
|
from prefect._result_records import R, ResultRecord, ResultRecordMetadata
|
39
41
|
from prefect.blocks.core import Block
|
@@ -285,29 +287,6 @@ def _format_user_supplied_storage_key(key: str) -> str:
|
|
285
287
|
return key.format(**runtime_vars, parameters=prefect.runtime.task_run.parameters)
|
286
288
|
|
287
289
|
|
288
|
-
async def _call_explicitly_async_block_method(
|
289
|
-
block: WritableFileSystem | NullFileSystem,
|
290
|
-
method: str,
|
291
|
-
args: tuple[Any, ...],
|
292
|
-
kwargs: dict[str, Any],
|
293
|
-
) -> Any:
|
294
|
-
"""
|
295
|
-
TODO: remove this once we have explicit async methods on all storage blocks
|
296
|
-
|
297
|
-
see https://github.com/PrefectHQ/prefect/issues/15008
|
298
|
-
"""
|
299
|
-
if hasattr(block, f"a{method}"): # explicit async method
|
300
|
-
return await getattr(block, f"a{method}")(*args, **kwargs)
|
301
|
-
elif hasattr(getattr(block, method, None), "aio"): # sync_compatible
|
302
|
-
return await getattr(block, method).aio(block, *args, **kwargs)
|
303
|
-
else: # should not happen in prefect, but users can override impls
|
304
|
-
maybe_coro = getattr(block, method)(*args, **kwargs)
|
305
|
-
if inspect.isawaitable(maybe_coro):
|
306
|
-
return await maybe_coro
|
307
|
-
else:
|
308
|
-
return maybe_coro
|
309
|
-
|
310
|
-
|
311
290
|
T = TypeVar("T")
|
312
291
|
|
313
292
|
|
@@ -505,7 +484,7 @@ class ResultStore(BaseModel):
|
|
505
484
|
# TODO: Add an `exists` method to commonly used storage blocks
|
506
485
|
# so the entire payload doesn't need to be read
|
507
486
|
try:
|
508
|
-
metadata_content = await
|
487
|
+
metadata_content = await call_explicitly_async_block_method(
|
509
488
|
self.metadata_storage, "read_path", (key,), {}
|
510
489
|
)
|
511
490
|
if metadata_content is None:
|
@@ -516,7 +495,7 @@ class ResultStore(BaseModel):
|
|
516
495
|
return False
|
517
496
|
else:
|
518
497
|
try:
|
519
|
-
content = await
|
498
|
+
content = await call_explicitly_async_block_method(
|
520
499
|
self.result_storage, "read_path", (key,), {}
|
521
500
|
)
|
522
501
|
if content is None:
|
@@ -601,7 +580,7 @@ class ResultStore(BaseModel):
|
|
601
580
|
self.result_storage = await aget_default_result_storage()
|
602
581
|
|
603
582
|
if self.metadata_storage is not None:
|
604
|
-
metadata_content = await
|
583
|
+
metadata_content = await call_explicitly_async_block_method(
|
605
584
|
self.metadata_storage,
|
606
585
|
"read_path",
|
607
586
|
(key,),
|
@@ -611,7 +590,7 @@ class ResultStore(BaseModel):
|
|
611
590
|
assert metadata.storage_key is not None, (
|
612
591
|
"Did not find storage key in metadata"
|
613
592
|
)
|
614
|
-
result_content = await
|
593
|
+
result_content = await call_explicitly_async_block_method(
|
615
594
|
self.result_storage,
|
616
595
|
"read_path",
|
617
596
|
(metadata.storage_key,),
|
@@ -624,7 +603,7 @@ class ResultStore(BaseModel):
|
|
624
603
|
)
|
625
604
|
await emit_result_read_event(self, resolved_key_path)
|
626
605
|
else:
|
627
|
-
content = await
|
606
|
+
content = await call_explicitly_async_block_method(
|
628
607
|
self.result_storage,
|
629
608
|
"read_path",
|
630
609
|
(key,),
|
@@ -806,13 +785,13 @@ class ResultStore(BaseModel):
|
|
806
785
|
|
807
786
|
# If metadata storage is configured, write result and metadata separately
|
808
787
|
if self.metadata_storage is not None:
|
809
|
-
await
|
788
|
+
await call_explicitly_async_block_method(
|
810
789
|
self.result_storage,
|
811
790
|
"write_path",
|
812
791
|
(result_record.metadata.storage_key,),
|
813
792
|
{"content": result_record.serialize_result()},
|
814
793
|
)
|
815
|
-
await
|
794
|
+
await call_explicitly_async_block_method(
|
816
795
|
self.metadata_storage,
|
817
796
|
"write_path",
|
818
797
|
(base_key,),
|
@@ -821,7 +800,7 @@ class ResultStore(BaseModel):
|
|
821
800
|
await emit_result_write_event(self, result_record.metadata.storage_key)
|
822
801
|
# Otherwise, write the result metadata and result together
|
823
802
|
else:
|
824
|
-
await
|
803
|
+
await call_explicitly_async_block_method(
|
825
804
|
self.result_storage,
|
826
805
|
"write_path",
|
827
806
|
(result_record.metadata.storage_key,),
|
@@ -998,6 +977,11 @@ class ResultStore(BaseModel):
|
|
998
977
|
|
999
978
|
# TODO: These two methods need to find a new home
|
1000
979
|
|
980
|
+
@deprecated_callable(
|
981
|
+
start_date=datetime(2025, 5, 10),
|
982
|
+
end_date=datetime(2025, 11, 10),
|
983
|
+
help="Use `store_parameters` from `prefect.task_worker` instead.",
|
984
|
+
)
|
1001
985
|
@sync_compatible
|
1002
986
|
async def store_parameters(self, identifier: UUID, parameters: dict[str, Any]):
|
1003
987
|
record = ResultRecord(
|
@@ -1007,21 +991,26 @@ class ResultStore(BaseModel):
|
|
1007
991
|
),
|
1008
992
|
)
|
1009
993
|
|
1010
|
-
await
|
994
|
+
await call_explicitly_async_block_method(
|
1011
995
|
self.result_storage,
|
1012
996
|
"write_path",
|
1013
997
|
(f"parameters/{identifier}",),
|
1014
998
|
{"content": record.serialize()},
|
1015
999
|
)
|
1016
1000
|
|
1001
|
+
@deprecated_callable(
|
1002
|
+
start_date=datetime(2025, 5, 10),
|
1003
|
+
end_date=datetime(2025, 11, 10),
|
1004
|
+
help="Use `read_parameters` from `prefect.task_worker` instead.",
|
1005
|
+
)
|
1017
1006
|
@sync_compatible
|
1018
1007
|
async def read_parameters(self, identifier: UUID) -> dict[str, Any]:
|
1019
1008
|
if self.result_storage is None:
|
1020
1009
|
raise ValueError(
|
1021
1010
|
"Result store is not configured - must have a result storage block to read parameters"
|
1022
1011
|
)
|
1023
|
-
record: ResultRecord[Any] = ResultRecord.deserialize(
|
1024
|
-
await
|
1012
|
+
record: ResultRecord[Any] = ResultRecord[Any].deserialize(
|
1013
|
+
await call_explicitly_async_block_method(
|
1025
1014
|
self.result_storage,
|
1026
1015
|
"read_path",
|
1027
1016
|
(f"parameters/{identifier}",),
|
@@ -3,7 +3,7 @@ Routes for interacting with work queue objects.
|
|
3
3
|
"""
|
4
4
|
|
5
5
|
from typing import TYPE_CHECKING, List, Optional
|
6
|
-
from uuid import UUID
|
6
|
+
from uuid import UUID
|
7
7
|
|
8
8
|
import sqlalchemy as sa
|
9
9
|
from fastapi import (
|
@@ -20,6 +20,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
|
|
20
20
|
import prefect.server.api.dependencies as dependencies
|
21
21
|
import prefect.server.models as models
|
22
22
|
import prefect.server.schemas as schemas
|
23
|
+
from prefect._internal.uuid7 import uuid7
|
23
24
|
from prefect.server.api.validation import validate_job_variable_defaults_for_work_pool
|
24
25
|
from prefect.server.database import PrefectDBInterface, provide_database_interface
|
25
26
|
from prefect.server.models.deployments import mark_deployments_ready
|
@@ -184,7 +185,7 @@ async def create_work_pool(
|
|
184
185
|
)
|
185
186
|
|
186
187
|
await emit_work_pool_status_event(
|
187
|
-
event_id=
|
188
|
+
event_id=uuid7(),
|
188
189
|
occurred=now("UTC"),
|
189
190
|
pre_update_work_pool=None,
|
190
191
|
work_pool=model,
|
@@ -21,6 +21,7 @@ from typing import (
|
|
21
21
|
|
22
22
|
from typing_extensions import ParamSpec, Self, TypeVar
|
23
23
|
|
24
|
+
from prefect._internal.uuid7 import uuid7
|
24
25
|
from prefect.client.schemas.objects import TaskRunInput
|
25
26
|
from prefect.exceptions import MappingLengthMismatch, MappingMissingIterable
|
26
27
|
from prefect.futures import (
|
@@ -290,7 +291,7 @@ class ThreadPoolTaskRunner(TaskRunner[PrefectConcurrentFuture[R]]):
|
|
290
291
|
from prefect.context import FlowRunContext
|
291
292
|
from prefect.task_engine import run_task_async, run_task_sync
|
292
293
|
|
293
|
-
task_run_id =
|
294
|
+
task_run_id = uuid7()
|
294
295
|
cancel_event = threading.Event()
|
295
296
|
self._cancel_events[task_run_id] = cancel_event
|
296
297
|
context = copy_context()
|