prefect-client 3.8.9.dev5__tar.gz → 3.8.9.dev7__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.8.9.dev5 → prefect_client-3.8.9.dev7}/PKG-INFO +1 -1
- prefect_client-3.8.9.dev7/src/prefect/_build_info.py +5 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/pydantic/v2_schema.py +8 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/__init__.py +2 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/actions.py +62 -2
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/schemas/automations.py +18 -7
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/flow_runs.py +1 -1
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/flows.py +5 -5
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/futures.py +2 -2
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/task_engine.py +11 -8
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/tasks.py +8 -7
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/callables/AGENTS.md +2 -1
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/callables/__init__.py +95 -46
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/collections.py +1 -1
- prefect_client-3.8.9.dev5/src/prefect/_build_info.py +0 -5
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/.gitignore +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/LICENSE +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/README.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/hatch_build.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/pyproject.toml +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/.prefectignore +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/__main__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/_launchers.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/bundles/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/bundles/execute.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/plugins/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/plugins/apply.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/plugins/manager.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/plugins/spec.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/sla/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/sla/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/sla/objects.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_flow_run_suspension.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/_logging.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/_observation_delivery.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/ci_detection.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/device_id.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/emit.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/enabled.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/events.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/milestones.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/notice.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/service.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/ast_utils.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/attempt_control.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/buildx.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/compatibility/backports.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/compatibility/blocks.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/compatibility/deprecated.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/compatibility/deprecated_paths.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/compatibility/migration.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/compatibility/starlette.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/concurrency/cancellation.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/concurrency/services.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/control_listener.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/deprecated.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/engine.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/git.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/infrastructure_exit_codes.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/installation.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/integrations.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/launchers.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/lazy.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/metrics.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/observability.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/observers.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/plugins/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/plugins/apply.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/plugins/collections.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/plugins/diagnostics.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/plugins/manager.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/plugins/spec.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/plugins/startup.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/pydantic/validated_func.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/pytz.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/result_records.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/retries.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/schema.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/schemas/_registry.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/schemas/bases.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/schemas/validators.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/send_entrypoint_logs.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/server_maintenance.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/states.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/testing.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/urls.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/uuid7.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/version_checking.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/versioning.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/waiters.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/websockets.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_sdk/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_sdk/fetcher.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_sdk/generator.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_sdk/models.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_sdk/naming.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_sdk/renderer.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_sdk/schema_converter.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_sdk/templates/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_sdk/templates/sdk.py.jinja +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_sdk/types.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_sdk/unions.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_vendor/croniter/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_vendor/croniter/croniter.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/agent.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/analytics/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/artifacts.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/assets/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/assets/core.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/assets/materialize.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/automations.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/blocks/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/blocks/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/blocks/abstract.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/blocks/core.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/blocks/fields.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/blocks/notifications.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/blocks/redis.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/blocks/system.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/blocks/webhook.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/bundles/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/bundles/_file_collector.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/bundles/_ignore_filter.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/bundles/_path_resolver.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/bundles/_zip_builder.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/bundles/_zip_extractor.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/bundles/execute.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/cache_policies.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/attribution.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/base.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/cloud.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/collections.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/constants.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_automations/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_deployments/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_events/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_events/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_flows/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_logs/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_variables/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/base.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/orchestration/routes.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/schemas/actions.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/schemas/events.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/schemas/filters.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/schemas/objects.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/schemas/responses.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/schemas/worker_channel.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/subscriptions.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/types/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/types/flexible_schedule_list.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/client/utilities.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/_asyncio.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/_events.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/_leases.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/_sync.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/context.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/services.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/sync.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/v1/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/v1/_asyncio.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/v1/_events.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/v1/asyncio.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/v1/context.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/v1/services.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/concurrency/v1/sync.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/context.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/deployments/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/deployments/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/deployments/base.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/deployments/deployments.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/deployments/flow_runs.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/deployments/runner.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/deployments/schedules.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/deployments/steps/core.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/docker/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/docker/_buildx.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/docker/docker_image.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/engine.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/clients.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/filters.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/related.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/schemas/events.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/subscribers.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/utilities.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/worker.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/exceptions.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/filesystems.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/flow_engine.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/infrastructure/base.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/input/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/input/actions.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/input/run_input.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/locking/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/locking/_filelock.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/locking/filesystem.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/locking/memory.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/locking/protocol.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/logging/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/logging/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/logging/clients.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/logging/configuration.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/logging/filters.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/logging/formatters.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/logging/handlers.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/logging/highlighters.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/logging/loggers.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/logging/logging.yml +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/main.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/plugins.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/py.typed +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/results.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_cancel_finalizer.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_cancellation_manager.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_control_channel.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_deployment_registry.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_event_emitter.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_flow_resolver.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_flow_run_executor.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_hook_runner.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_limit_manager.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_process_manager.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_scheduled_run_poller.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_starter_bundle.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_starter_direct.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_starter_engine.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_state_proposer.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_uv_command.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_workspace_hook_runner.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_workspace_resolver.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_workspace_runtime.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_workspace_runtime_bootstrap.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_workspace_starter.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/_workspace_supervisor.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/runner.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/server.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runner/storage.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runtime/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runtime/deployment.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runtime/flow_run.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/runtime/task_run.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/schedules.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/serializers.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/_ui_static.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/admin.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/artifacts.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/automations.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/background_workers.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/block_capabilities.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/block_documents.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/block_schemas.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/block_types.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/clients.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/collections.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/concurrency_limits.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/csrf_token.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/dependencies.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/deployments.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/events.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/flow_run_states.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/flow_runs.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/flows.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/logs.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/middleware.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/root.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/run_history.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/saved_searches.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/server.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/task_run_states.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/task_runs.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/task_workers.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/templates.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/ui/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/ui/flow_runs.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/ui/flows.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/ui/schemas.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/ui/task_runs.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/validation.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/variables.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/work_queues.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/server/api/workers.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/_types.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/base.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/constants.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/context.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/legacy.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/_defaults.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/api.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/cli.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/client.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/cloud.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/deployments.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/events.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/experiments.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/flows.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/internal.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/logging.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/plugins.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/results.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/root.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/runner.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/api.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/concurrency.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/database.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/deployments.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/docket.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/ephemeral.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/events.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/logs.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/root.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/services.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/tasks.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/ui.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/server/worker_channel.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/tasks.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/telemetry.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/testing.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/models/worker.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/profiles.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/profiles.toml +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/settings/sources.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/states.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/task_runners.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/task_runs.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/task_worker.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/telemetry/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/telemetry/run_telemetry.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/transactions.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/types/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/types/_concurrency.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/types/_datetime.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/types/entrypoint.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/types/names.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/annotations.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/asyncutils/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/asyncutils/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/compat.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/context.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/dispatch.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/engine/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/engine/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/filesystem/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/filesystem/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/generics.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/hashing.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/importtools.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/math.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/names.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/processutils/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/processutils/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/pydantic.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/schema_tools/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/services.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/slugify.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/templating/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/templating/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/text.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/timeout.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/urls.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/visualization.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/variables.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/AGENTS.md +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/_cleanup.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/_cleanup_handlers.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/_worker_channel/__init__.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/_worker_channel/_protocol.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/_worker_channel/_state.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/_worker_channel/_sync.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/_worker_channel/_transport.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/base.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/block.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/cloud.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/process.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/server.py +0 -0
- {prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/workers/utilities.py +0 -0
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/pydantic/v2_schema.py
RENAMED
|
@@ -85,6 +85,14 @@ def process_v2_params(
|
|
|
85
85
|
# still ensure 'position' is always set
|
|
86
86
|
extra.setdefault("position", position)
|
|
87
87
|
|
|
88
|
+
# `*args` and `**kwargs` accept any number of values, including none
|
|
89
|
+
if param.kind is inspect.Parameter.VAR_POSITIONAL:
|
|
90
|
+
type_ = list[type_]
|
|
91
|
+
default_value = []
|
|
92
|
+
elif param.kind is inspect.Parameter.VAR_KEYWORD:
|
|
93
|
+
type_ = dict[str, type_]
|
|
94
|
+
default_value = {}
|
|
95
|
+
|
|
88
96
|
field = pydantic.Field(
|
|
89
97
|
default=... if default_value is param.empty else default_value,
|
|
90
98
|
title=param.name,
|
|
@@ -42,6 +42,7 @@ from .actions import (
|
|
|
42
42
|
PauseAutomation,
|
|
43
43
|
ResumeAutomation,
|
|
44
44
|
DeclareIncident,
|
|
45
|
+
UnknownAction,
|
|
45
46
|
)
|
|
46
47
|
from .clients import get_events_client, get_events_subscriber
|
|
47
48
|
from .subscribers import FlowRunSubscriber
|
|
@@ -90,6 +91,7 @@ __all__ = [
|
|
|
90
91
|
"PauseAutomation",
|
|
91
92
|
"ResumeAutomation",
|
|
92
93
|
"DeclareIncident",
|
|
94
|
+
"UnknownAction",
|
|
93
95
|
"emit_event",
|
|
94
96
|
"get_events_client",
|
|
95
97
|
"get_events_subscriber",
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import abc
|
|
2
2
|
from datetime import timedelta
|
|
3
|
-
from typing import Any, Dict, Optional, Union
|
|
3
|
+
from typing import Annotated, Any, ClassVar, Dict, Optional, Union, get_args
|
|
4
4
|
from uuid import UUID
|
|
5
5
|
|
|
6
|
-
from pydantic import
|
|
6
|
+
from pydantic import (
|
|
7
|
+
ConfigDict,
|
|
8
|
+
Discriminator,
|
|
9
|
+
Field,
|
|
10
|
+
Tag,
|
|
11
|
+
field_validator,
|
|
12
|
+
model_validator,
|
|
13
|
+
)
|
|
7
14
|
from typing_extensions import Literal, Self, TypeAlias
|
|
8
15
|
|
|
9
16
|
from prefect._internal.schemas.bases import PrefectBaseModel
|
|
@@ -314,3 +321,56 @@ ActionTypes: TypeAlias = Union[
|
|
|
314
321
|
# Prefect Cloud only
|
|
315
322
|
DeclareIncident,
|
|
316
323
|
]
|
|
324
|
+
|
|
325
|
+
_KNOWN_ACTION_TYPES: frozenset[str] = frozenset(
|
|
326
|
+
action.model_fields["type"].default for action in get_args(ActionTypes)
|
|
327
|
+
)
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
class UnknownAction(Action):
|
|
331
|
+
"""An action whose type this version of Prefect does not recognize.
|
|
332
|
+
|
|
333
|
+
Prefect Cloud can add action types before a client release knows about
|
|
334
|
+
them. Reading an automation that uses one of these types returns this
|
|
335
|
+
model instead of failing. The model keeps every field of the action, so
|
|
336
|
+
updating the automation sends the action back unchanged.
|
|
337
|
+
"""
|
|
338
|
+
|
|
339
|
+
model_config: ClassVar[ConfigDict] = ConfigDict(extra="allow")
|
|
340
|
+
|
|
341
|
+
type: str = Field(
|
|
342
|
+
json_schema_extra={"not": {"enum": sorted(_KNOWN_ACTION_TYPES)}},
|
|
343
|
+
)
|
|
344
|
+
|
|
345
|
+
@field_validator("type")
|
|
346
|
+
@classmethod
|
|
347
|
+
def _type_is_not_known(cls, value: str) -> str:
|
|
348
|
+
if value in _KNOWN_ACTION_TYPES:
|
|
349
|
+
raise ValueError(
|
|
350
|
+
f"{value!r} is a known action type and cannot be an UnknownAction"
|
|
351
|
+
)
|
|
352
|
+
return value
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
def _action_discriminator(value: Any) -> str:
|
|
356
|
+
"""Sends an action with an unrecognized `type` to `UnknownAction` and every
|
|
357
|
+
other action, including one with no `type`, to `ActionTypes`."""
|
|
358
|
+
if isinstance(value, UnknownAction):
|
|
359
|
+
return "unknown"
|
|
360
|
+
action_type = (
|
|
361
|
+
value.get("type") if isinstance(value, dict) else getattr(value, "type", None)
|
|
362
|
+
)
|
|
363
|
+
if isinstance(action_type, str) and action_type not in _KNOWN_ACTION_TYPES:
|
|
364
|
+
return "unknown"
|
|
365
|
+
return "known"
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
ActionTypesOrUnknown: TypeAlias = Annotated[
|
|
369
|
+
Union[
|
|
370
|
+
Annotated[ActionTypes, Tag("known")],
|
|
371
|
+
Annotated[UnknownAction, Tag("unknown")],
|
|
372
|
+
],
|
|
373
|
+
Discriminator(_action_discriminator),
|
|
374
|
+
]
|
|
375
|
+
"""The action types an automation read from the API may contain: any of
|
|
376
|
+
`ActionTypes`, or an `UnknownAction` for a type this version does not know"""
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/events/schemas/automations.py
RENAMED
|
@@ -22,17 +22,21 @@ from pydantic import (
|
|
|
22
22
|
Field,
|
|
23
23
|
PrivateAttr,
|
|
24
24
|
Tag,
|
|
25
|
+
TypeAdapter,
|
|
26
|
+
ValidationError,
|
|
25
27
|
field_validator,
|
|
26
28
|
model_validator,
|
|
27
29
|
)
|
|
28
30
|
from typing_extensions import Self, TypeAlias
|
|
29
31
|
|
|
30
32
|
from prefect._internal.schemas.bases import PrefectBaseModel
|
|
31
|
-
from prefect.events.actions import ActionTypes, RunDeployment
|
|
33
|
+
from prefect.events.actions import ActionTypes, ActionTypesOrUnknown, RunDeployment
|
|
32
34
|
from prefect.utilities.collections import AutoEnum
|
|
33
35
|
|
|
34
36
|
from .events import ResourceSpecification
|
|
35
37
|
|
|
38
|
+
_timedelta_adapter: TypeAdapter[timedelta] = TypeAdapter(timedelta)
|
|
39
|
+
|
|
36
40
|
# Dict form accepted by ResourceSpecification via Pydantic coercion
|
|
37
41
|
ResourceSpecificationDict: TypeAlias = Dict[str, Union[str, List[str]]]
|
|
38
42
|
|
|
@@ -96,7 +100,7 @@ class Trigger(PrefectBaseModel, abc.ABC, extra="ignore"): # type: ignore[call-a
|
|
|
96
100
|
description=getattr(self, "description", ""),
|
|
97
101
|
enabled=getattr(self, "enabled", True),
|
|
98
102
|
trigger=trigger,
|
|
99
|
-
actions=self.actions(),
|
|
103
|
+
actions=list(self.actions()),
|
|
100
104
|
owner_resource=self.owner_resource(),
|
|
101
105
|
)
|
|
102
106
|
|
|
@@ -220,8 +224,15 @@ class EventTrigger(ResourceTrigger):
|
|
|
220
224
|
posture: Optional[Posture] = data.get("posture")
|
|
221
225
|
within: Optional[timedelta] = data.get("within")
|
|
222
226
|
|
|
223
|
-
if isinstance(within,
|
|
224
|
-
|
|
227
|
+
if within is not None and not isinstance(within, timedelta):
|
|
228
|
+
# Parse the raw value the same way the field would, so that every
|
|
229
|
+
# form pydantic accepts for a timedelta reaches the comparisons
|
|
230
|
+
# below as a timedelta.
|
|
231
|
+
try:
|
|
232
|
+
within = _timedelta_adapter.validate_python(within)
|
|
233
|
+
except ValidationError:
|
|
234
|
+
# The field validation reports the unparsable value.
|
|
235
|
+
return data
|
|
225
236
|
|
|
226
237
|
if posture == Posture.Proactive:
|
|
227
238
|
if not within or within == timedelta(0):
|
|
@@ -486,17 +497,17 @@ class AutomationCore(PrefectBaseModel, extra="ignore"): # type: ignore[call-arg
|
|
|
486
497
|
),
|
|
487
498
|
)
|
|
488
499
|
|
|
489
|
-
actions: List[
|
|
500
|
+
actions: List[ActionTypesOrUnknown] = Field(
|
|
490
501
|
default=...,
|
|
491
502
|
description="The actions to perform when this Automation triggers",
|
|
492
503
|
)
|
|
493
504
|
|
|
494
|
-
actions_on_trigger: List[
|
|
505
|
+
actions_on_trigger: List[ActionTypesOrUnknown] = Field(
|
|
495
506
|
default_factory=list,
|
|
496
507
|
description="The actions to perform when an Automation goes into a triggered state",
|
|
497
508
|
)
|
|
498
509
|
|
|
499
|
-
actions_on_resolve: List[
|
|
510
|
+
actions_on_resolve: List[ActionTypesOrUnknown] = Field(
|
|
500
511
|
default_factory=list,
|
|
501
512
|
description="The actions to perform when an Automation goes into a resolving state",
|
|
502
513
|
)
|
|
@@ -273,7 +273,7 @@ async def apause_flow_run(
|
|
|
273
273
|
if wait_for_input:
|
|
274
274
|
# The flow run wanted input, so we need to load it and return it
|
|
275
275
|
# to the user.
|
|
276
|
-
await wait_for_input.aload(run_input_keyset)
|
|
276
|
+
return await wait_for_input.aload(run_input_keyset)
|
|
277
277
|
|
|
278
278
|
return
|
|
279
279
|
|
|
@@ -578,11 +578,11 @@ class Flow(Generic[P, R]):
|
|
|
578
578
|
else self.cache_result_in_memory
|
|
579
579
|
),
|
|
580
580
|
log_prints=log_prints if log_prints is not NotSet else self.log_prints,
|
|
581
|
-
on_completion=on_completion or self.on_completion_hooks,
|
|
582
|
-
on_failure=on_failure or self.on_failure_hooks,
|
|
583
|
-
on_cancellation=on_cancellation or self.on_cancellation_hooks,
|
|
584
|
-
on_crashed=on_crashed or self.on_crashed_hooks,
|
|
585
|
-
on_running=on_running or self.on_running_hooks,
|
|
581
|
+
on_completion=on_completion or copy(self.on_completion_hooks),
|
|
582
|
+
on_failure=on_failure or copy(self.on_failure_hooks),
|
|
583
|
+
on_cancellation=on_cancellation or copy(self.on_cancellation_hooks),
|
|
584
|
+
on_crashed=on_crashed or copy(self.on_crashed_hooks),
|
|
585
|
+
on_running=on_running or copy(self.on_running_hooks),
|
|
586
586
|
)
|
|
587
587
|
new_flow._storage = self._storage
|
|
588
588
|
new_flow._entrypoint = self._entrypoint
|
|
@@ -584,7 +584,7 @@ class PrefectFutureList(list[PrefectFuture[R]], Iterator[PrefectFuture[R]]):
|
|
|
584
584
|
timeout_message = (
|
|
585
585
|
f"Timed out waiting for all futures to complete within {timeout} seconds"
|
|
586
586
|
)
|
|
587
|
-
deadline = time.monotonic() + timeout if timeout
|
|
587
|
+
deadline = time.monotonic() + timeout if timeout else None
|
|
588
588
|
|
|
589
589
|
try:
|
|
590
590
|
# `as_completed` de-duplicates internally; each unique future is
|
|
@@ -638,7 +638,7 @@ def as_completed(
|
|
|
638
638
|
pending = unique_futures
|
|
639
639
|
deadline: float | None = None
|
|
640
640
|
try:
|
|
641
|
-
with timeout_context(timeout, timeout_exc_type=_WaitTimeoutError):
|
|
641
|
+
with timeout_context(timeout or None, timeout_exc_type=_WaitTimeoutError):
|
|
642
642
|
done = {f for f in unique_futures if f._final_state} # type: ignore[privateUsage]
|
|
643
643
|
pending = unique_futures - done
|
|
644
644
|
yield from done
|
|
@@ -16,6 +16,7 @@ from typing import (
|
|
|
16
16
|
TYPE_CHECKING,
|
|
17
17
|
Any,
|
|
18
18
|
AsyncGenerator,
|
|
19
|
+
Awaitable,
|
|
19
20
|
Callable,
|
|
20
21
|
Coroutine,
|
|
21
22
|
Generator,
|
|
@@ -459,12 +460,14 @@ class SyncTaskRunEngine(BaseTaskRunEngine[P, R]):
|
|
|
459
460
|
message=f"Task run encountered unexpected exception: {repr(exc_or_state)}",
|
|
460
461
|
)
|
|
461
462
|
)
|
|
462
|
-
if
|
|
463
|
-
should_retry = run_coro_as_sync(
|
|
464
|
-
retry_condition(self.task, self.task_run, state)
|
|
465
|
-
)
|
|
466
|
-
elif inspect.isfunction(retry_condition):
|
|
463
|
+
if callable(retry_condition):
|
|
467
464
|
should_retry = retry_condition(self.task, self.task_run, state)
|
|
465
|
+
if inspect.isawaitable(should_retry):
|
|
466
|
+
|
|
467
|
+
async def await_retry_condition(result: Awaitable[bool]) -> bool:
|
|
468
|
+
return await result
|
|
469
|
+
|
|
470
|
+
should_retry = run_coro_as_sync(await_retry_condition(should_retry))
|
|
468
471
|
else:
|
|
469
472
|
should_retry = not retry_condition
|
|
470
473
|
return should_retry
|
|
@@ -1077,10 +1080,10 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
|
|
|
1077
1080
|
message=f"Task run encountered unexpected exception: {repr(exc_or_state)}",
|
|
1078
1081
|
)
|
|
1079
1082
|
)
|
|
1080
|
-
if
|
|
1081
|
-
should_retry = await retry_condition(self.task, self.task_run, state)
|
|
1082
|
-
elif inspect.isfunction(retry_condition):
|
|
1083
|
+
if callable(retry_condition):
|
|
1083
1084
|
should_retry = retry_condition(self.task, self.task_run, state)
|
|
1085
|
+
if inspect.isawaitable(should_retry):
|
|
1086
|
+
should_retry = await should_retry
|
|
1084
1087
|
else:
|
|
1085
1088
|
should_retry = not retry_condition
|
|
1086
1089
|
return should_retry
|
|
@@ -791,7 +791,7 @@ class Task(Generic[P, R]):
|
|
|
791
791
|
fn=self.fn,
|
|
792
792
|
name=name or self.name,
|
|
793
793
|
description=description or self.description,
|
|
794
|
-
tags=tags
|
|
794
|
+
tags=tags if tags is not None else copy(self.tags),
|
|
795
795
|
version=self.version,
|
|
796
796
|
cache_policy=cache_policy
|
|
797
797
|
if cache_policy is not NotSet
|
|
@@ -842,9 +842,9 @@ class Task(Generic[P, R]):
|
|
|
842
842
|
refresh_cache=(
|
|
843
843
|
refresh_cache if refresh_cache is not NotSet else self.refresh_cache
|
|
844
844
|
),
|
|
845
|
-
on_completion=on_completion or self.on_completion_hooks,
|
|
846
|
-
on_failure=on_failure or self.on_failure_hooks,
|
|
847
|
-
on_running=on_running or self.on_running_hooks,
|
|
845
|
+
on_completion=on_completion or copy(self.on_completion_hooks),
|
|
846
|
+
on_failure=on_failure or copy(self.on_failure_hooks),
|
|
847
|
+
on_running=on_running or copy(self.on_running_hooks),
|
|
848
848
|
on_rollback=copy(self.on_rollback_hooks),
|
|
849
849
|
on_commit=copy(self.on_commit_hooks),
|
|
850
850
|
retry_condition_fn=retry_condition_fn or self.retry_condition_fn,
|
|
@@ -2258,9 +2258,10 @@ class MaterializingTask(Task[P, R]):
|
|
|
2258
2258
|
continue
|
|
2259
2259
|
|
|
2260
2260
|
attr_name = param_to_attr.get(param_name, param_name)
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2261
|
+
value = getattr(self, attr_name)
|
|
2262
|
+
if attr_name.endswith("_hooks"):
|
|
2263
|
+
value = copy(value)
|
|
2264
|
+
init_kwargs[param_name] = task_kwargs.get(param_name, value)
|
|
2264
2265
|
|
|
2265
2266
|
return MaterializingTask(
|
|
2266
2267
|
fn=self.fn,
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/callables/AGENTS.md
RENAMED
|
@@ -17,6 +17,7 @@ Inspects user-written flow/task functions to produce:
|
|
|
17
17
|
## Pitfalls
|
|
18
18
|
|
|
19
19
|
- **`parameters_to_args_kwargs` adjusts the positional/keyword split based on the wrapper's signature, not the wrapped function's.** For `@functools.wraps`-decorated callables, it inspects the *wrapper* (via `follow_wrapped=False`) to count how many positional slots are actually available and routes excess parameters to `**kwargs`. This means `args` and `kwargs` from this function are shaped for the *wrapper* call, not the inner function — callers must not assume all POSITIONAL_OR_KEYWORD parameters end up in `args`.
|
|
20
|
-
- **`parameters_to_args_kwargs` skips the positional-to-keyword rewrite entirely when the function signature contains `*args`.** Inserting KEYWORD_ONLY parameters before a VAR_POSITIONAL parameter is invalid in Python, so the original signature is used as-is in that case.
|
|
20
|
+
- **`parameters_to_args_kwargs` skips the positional-to-keyword rewrite entirely when the function signature contains `*args`.** Inserting KEYWORD_ONLY parameters before a VAR_POSITIONAL parameter is invalid in Python, so the original signature is used as-is in that case. When `*args` values are given but earlier defaulted positional parameters are omitted, those parameters are filled with their defaults so the values bind positionally (an empty `*args` is dropped instead). Any non-string, non-mapping iterable counts as `*args` values and is converted to a tuple; other values (`None`, scalars, strings, mappings) are passed through untouched so validation rejects them.
|
|
21
21
|
- **Passing the same key in both an explicit parameter and a `**kwargs` dict raises `TypeError`.** `parameters_to_args_kwargs` detects when a VAR_KEYWORD (`**kwargs`) dict contains a key that also appears as an explicit parameter and raises rather than silently letting the variadic entry win. Exception: POSITIONAL_ONLY parameters are exempt because `fn(1, **{'a': 2})` is legal when `a` is positional-only.
|
|
22
22
|
- **`generate_parameter_schema` silently downgrades unsupported parameter types to `Any`.** When a parameter's type raises `ValueError`, `TypeError`, or `PydanticInvalidForJsonSchema` during JSON schema generation (e.g., `Callable`, custom types Pydantic can't serialize), the type is replaced with `Any` in the output schema without warning. If a flow parameter shows up as `Any` in the schema, the declared type is not JSON-schema-compatible.
|
|
23
|
+
- **Variadic parameters are optional collections in the schema.** `*args: T` is an `array` of `T` defaulting to `[]` and `**kwargs: T` an `object` with `T` values defaulting to `{}`. The explicit defaults keep schema preprocessing from making them nullable, since `None` can't be unpacked. `process_v1_params` and `process_v2_params` must stay in sync.
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/utilities/callables/__init__.py
RENAMED
|
@@ -7,7 +7,7 @@ import importlib.util
|
|
|
7
7
|
import inspect
|
|
8
8
|
import warnings
|
|
9
9
|
from collections import OrderedDict
|
|
10
|
-
from collections.abc import Iterable
|
|
10
|
+
from collections.abc import Iterable, Mapping
|
|
11
11
|
from functools import partial
|
|
12
12
|
from logging import Logger
|
|
13
13
|
from pathlib import Path
|
|
@@ -83,12 +83,21 @@ def get_call_parameters(
|
|
|
83
83
|
# a FieldInfo object when the user writes `param: T = Field(default=..., ...)`.
|
|
84
84
|
# Unwrap those to their actual default values.
|
|
85
85
|
for key, value in arguments.items():
|
|
86
|
-
|
|
87
|
-
arguments[key] = value.default
|
|
86
|
+
arguments[key] = _resolve_field_info_default(value)
|
|
88
87
|
|
|
89
88
|
return arguments
|
|
90
89
|
|
|
91
90
|
|
|
91
|
+
def _resolve_field_info_default(value: Any) -> Any:
|
|
92
|
+
"""
|
|
93
|
+
Resolve a `pydantic.Field(...)` used as a signature default to its actual
|
|
94
|
+
default value. Other values are returned unchanged.
|
|
95
|
+
"""
|
|
96
|
+
if isinstance(value, pydantic.fields.FieldInfo):
|
|
97
|
+
return value.default
|
|
98
|
+
return value
|
|
99
|
+
|
|
100
|
+
|
|
92
101
|
def get_parameter_defaults(
|
|
93
102
|
fn: Callable[..., Any],
|
|
94
103
|
) -> dict[str, Any]:
|
|
@@ -101,7 +110,7 @@ def get_parameter_defaults(
|
|
|
101
110
|
|
|
102
111
|
for name, param in signature.parameters.items():
|
|
103
112
|
if param.default is not signature.empty:
|
|
104
|
-
parameter_defaults[name] = param.default
|
|
113
|
+
parameter_defaults[name] = _resolve_field_info_default(param.default)
|
|
105
114
|
|
|
106
115
|
return parameter_defaults
|
|
107
116
|
|
|
@@ -289,12 +298,51 @@ def parameters_to_args_kwargs(
|
|
|
289
298
|
# Skip the rewrite entirely when the exposed signature contains a
|
|
290
299
|
# VAR_POSITIONAL (*args) parameter because inserting KEYWORD_ONLY params
|
|
291
300
|
# before *args would produce an invalid parameter ordering.
|
|
292
|
-
|
|
293
|
-
|
|
301
|
+
var_positional = next(
|
|
302
|
+
(
|
|
303
|
+
p
|
|
304
|
+
for p in sig.parameters.values()
|
|
305
|
+
if p.kind == inspect.Parameter.VAR_POSITIONAL
|
|
306
|
+
),
|
|
307
|
+
None,
|
|
294
308
|
)
|
|
295
309
|
|
|
296
|
-
if
|
|
310
|
+
if var_positional is not None:
|
|
297
311
|
modified_sig = sig
|
|
312
|
+
# Values for `*args` can only be passed positionally, so every positional
|
|
313
|
+
# parameter before it must be bound too, otherwise `*args` is passed as a
|
|
314
|
+
# keyword. Drop an empty `*args` and fill omitted parameters with their
|
|
315
|
+
# defaults otherwise. Other values, such as `None`, strings, or mappings,
|
|
316
|
+
# are left for validation to reject.
|
|
317
|
+
var_positional_value = parameters.get(var_positional.name)
|
|
318
|
+
if isiterable(var_positional_value) and not isinstance(
|
|
319
|
+
var_positional_value, Mapping
|
|
320
|
+
):
|
|
321
|
+
var_positional_values = tuple(cast(Iterable[Any], var_positional_value))
|
|
322
|
+
if not var_positional_values:
|
|
323
|
+
parameters = {
|
|
324
|
+
k: v for k, v in parameters.items() if k != var_positional.name
|
|
325
|
+
}
|
|
326
|
+
else:
|
|
327
|
+
parameters = (
|
|
328
|
+
{
|
|
329
|
+
p.name: (
|
|
330
|
+
p.default.get_default(call_default_factory=True)
|
|
331
|
+
if isinstance(p.default, pydantic.fields.FieldInfo)
|
|
332
|
+
else p.default
|
|
333
|
+
)
|
|
334
|
+
for p in sig.parameters.values()
|
|
335
|
+
if p.kind
|
|
336
|
+
in (
|
|
337
|
+
inspect.Parameter.POSITIONAL_ONLY,
|
|
338
|
+
inspect.Parameter.POSITIONAL_OR_KEYWORD,
|
|
339
|
+
)
|
|
340
|
+
and p.default is not p.empty
|
|
341
|
+
and p.name not in parameters
|
|
342
|
+
}
|
|
343
|
+
| parameters
|
|
344
|
+
| {var_positional.name: var_positional_values}
|
|
345
|
+
)
|
|
298
346
|
elif hasattr(fn, "__wrapped__") or (
|
|
299
347
|
isinstance(fn, partial) and hasattr(fn.func, "__wrapped__")
|
|
300
348
|
):
|
|
@@ -443,11 +491,20 @@ def process_v1_params(
|
|
|
443
491
|
|
|
444
492
|
type_ = Any if param.annotation is inspect.Parameter.empty else param.annotation
|
|
445
493
|
|
|
494
|
+
default = ... if param.default is param.empty else param.default
|
|
495
|
+
# `*args` and `**kwargs` accept any number of values, including none
|
|
496
|
+
if param.kind is inspect.Parameter.VAR_POSITIONAL:
|
|
497
|
+
type_ = list[type_]
|
|
498
|
+
default = []
|
|
499
|
+
elif param.kind is inspect.Parameter.VAR_KEYWORD:
|
|
500
|
+
type_ = dict[str, type_]
|
|
501
|
+
default = {}
|
|
502
|
+
|
|
446
503
|
with warnings.catch_warnings():
|
|
447
504
|
# Note: pydantic.v1 doesn't have the warnings module, so we can't suppress them
|
|
448
505
|
warnings.filterwarnings("ignore", category=DeprecationWarning)
|
|
449
506
|
field: Any = pydantic_v1.Field(
|
|
450
|
-
default
|
|
507
|
+
default=default,
|
|
451
508
|
title=param.name,
|
|
452
509
|
description=docstrings.get(param.name, None),
|
|
453
510
|
alias=aliases.get(name),
|
|
@@ -604,6 +661,23 @@ def raise_for_reserved_arguments(
|
|
|
604
661
|
)
|
|
605
662
|
|
|
606
663
|
|
|
664
|
+
def _evaluate_annotation(arg: ast.arg, namespace: dict[str, Any]) -> Any:
|
|
665
|
+
"""
|
|
666
|
+
Evaluate the annotation of a function argument parsed from source code.
|
|
667
|
+
|
|
668
|
+
Returns `inspect.Parameter.empty`, equivalent to no annotation, if the argument
|
|
669
|
+
is not annotated or the annotation can't be evaluated.
|
|
670
|
+
"""
|
|
671
|
+
if arg.annotation is None:
|
|
672
|
+
return inspect.Parameter.empty
|
|
673
|
+
try:
|
|
674
|
+
ann_code = compile(ast.Expression(arg.annotation), "<string>", "eval")
|
|
675
|
+
return eval(ann_code, namespace)
|
|
676
|
+
except Exception as e:
|
|
677
|
+
logger.debug("Failed to evaluate annotation for %s: %s", arg.arg, e)
|
|
678
|
+
return inspect.Parameter.empty
|
|
679
|
+
|
|
680
|
+
|
|
607
681
|
def _generate_signature_from_source(
|
|
608
682
|
source_code: str, func_name: str, filepath: Optional[str] = None
|
|
609
683
|
) -> inspect.Signature:
|
|
@@ -647,16 +721,7 @@ def _generate_signature_from_source(
|
|
|
647
721
|
# Handle annotations for positional only args e.g. def func(a, /, b, c)
|
|
648
722
|
for arg in func_def.args.posonlyargs:
|
|
649
723
|
name = arg.arg
|
|
650
|
-
annotation = arg
|
|
651
|
-
if annotation is not None:
|
|
652
|
-
try:
|
|
653
|
-
ann_code = compile(ast.Expression(annotation), "<string>", "eval")
|
|
654
|
-
annotation = eval(ann_code, namespace)
|
|
655
|
-
except Exception as e:
|
|
656
|
-
logger.debug("Failed to evaluate annotation for %s: %s", name, e)
|
|
657
|
-
annotation = inspect.Parameter.empty
|
|
658
|
-
else:
|
|
659
|
-
annotation = inspect.Parameter.empty
|
|
724
|
+
annotation = _evaluate_annotation(arg, namespace)
|
|
660
725
|
|
|
661
726
|
param = inspect.Parameter(
|
|
662
727
|
name, inspect.Parameter.POSITIONAL_ONLY, annotation=annotation
|
|
@@ -666,20 +731,7 @@ def _generate_signature_from_source(
|
|
|
666
731
|
# Determine the annotations for args e.g. def func(a: int, b: str, c: float)
|
|
667
732
|
for arg in func_def.args.args:
|
|
668
733
|
name = arg.arg
|
|
669
|
-
annotation = arg
|
|
670
|
-
if annotation is not None:
|
|
671
|
-
try:
|
|
672
|
-
# Compile and evaluate the annotation
|
|
673
|
-
ann_code = compile(ast.Expression(annotation), "<string>", "eval")
|
|
674
|
-
annotation = eval(ann_code, namespace)
|
|
675
|
-
except Exception as e:
|
|
676
|
-
# Don't raise an error if the annotation evaluation fails. Set the
|
|
677
|
-
# annotation to `inspect.Parameter.empty` instead which is equivalent to
|
|
678
|
-
# not having an annotation.
|
|
679
|
-
logger.debug("Failed to evaluate annotation for %s: %s", name, e)
|
|
680
|
-
annotation = inspect.Parameter.empty
|
|
681
|
-
else:
|
|
682
|
-
annotation = inspect.Parameter.empty
|
|
734
|
+
annotation = _evaluate_annotation(arg, namespace)
|
|
683
735
|
|
|
684
736
|
param = inspect.Parameter(
|
|
685
737
|
name, inspect.Parameter.POSITIONAL_OR_KEYWORD, annotation=annotation
|
|
@@ -705,16 +757,7 @@ def _generate_signature_from_source(
|
|
|
705
757
|
# Handle annotations for keyword only args e.g. def func(*, a: int, b: str)
|
|
706
758
|
for kwarg in func_def.args.kwonlyargs:
|
|
707
759
|
name = kwarg.arg
|
|
708
|
-
annotation = kwarg
|
|
709
|
-
if annotation is not None:
|
|
710
|
-
try:
|
|
711
|
-
ann_code = compile(ast.Expression(annotation), "<string>", "eval")
|
|
712
|
-
annotation = eval(ann_code, namespace)
|
|
713
|
-
except Exception as e:
|
|
714
|
-
logger.debug("Failed to evaluate annotation for %s: %s", name, e)
|
|
715
|
-
annotation = inspect.Parameter.empty
|
|
716
|
-
else:
|
|
717
|
-
annotation = inspect.Parameter.empty
|
|
760
|
+
annotation = _evaluate_annotation(kwarg, namespace)
|
|
718
761
|
|
|
719
762
|
param = inspect.Parameter(
|
|
720
763
|
name, inspect.Parameter.KEYWORD_ONLY, annotation=annotation
|
|
@@ -738,15 +781,21 @@ def _generate_signature_from_source(
|
|
|
738
781
|
parameters[parameters.index(param)] = param.replace(default=default)
|
|
739
782
|
|
|
740
783
|
# Handle annotations for varargs and kwargs e.g. def func(*args: int, **kwargs: str)
|
|
741
|
-
if func_def.args.vararg:
|
|
784
|
+
if vararg := func_def.args.vararg:
|
|
742
785
|
parameters.append(
|
|
743
786
|
inspect.Parameter(
|
|
744
|
-
|
|
787
|
+
vararg.arg,
|
|
788
|
+
inspect.Parameter.VAR_POSITIONAL,
|
|
789
|
+
annotation=_evaluate_annotation(vararg, namespace),
|
|
745
790
|
)
|
|
746
791
|
)
|
|
747
|
-
if func_def.args.kwarg:
|
|
792
|
+
if varkw := func_def.args.kwarg:
|
|
748
793
|
parameters.append(
|
|
749
|
-
inspect.Parameter(
|
|
794
|
+
inspect.Parameter(
|
|
795
|
+
varkw.arg,
|
|
796
|
+
inspect.Parameter.VAR_KEYWORD,
|
|
797
|
+
annotation=_evaluate_annotation(varkw, namespace),
|
|
798
|
+
)
|
|
750
799
|
)
|
|
751
800
|
|
|
752
801
|
# Handle return annotation e.g. def func() -> int
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/_launchers.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/bundles/execute.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/plugins/apply.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/plugins/manager.py
RENAMED
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/plugins/spec.py
RENAMED
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/sla/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/sla/client.py
RENAMED
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_experimental/sla/objects.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/client.py
RENAMED
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/device_id.py
RENAMED
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/emit.py
RENAMED
|
File without changes
|
{prefect_client-3.8.9.dev5 → prefect_client-3.8.9.dev7}/src/prefect/_internal/analytics/enabled.py
RENAMED
|
File without changes
|